如何在 Linux 上备份硬盘
如果您想备份硬盘,有一个简单的方法可以使用dd
命令来完成。 dd 命令行实用程序用于将文件或磁盘映像从一个位置复制到另一个位置。使用dd
,您可以将未安装的磁盘备份为(压缩的)磁盘映像,然后将其存储在单独的本地或远程磁盘中。以下是如何使用dd
命令备份和恢复硬盘。
先决条件:卸载磁盘分区
为了使用dd
备份磁盘分区,您应该首先卸载
该磁盘分区。已安装的硬盘可能具有各种文件系统活动,并且在此类活动系统上运行 dd 可能会捕获部分写入,这可能会导致磁盘映像损坏。但是,如果您要备份的磁盘是根分区,您可以从 Linux Live CD 启动,然后卸载根分区。
使用dd
备份磁盘分区
假设某个磁盘分区(/dev/sda
)已卸载,您可以使用以下命令对其进行备份。
$ sudo dd if=/dev/sda | gzip -c > /mnt/disk1/sda.img.gz
上面的命令克隆了/dev/sda
,使用gzip
压缩克隆的磁盘,并将压缩后的镜像存储在/mnt/disk1
中。
恢复保存的磁盘映像
要恢复保存的磁盘映像,可以使用以下命令,该命令与上述备份相反:
$ gunzip -c /mnt/disk1/sda.img.gz | sudo dd of=/dev/sda
将本地硬盘备份到远程主机以及从远程主机恢复本地硬盘
如果您想备份本地硬盘并将其直接移动到远程主机,您可以执行以下操作。
$ sudo dd if=/dev/sda | gzip -c | ssh [email _host "cat > /mnt/disk1/sda.img.gz"
上述命令执行磁盘克隆、压缩它,然后通过 SSH 将 gzip 压缩的映像安全地传输到远程主机。为了使其正常工作,您需要为 [email _host
启用无密码密钥身份验证。
要从远程位置恢复磁盘映像,请执行相反的操作,如下所示。
$ ssh [email _host "cat /mnt/disk1/sda.img.gz" | gunzip -c | sudo dd of=/dev/sda
有关更高级的磁盘映像备份/恢复选项,请查看 Clonezilla。