在 :
sudo dd if=/dev/sda bs=64k | pv --size 1.5t | dd of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)
dd 的块大小是在输入后的左侧还是输出后的右侧?
使用管道查看器大小选项,值前没有等号是否正确?可以使用如上所示的十进制值吗?
一些可能受益于审查的问题。
sudo dd if=/dev/sda bs=64k | pv --size 1.5t | dd of=/dev/sdb
首先,您可以(极大地)增加块大小并相应地增加吞吐量。我经常使用bs=32M
. 参数的顺序dd
无关紧要,因此:
sudo dd if=/dev/sda bs=1M
Run Code Online (Sandbox Code Playgroud)
接下来,是否指定--size
有或没有等号都没有关系。长参数(那些以双破折号开头的参数)通常并不挑剔。但是,快速尝试pv
表明该参数必须是整数。所以:
pv --size 1500g
Run Code Online (Sandbox Code Playgroud)
最后,值得为 指定一个大(输出)缓冲区dd
,并且您可能需要以 root 权限运行它。因为我们正在使用一个大缓冲区,所以在尝试将其写出之前确保我们已将其完全填满是值得的。所以你最终得到这个:
sudo dd of=/dev/sdb bs=1M iflag=fullblock
Run Code Online (Sandbox Code Playgroud)
把这一切放在一起,
sudo dd if=/dev/sda bs=1M | pv --size 1500g | sudo dd of=/dev/sdb bs=1M iflag=fullblock
Run Code Online (Sandbox Code Playgroud)