将旧硬盘上的所有文件复制到新硬盘上

将旧硬盘上的所有文件复制到新硬盘上

我要将旧硬盘(已满 500GB)换成新硬盘(1TB)。我用它来备份所有文件,所以我只需要最好的方法将所有文件从旧硬盘复制到新硬盘,但我不想使用普通的文件管理器来传输文件,因为我认为这个过程会花费很长时间(我必须传输 500GB 的文件),那么有没有更好的方法呢?

例如,像这样的程序能clonezilla帮助我解决这种情况吗?

答案1

我会不是推荐dd用于此任务。它将逐个扇区复制原始磁盘数据;因此它仅在分区确切地大小和布局相同(否则会导致损坏)。然后您又有另一个几乎已满的分区,您必须扩展它……太乱了。如果源文件系统几乎已满,它可能非常碎片化,使用dd会将碎片复制过来。

rsync是一个不错的选择,但在这种情况下,考虑到您要本地复制到空白的新磁盘,我认为旧的cp就行(1)。将其用作(2)(3)

cd sourcedir; cp -av . /destdir 

...请耐心等待。这将重写所有文件,在此过程中,新文件系统的碎片化将比原始文件系统更好。

从速度角度来看,这应该会填满 I/O 缓冲区,然后复制将以磁盘(和总线)允许的最大数据传输进行。如果系统处于空闲状态,我认为任何方法之间的速度都不会有很大差异。


笔记:

(1) 警告:如果您有大量小文件,cp速度可能会很慢。对于这种情况,有一个老tar办法……但有点危险,所以如果您需要它,请询问。

(2)v此处表示详细,它将打印正在复制的每个文件。这会稍微减慢复制速度(如果您有很多小文件,则速度会大大减慢)。YMMV。

(3)如果有不同用户的文件,则需要说sudo cp...维护正确的所有权和模式。

答案2

你可以使用一些工具,例如克隆重做备份

或者您可以使用命令行工具,例如命令dd

dd if=/dev/sdXX of=/dev/sdXX bs=4096 

查看如何 dd

或命令rsync

rsync -av /mount-point-of-first-drive /mount-point-of-second-drive

根据@Rman,对于您的情况,最好使用 rsync。否则,如果您想使用,dd您应该指定要复制的硬盘大小,然后必须使用 更正分区大小gparted

相关内容