dd真是个奇迹。它允许您将一个硬盘驱动器复制到另一个硬盘驱动器,将一个硬盘驱动器完全归零等。但是一旦您启动一个dd命令,就没有任何东西可以告诉您它的进度。它只是停留在光标处,直到命令最终完成。那么如何监控dd的进度呢?
我已经做了半个小时的阅读准备克隆我的硬盘。它有多个分区,包括一个 Windows 分区。我打算购买一个非常大的外置硬盘作为备份。我希望能够使用这个克隆来恢复整个驱动器,以防出现问题(我即将进行一些操作系统重新洗牌)。我想学习如何使用 dd 来做到这一点,因为我喜欢不需要安装任何东西的低级工具。
我从ubuntu 论坛找到了以下有用的代码(使用 live CD 从 root shell 输入):
dd if=/dev/hda of=/dev/hdb & pid=$!
while kill -USR1 $pid; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)
(我知道我必须编辑输入和输出位置。)但是我有两个问题。第一个很菜:这个命令被分成两行。当然,当我在感叹号后按 Enter 时,它会启动该过程吗?
二,在其他站点上,它建议输入块大小。像这样:
# dd if=/dev/hda conv=sync,noerror bs=64K of=/mnt/sda1/hda.img
Run Code Online (Sandbox Code Playgroud)
我对块大小一无所知。64K对吗?看起来我的块大小是以下 512 字节,sudo fdisk -ul 的输出:
Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): …Run Code Online (Sandbox Code Playgroud) 我想用我的 12.04 迁移到另一台机器。我已经找到了 dd 的方法,希望它对我有用。问题是我必须以某种方式连接两个驱动器才能进行实际克隆。我正在尝试 NFS。当我写在/etc/exports:
/dev/sda1 10.42.0.16(rw,async,subtree_check)
Run Code Online (Sandbox Code Playgroud)
并调用exportfs -a我最终出现以下错误:
exportfs: /dev/sda1 is neither a directory nor a file. Remote access will fail
Run Code Online (Sandbox Code Playgroud)
有什么线索可以解决这个问题吗?是配置问题还是 NFS 是死胡同,我必须使用不同的东西?