当驱动器大小不同时进行备份然后恢复

当驱动器大小不同时进行备份然后恢复

我想将 Windows 10 机器(256gb 内置驱动器)备份到外部 SSD 驱动器(1 TB)上...但是,如果我使用 Ubuntu LiveUSB 记忆棒启动,然后发出 linux 命令dd来执行此备份,稍后当我尝试恢复时,它会抱怨当我尝试从 1TB 外部 SSD 恢复到 256gb 内置驱动器时?

# dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress  
dd if=/dev/sda of=/dev/sdb bs=64K  status=progress  

我希望备份整个驱动器,而不仅仅是其文件。这是新安装的 Windows 10,其中没有任何文件...我的目标是能够按原样恢复整个驱动器,尤其是在我重新格式化其内部磁盘之后

我会进行实验来找到上述问题的答案,但我刚刚用完了一个备用的 256gb 驱动器...一旦我了解更多信息,我将稍后更新此票...

答案1

  1. 不使用dd conv=noerror,sync除非你知道自己在做什么。

  2. 如果你怀疑源驱动器可能有故障,那么使用 GNUddrescue。如果您不想ddrescue并且知道驱动器很好,那么使用dd或者cat, 或者pvcp或任何其他

  3. 您的目标磁盘要大得多,而且您不会从中启动。在那里创建一个文件系统,挂载它。然后写入文件系统中的常规文件。文件系统可能是 NTFS,您也可以将其用于其他文件。如果已经有一个您要销毁的文件系统,也许您不需要销毁它。重点是:您不需要整个磁盘,您可以写入常规文件。

    如果您只了解 Windows,那么简单地将块设备的内容复制到常规文件(或反之)的功能可能看起来很奇怪。花些时间使用 Linux,您会发现这很自然。更多见解请见此处:外行人如何解释“一切皆文件”——与 Windows 有何不同?尤其这个答案其中详细说明了“驱动器与设备文件”。

  4. 您要写入的常规文件可能在文件系统中占用较少的空间。请参阅仅从硬盘克隆正在使用的空间一些(可选)想法。

  5. 时间到了,使用ddrescueddcat或 或pvcp或 ... 通过读取常规文件并写入原始设备进行恢复。

但是如果你决定不使用常规文件并选择dd if=/dev/sda of=/dev/sdb …(或等效命令),并成功复制/dev/sda(较小)直接地/dev/sdb(更大),sdb则将包含来自 的数据的精确副本sda,以及超出 大小的一些旧内容sda。稍后,您可以通过反向复制来恢复,在某个时候,您将得到类似“设备上没有剩余空间”的信息。这是预料之中的,并且仅表示复制过程已到达目标(较小)设备的末尾,即它传输回了您希望它写入的确切字节数,即较小设备的整个大小。较大设备的“多余”容量不会到达较小设备,因为没有空间。

相关内容