突然,我的分区出现了问题,或者只是一个分区。我有一个默认的 Ubuntu 安装,在金士顿 SSD 上,根文件系统用 LUKS 加密,(我认为使用 AES)。现在我正在尝试从 live cd 挂载分区,但没有运气。
我很害怕造成一些无法挽回的额外伤害。所以我想制作驱动器的精确副本。这意味着所有分区表,LUKS 分区的任何类型的元数据,以及我不知道的任何其他类型的元数据。我想我也希望所有的空块都绝对安全。
我知道dd if=/dev/sda of=/dev/sdb
,但我不知道它是否会包含所描述的所有数据。
也许我需要用 指定块大小-b
,但我不明白它是如何工作的以及为什么它是必要的(如果是的话)。而且我也不知道如何找到分区的块大小。
请告诉我它是否确实复制了所有数据,如果没有,是否还有其他方法。
做就是了:
cp /dev/block_device imgfile
Run Code Online (Sandbox Code Playgroud)
如果imgfile
将位于理解这些事情的文件系统上,GNUcp
应该默认稀疏地写入图像。不过,您可以指定您的偏好,例如...
cp --sparse=always /dev/sda imgfile
Run Code Online (Sandbox Code Playgroud)
dd
的主要用途在于它能够可靠地仅获取流的指定部分,或者它可以非常有效地将某些转换应用于相同的部分。如果您想要所有文件的 1:1 副本,那么就cp
可以了。