使用 dd 命令创建硬盘映像时出现额外空间问题

使用 dd 命令创建硬盘映像时出现额外空间问题

我在 1 Tb 硬盘上安装了 Ubuntu 操作系统。目前,已使用的硬盘空间约为 200 GB,空闲空间约为 800 GB。现在,我必须获取硬盘的完整(iso)映像进行备份,以便我可以在另一台计算机上使用这个(定制的)操作系统。通过我的搜索,我发现 dd 是实现此目的的最佳命令。在这方面我有几个问题

  1. dd 选择是正确的选项吗?如果没有,任何其他最佳选择
  2. 要制作图像,我需要完全相同大小的外部硬盘还是小尺寸也可以(因为现在使用的磁盘只有 200 GB)
  3. 我可以拍摄某个文件夹中的磁盘映像而不是外部硬盘吗
  4. 创建的备份文件可以在具有新硬盘的新计算机系统中启动

答案1

  1. dd 用于制作扇区精确克隆的工具。它是否是最佳选择,或者是否适用于特定场景,取决于其他要求。如果要求适合较小的设备,dd则为不是使用正确的工具。至少,不孤单,也不那么简单。

    它不分析其复制内容的结构。它不具备这样的能力。它所做的就是逐个扇区读取并以相同的顺序写入副本。它无法确定底层文件系统使用哪些扇区,或者即使存在任何文件系统。它只是将设备复制为块序列。

  2. 图像(副本)的大小与源的大小相同。原则上较小的设备可以接受较大的转储除非您使用某种即时压缩,这将节省零填充或可压缩块的空间。为了让它发挥作用,你需要准备通过用零真正填充所有未使用的块来恢复源文件系统,否则它们可能仍然包含过去使用这些块时留下的一些垃圾数据,这可能会导致压缩得不够好。

  3. 您不得转储为写入而安装的文件系统。如果这样做,转储期间的任何写入都会导致转储不一致,并且转储中的文件系统将被损坏。安排事情很容易,因此它们甚至无法恢复(在转储中)。因此,在复制之前,请使用只读选项重新安装它,或者祈祷它仍然处于良好状态。这意味着转储无法写入相同的文件系统或相同的设备,即使是压缩形式也是如此。您可以通过网络转储到另一个本地设备(内部或外部设备等),但不能转储到同一设备上。

    最好的比较是当你复制其他笔记本时:你可以坐下来用手重写它,因此重新排列以填充半填的页面,而不是复制描边文本或标记或任何你认为多余的东西,然后将其放入较小的笔记本中,并且甚至您可以将某些页面重写到同一笔记本的未使用部分;或者您可以进行“复印”复印,在这种情况下,您将获得原件的图像,并且它使用的纸张至少与原件一样多。而且您无法将纸张的一面复印到同一张纸的另一面上,即使它是空的。dd类似于这张复印件:快速、简单、残酷。

  4. 这时候dd就可以展现出一些实力了。它将结构与数据一起复制;克隆将与原始版本无法区分,因此如果原始版本可在计算机上启动,则克隆版本将启动。


要知道,如果你想复制Linux,你只需复制具有完全权限的文件即可。您需要创建对目标设备进行分区、创建文件系统、复制文件,然后设置该新设备的引导。如果您想有效地将​​自定义系统存储为图像文件,并且可以将其提取到任何足够大的设备上,那么这就是该tar工具的用途。人们使用dd系统克隆是因为尽管有其局限性,但它所需的工作量却大大减少。

相关内容