我要将旧硬盘(已满 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...
维护正确的所有权和模式。