使用 dd 备份分区并更改文件

使用 dd 备份分区并更改文件

根据我的阅读,您可以像这样备份整个分区:

dd if=/dev/sda1 of=/media/external/backup

谁能告诉我在执行此操作时是否需要担心文件被更改?难道是在dd操作过程中某些关键的系统文件可能被更改,然后当你想恢复备份时,它就不起作用了?

我使用的是 Ubuntu 12.04。

答案1

不幸的是,当您像这样安装备份的文件系统时,这可能不安全。考虑这样的情况:

  • 您的备份已完成一半(即分区的前半部分已写入备份文件)。

  • 现在,您(或某个程序)制作了恰好位于分区另一半的文件的副本。文件系统对您的备份过程一无所知,但它决定分区开头留有一些空间,这就是您创建文件副本的地方。显然,您的备份不会包含此文件。

  • 现在,由于您认为您拥有该文件的副本,因此您决定不需要原始文件并将其删除。之后,您的备份过程会到达该文件所在的位置,并将该文件被删除的信息写入备份文件。

正如您所料,您最终的备份中将没有该文件的任何副本。这只是一个例子,这并不是可能发生的最糟糕的事情。

相关内容