在我搜索的每个地方,它们都会显示这样的命令:
sudo dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > /PATH/TO/DRIVE/backup_image.img.gz
。
但sdb
就我而言,是我的 Ubuntu 启动 USB,也是sdc
我的外部硬盘(我想要存储备份的磁盘)。我在外部硬盘中创建了一个“backups”文件夹来存储 的图像sda
,并且我很确定我不应该这样做sudo dd if=/dev/sda of=/dev/sdc/backups/image.img
。
那么,将 gzip 压缩的图像创建到外部硬盘上的文件夹中的正确命令以及将图像从图像恢复到的命令是什么sda
?
答案1
sudo dd if=/dev/sda conv=sync,noerror bs=64K
不要使用conv=sync,noerror bs=64K
.如果确实存在读取错误,dd 可能会损坏您的数据并且备份映像将毫无用处。
如果您预计会出现读取错误,那么坚持使用ddrescue
.否则,只需删除它conv=noerror,sync
,如果出现错误,您将收到正确的错误消息。
如果必须使用dd
这种方式,那么还要添加iflag=fullblock
.
sudo dd if=/dev/sda of=/dev/sdc/backups/image.img
这是初学者的误解...没有/dev/sdc/anything
。设备是/dev/sdc
,分区是/dev/sdc1
(或其他数字)。这些是块设备,而不是目录,因此不能有子目录。
如果该设备上有文件系统,为了访问该文件系统的目录结构和文件,您必须先挂载它:
mkdir /mnt/anywhere
mount /dev/sdc1 /mnt/anywhere
ddrescue /dev/sda /mnt/anywhere/backup_sda.img /mnt/anywhere/backup_sda.map
sudo dd
带有,不带 conv=noerror 的示例:
sudo dd bs=1M if=/dev/sda | gzip > /mnt/anywhere/backup_sda.img.gz
确切的命令取决于安装点的位置,替换/mnt/anywhere
为您选择作为安装位置的位置。如果它已经安装在某处,您可能可以在mount
、df -h
或之一中看到安装点lsblk
。