我在一块相当旧的 SSD 上安装了 CentOS。SSD
在系统日志中显示硬件问题。
我怀疑以下问题的答案是不,特别是由于超级块和引导扇区的位置,但是 -
是否可以在不同大小/型号的 SSD 之间成功克隆(使用 dd)Linux 操作系统磁盘?
具体来说,可以这样做吗?
$ dd if=/dev/oldSSD of=/dev/newSSD bs=64K conv=noerror,sync
答案1
那应该只要新的 SSD 更大就没问题,或者至少与旧 SSD 大小相同……您需要在字节级别比较容量,“500 GB“磁盘的容量不一定与另一个磁盘完全相同”500 GB“ 磁盘
然而,需要注意以下事项:
- 不要挂载源文件系统,或者至少以只读方式重新挂载所有内容。
- 旧 SSD 损坏或读取错误 - 大多数文件系统无法确定文件内容是否损坏或不正确。
- 文件系统与底层存储中的页面大小或对齐 - 例如,如果旧 SSD 有 2 kB 页面,而新 SSD 有 16 kB 页面。
- 一旦完成克隆,您可能需要调整分区和文件系统的大小以使用任何额外的空间。
- 如果是旧磁盘,则很可能是旧操作系统……您确定全新安装现代版本不是更好的解决方案吗?您以后仍然可以从旧 SSD 中提取数据。
- 磁盘和文件系统 ID 将相同,这可能会在尝试处理新/旧数据时导致问题 - 例如,参见
tune2fs -U random
ext2/3/4 文件系统。
如果您对源磁盘有怀疑,我可能会建议您ddrescue
,并确保您保留日志文件。
将传递的块大小增加到dd
约 4 - 8 MB 可以显著减少时间,这既是因为系统调用减少,也是因为匹配目标 SSD 的擦除块大小。它还可能减少目标 SSD 的磨损。