![当我没有足够的可用空间来制作映像并复制文件时,安全地恢复磁盘](https://linux22.com/image/1539252/%E5%BD%93%E6%88%91%E6%B2%A1%E6%9C%89%E8%B6%B3%E5%A4%9F%E7%9A%84%E5%8F%AF%E7%94%A8%E7%A9%BA%E9%97%B4%E6%9D%A5%E5%88%B6%E4%BD%9C%E6%98%A0%E5%83%8F%E5%B9%B6%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E6%97%B6%EF%BC%8C%E5%AE%89%E5%85%A8%E5%9C%B0%E6%81%A2%E5%A4%8D%E7%A3%81%E7%9B%98.png)
我有一块2.7T的硬盘,最近出现了一些问题,所以又买了一块3.6T的新硬盘。
旧驱动器在单个 ext4 文件系统中包含大约 2.4T 的数据(许多文件是硬链接的)。
我看到的解决此类问题的通常推荐方法是使用 制作磁盘映像ddrescue
。但是这个映像文件的大小自然是 2.7T,剩余空间为 0.9T。我在其他磁盘上还有 0.5T 的空间,但这显然不足以将数据从映像中复制出来。
我不知道在哪里可以找到额外的 1T 空间来放置其余文件。所以显然我需要找到其他方法。
- 一种可能的方法是将映像直接写入
/dev/sd?1
新磁盘,然后调整其大小。但这听起来很危险,因为它可能会使新磁盘的文件系统损坏。 - 也许一些
rsync
命令cp -a
可以解决这个问题?某些其他答案提到这rsync
可能会损坏磁盘,但也许有一些方法可以降低这种情况发生的可能性。 - 也许存在一些实用程序可以从图像中复制数据,同时缩小图像文件?
将数据从旧磁盘复制到新磁盘的最佳方法是什么?我认为以下命令可以做到这一点:
rsync -aHX --info=progress2 --partial /media/ext_drive/* /media/4tb
将旧磁盘以只读模式安装到/media/ext_drive
并将新磁盘安装到后/media/4tb
。
答案1
如果您可以将新磁盘连接到计算机,只需将旧磁盘直接克隆到新磁盘即可。如果您没有可用于新磁盘的内部托架,您可以购买 USB 外壳来放置它(复制速度会更慢)。
一个可以提供帮助的工具是免费的克隆兹拉。