我们的 Linux Mint 计算机中的一个 HD 表现得很奇怪(请参阅帖子末尾,但它不相关),因此我们决定更换它。我希望得到一些关于如何做到这一点的建议。磁盘(1TB)有两个分区,一个小的用于/var,另一个用于/home,占据了大部分磁盘(都是ext4,只有第二个有错误)。我们还有另一个带有 /boot、/ 和 swap 的磁盘,它们将保留在原处。
所以问题是:需要采取哪些步骤来用另一块磁盘(可能更大)替换该磁盘,并且只需最少的软件重新安装/配置?从备份开始...登录 Mint 并从那里复制是否足够,或者是否建议从 GParted Live 等进行复制?我想大多数软件文件和配置都在我们保留的分区中,所以我们不必担心这一点,但如果您认为这可能是一个问题,请对此发表评论...某些软件是安装很痛苦(不仅仅是从存储库获取东西),我们强烈希望避免重复这种情况。
磁盘的奇怪行为(也许并不那么奇怪)最终归结为多次使用来自 GParted Live USB 的以下命令:
e2fsck -f -c -c -k -C 0 /dev/sdb5
并且每次都会发现更多的坏块错误;最后一个我们得到了 244/0/0 和几个带有多重声明块的文件,当对克隆块的问题回答“是”时,会出现进一步的读取错误。也许高清仍然可以使用,但我们不想冒丢失数据的风险。
多谢
答案1
您可以使用另一台机器克隆旧硬盘。从原始计算机中移除旧硬盘,并通过 SATA 电缆将新旧硬盘连接到另一台 Linux 机器。然后启动这台机器并确保它识别两个驱动器。将旧硬盘(假设为/dev/sdb
)的内容复制到新硬盘(/dev/sdc
):
cat /dev/sdb > /dev/sdc
笔记使用cat
代替规范dd
。不仅cat
能够完美地处理二进制流(至少在所有现代 Linux 发行版中),而且它还会为副本选择优化的块大小,因此副本会更快。就可靠性而言,它与 一样可靠dd
。
复制完成后,您可以将新的硬盘安装在原机上,即可立即使用;您所有的软件和数据都将在那里。由于新硬盘较大,磁盘末尾会出现空白,因此需要使用分区工具(例如Gparted)在其中创建分区,然后进行格式化。
(注:文字取自我的回答如何将一个设备上的操作系统映像移动到另一个设备上?。当前问题无法标记为链接问题的重复项,因为后者没有已投票或接受的答案。)
答案2
好吧,最后而不是dd
像我发现的另一个答案中所建议的那样ddrescue
......
- 已安装http://www.system-rescue-cd.org在 USB 记忆棒上
- 又买了1TB硬盘并安装了
- 从棍子上启动并运行
ddrescue
(为此https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html非常有启发) - 将尝试修复由于 GParted/e2fsck 丢失块而导致的错误,但我不知道它将如何进行或从那里做什么;如果一切顺利的话,新磁盘应该透明地替换旧磁盘