在两个本地硬盘之间传输文件系统的首选方式是什么

在两个本地硬盘之间传输文件系统的首选方式是什么

我想将已经运行 Ubuntu 10.04 LTS 一段时间的外部 USB HDD 迁移到笔记本电脑内部 HDD 上。

不幸的是,内置硬盘比外置硬盘小,所以我无法使用 dd 传输分区。但外置硬盘上的所有文件都可以放在内置硬盘上,因此复制所有文件是可行的。

在谷歌搜索和阅读之后这篇博文和它的所有评论,似乎 rsync -H 和 cp -a 都是很好的候选者,但我从未真正得到一个确认的答案,其中哪一个最快、最可靠等等。rsync 也适用于其他事物,但对于本地文件系统传输,cp 将是正确的选择,我的意思是这是 Unix,所以基本命令应该可以工作。

答案1

Rsync 旨在定期同步两个副本并高效地仅传输更改的部分。由于您只需要复制一次,因此 cp -a 就可以正常工作,尽管使用 rsync 应该可以获得相同的结果。

复制后,您需要编辑内部磁盘上的 /etc/fstab 并更新磁盘的 UUID。您可以使用以下命令查找磁盘的 UUID:

sudo blkid

然后你需要在内部磁盘上安装 grub。假设内部磁盘是 sda 并且你已将其安装在 /mnt 中,请执行以下操作:

sudo grub-install --root-directory=/mnt/ /dev/sda

这将使新磁盘可启动。

答案2

进行选择性备份时,请确保将 /var/cache/apt/archives 复制到新机器。这样,您就不需要重新下载所有软件包。

相关内容