![Linux:克隆操作系统磁盘,没有空白空间,允许稍后恢复数据](https://linux22.com/image/1549313/Linux%EF%BC%9A%E5%85%8B%E9%9A%86%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%A3%81%E7%9B%98%EF%BC%8C%E6%B2%A1%E6%9C%89%E7%A9%BA%E7%99%BD%E7%A9%BA%E9%97%B4%EF%BC%8C%E5%85%81%E8%AE%B8%E7%A8%8D%E5%90%8E%E6%81%A2%E5%A4%8D%E6%95%B0%E6%8D%AE.png)
我有一个装有 Linux 操作系统的 SSD,但我目前没有使用它。SSD 通常放在我的台式电脑中,但我暂时不会使用它。
我想在笔记本电脑上使用 SSD 一段时间。由于它们仍然非常昂贵,所以我不太想再买一个,因为我这里已经有了一个非常好的 SSD。
我考虑过使用dd
克隆磁盘,以便将来需要恢复桌面系统时可以恢复它。但是它有 240 GB 大小,但目前只使用了 5 GB,所以理想情况下我希望能够在不使用所有这些空间的情况下克隆它。
如果我压缩输出 iso 映像,这可能吗?
我可以使用 rsync “复制”稍后需要的文件(包括隐藏文件?)吗?这只有约 5 GB 大小 - 但我能否正确恢复这些文件?例如,我可能需要在执行此操作时保留权限,以防止在将文件恢复到 SSD 时出现问题?
有没有更好的方法?
操作系统是 debian/ubuntu。
答案1
您只需要保存文件,剩余空间无关紧要(除非您稍后想要恢复文件),因此dd
类似工具会从 235GB(240GB 减去已使用的 5GB)开始,这实在是太多了。无需花费时间和精力以及 SSD 有限的写入寿命来尝试用零填充所有空白空间,只需备份 5GB 的文件即可。
rsync
并且它的--archive
旗帜也很好。
对于更小的备份,请使用 squashfs 映像。这是大多数实时 Linux ISO 所使用的。从另一个实时系统/ISO 运行也可以避免任何临时/正在使用/锁定文件。安装(例如/mnt
)后基本上是:
mksquashfs /mnt backup.squashfs
您可以使用可能更小且更慢的 xz 压缩:
mksquashfs /mnt backup.squashfs -comp xz -b 1048576
然后,当您准备好时,只需挂载并复制文件即可。由于它是随机访问的,因此也可以进行良好的常规备份 - 您不必扫描整个 .tar.xz 或
如果您要覆盖引导扇区(和 GRUB),您可能也想保存它的副本。对于 MBR,它只是前 512 个字节,因此dd
将其抓取到名为的文件中MBR.dd
:
dd if=/dev/sda of=MBR.dd bs=512 count=1
GPT 可以使用sgdisk
(参考 U&L 上的答案) 喜欢:
sgdisk --backup=<file> <device>
要恢复备份,请使用:
sgdisk --load-backup=<file> <device>
但是忽略分区表也很好,您将有机会创建和恢复到更小的分区(仅使用 240GB 中的 5GB),并且使用实时 ISO 恢复 GRUB 也很容易。