我想将 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
不使用
dd conv=noerror,sync
除非你知道自己在做什么。如果你怀疑源驱动器可能有故障,那么使用 GNU
ddrescue
。如果您不想ddrescue
并且知道驱动器很好,那么使用dd
或者cat
, 或者pv
或cp
或任何其他。您的目标磁盘要大得多,而且您不会从中启动。在那里创建一个文件系统,挂载它。然后写入文件系统中的常规文件。文件系统可能是 NTFS,您也可以将其用于其他文件。如果已经有一个您要销毁的文件系统,也许您不需要销毁它。重点是:您不需要整个磁盘,您可以写入常规文件。
如果您只了解 Windows,那么简单地将块设备的内容复制到常规文件(或反之)的功能可能看起来很奇怪。花些时间使用 Linux,您会发现这很自然。更多见解请见此处:外行人如何解释“一切皆文件”——与 Windows 有何不同?尤其这个答案其中详细说明了“驱动器与设备文件”。
您要写入的常规文件可能在文件系统中占用较少的空间。请参阅仅从硬盘克隆正在使用的空间一些(可选)想法。
时间到了,使用
ddrescue
或dd
或cat
或 或pv
或cp
或 ... 通过读取常规文件并写入原始设备进行恢复。
但是如果你决定不使用常规文件并选择dd if=/dev/sda of=/dev/sdb …
(或等效命令),并成功复制/dev/sda
(较小)直接地到/dev/sdb
(更大),sdb
则将包含来自 的数据的精确副本sda
,以及超出 大小的一些旧内容sda
。稍后,您可以通过反向复制来恢复,在某个时候,您将得到类似“设备上没有剩余空间”的信息。这是预料之中的,并且仅表示复制过程已到达目标(较小)设备的末尾,即它传输回了您希望它写入的确切字节数,即较小设备的整个大小。较大设备的“多余”容量不会到达较小设备,因为没有空间。