我目前有一个出现故障的硬盘驱动器,它是机器中唯一的硬盘驱动器。我刚买了一个新硬盘来更换,我的计划是将旧硬盘的内容复制到新硬盘上,然后将机器中的旧硬盘更换为新硬盘。
我大概不能只复制整个目录结构(或者我可以)?假设有可能,我需要做什么来管理这个?是否有实用程序可以为我执行此操作?(旧驱动器有望再使用几个小时。)
(我希望通过这种方式将所有软件和配置文件保持原样,以避免必须重新安装所有内容。可以这样做吗?)
是的,可以 100% 精确复制您的 HDD,并且可以完整地保留您的所有文件、数据和系统配置。而且,正如您已经正确猜到的那样,简单地复制文件是行不通的。(它可以做到,但不值得为做对而烦恼)
高清克隆工具是您最好的选择。有几十种可用。
如果是这样,我推荐好老dd。它是一种用于克隆 HDD 的单行、基本、古老的解决方案。但它有效,而且非常简单。dd也预装在 Ubuntu 中。
System > Administration > gparted(磁盘工具也可以),记下哪个是旧硬盘,哪个是新硬盘(sda、sdb 等)。

dd如果您使用错误的字母,我们将毫不留情。dd通常被称为“ d isk d estroyer”是有原因的!从现在开始,我会假设旧的是/dev/sdX,新的是/dev/sdY。检查您的实际值!(我已经说过了吗?)
使用终端,发出所有硬盘克隆器的祖父:
sudo dd if=/dev/sdX of=/dev/sdY bs=1M
Run Code Online (Sandbox Code Playgroud)bs=1M是可选的,只是为了提高性能。最佳值取决于您的驱动器/缓存/cpu/ram。常用的值为4K、64K、1M、16M。在 1GB 测试中亲自尝试(分别添加count=256K、16K、1K、64)。对于我的机器,从 4K 到 32M 的任何内容都会导致非常相似的结果。
如果你想监控副本,你可以试试这个花哨的版本:
sudo su - # neccessary to get correct pid
dd if=/dev/sdX of=/dev/sdY bs=1M & pid=$!
while kill -USR1 $pid 2>/dev/null; do sleep 10; done
Run Code Online (Sandbox Code Playgroud)它将每 10 秒输出一次 dd 的进度。
复印后程序:
dd制作精确副本,分区将具有相同的大小。如果新硬盘比旧硬盘大得多,请使用 gparted 扩展分区以声明未使用的空间。小智 5
我过去使用过“clonezilla”,我和你有同样的问题,但我的系统上有 xp 和 ubuntu 9.04,只要新驱动器更大或相同,它就会将驱动器克隆到新驱动器. 这是 youtube 上的一些关于如何使用它的视频。它是免费的,并且多次救了我的屁股。