所以我想获取我的 SSD/HDD 的磁盘映像,但我希望我的磁盘映像与我的物理硬盘的每个位/信息完全相同。(这样,如果有文件被删除但可恢复,那么如果磁盘映像被重新复制到 HDD,那么这将是相同的。- 所以碎片保持不变。)
可以使用 dd 完成此操作吗?这与 dd 块大小有关吗?
答案1
这就是它dd
的作用 - 一点一点地复制整个硬盘,所以它会完全按照你的意愿进行(块大小与此无关)
但是,具有支持 TRIM 的文件系统的 SSD 可能会重用已删除的块进行磨损均衡,因此即使文件系统未被覆盖,已删除的文件也可能无法恢复,但映像中的数据dd
将与映像创建时 SSD 上的可读数据相同dd
。
答案2
只需补充一下 mulaz 所说的内容:
虽然可以dd
准确复制驱动器的内容(包括已删除的文件),但由于 HDD 和 SSD 上存储数据的方式不同,SSD 上的磨损均衡器会将内存芯片上位的实际位置从用户呈现的状态中抽象出来。
虽然这对用户完全没有影响,但需要注意的是,文件系统上的任意地址并不与芯片上的实际物理地址相对应。
此外,HDD 的分区可能没有对齐,这可能会导致 SSD 无法识别数据,但这并不意味着数据不存在且无法使用 读回dd
。
另外 (2),如果您的 SSD 比 HDD 大,您将必须随后手动扩展分区以利用剩余空间。
另外 (3),如果您的 SSD 比 HDD 小,那么 HDD 中的数据不会全部写入其中,当尝试访问它时,您将收到读取 IO 错误...但我想您已经意识到了这一点并且已经预料到了。