是否可以制作系统的热拷贝?

Gaë*_*bin 10 grub2 backup dd

我想在不关闭系统的情况下备份我的系统。系统克隆也应该能够在其他机器上运行。

我试图在另一个磁盘上“dd”整个系统分区,之后我确保没有启动管理任务。我想我必须告诉 grub 在该磁盘上启动,所以我执行了命令:

grub-install  /dev/sdc1 
Run Code Online (Sandbox Code Playgroud)

但我收到了这个错误:

The file /boot/grub/stage1 not read correctly.
Run Code Online (Sandbox Code Playgroud)

我知道我做的不是很干净,所以你有一个很好的解决方案来达到我的目标或解决grub问题的想法吗?

psu*_*usi 8

有几个选项,每个选项都有权衡。您不能dd在文件系统以读/写方式挂载时克隆文件系统,否则克隆最终会损坏,因为在复制期间源正在更改,因此目标将部分过时而部分未过时。如果您真的希望能够使用dd热复制分区,则可以使用LVM快照来实现。这要求您首先使用LVM安装系统,然后您可以随时创建快照,并且由于快照已冻结且未挂载,因此您可以安全地创建dd快照,然后删除快照。使用的另一个缺点dd是它浪费时间复制卷中所有未使用的空间,并且要求目标至少同样大,即使大部分源未使用。

dd您可以简单地使用传统的备份工具(例如tar或 )dump来备份快照,而不是使用。这样做的好处是不浪费时间复制可用空间,而且只要有文件空间就可以恢复到较小的分区。您还可以仅提取部分文件以进行部分还原。您也不必通过这种方法使用LVM:只要您有理由确定在进行备份时没有文件被修改,就可以安全地在已挂载的文件系统上进行。可能发生的最糟糕的事情是在备份期间修改的单个文件将被损坏,而不是整个备份被损坏,就像使用dd.

正如您似乎已经意识到的那样,在恢复文件系统后,您仍然需要重新安装 grub 才能启动系统。我不确定为什么您在尝试时会遇到该错误,但您似乎正在使用 grub-legacy,因为 grub2 没有 stage1。