旧硬盘坏了之后将 /home 迁移到新硬盘,root 位于单独的驱动器上

旧硬盘坏了之后将 /home 迁移到新硬盘,root 位于单独的驱动器上

我的 Ubuntu 安装设置如下:我的操作系统位于内部 SSD 上,而/home我的/swap分区位于单独的内部 HDD 上,这两个都位于我的笔记本电脑上。

那个硬盘开始坏了,所以我换了它,但我不知道如何对新硬盘进行分区、编辑 fstab 等,以便将我的笔记本电脑恢复到以前的状态。
此外,我以前的/home目录是加密的,不过我可以稍后轻松完成。

任何帮助或之前问题的链接都将不胜感激。
我正在使用(或曾经使用过)Ubuntu 18.04。

答案1

您需要更大的磁盘并具有足够的空间来保存此操作的图像,但它将节省您的时间并解决其他问题:

  1. 连接旧硬盘并以只读模式安装,然后将cat旧的故障磁盘安装到更大的磁盘上(通常你会这样做,ddcat也可以这样做,而且速度更快)。该映像将作为备份。你可以这样做:
cat /dev/sda > /home/user/failing_hard_disk.image

(在这种情况下,我假设 /dev/sda 是你的故障硬盘,但如果它不再是主驱动器,最后的字母肯定会有所不同)

  1. 连接新的 HDD

  2. 将图像放回到新连接的驱动器上:

cat /home/user/failing_hard_disk.image > /dev/sdd

(我假设 /dev/sdd 是您连接的新驱动器,此操作将覆盖新磁盘上的所有内容,因此如果您在那里有宝贵的数据,请在运行此操作之前将它们复制到其他地方)

  1. 使用 gparted 调整 /dev/sdd 上剩余空间的大小(如果分区大小与新磁盘不匹配)

  2. 断开发生故障的驱动器(您也可以在制作映像后立即断开它,没关系,我们在制作映像后立即停止使用它)

  3. 重新启动并更改 bios 以从新磁盘启动

您的计算机现在的行为将与以前完全一样(相同的磁盘内容),而且它不会很快出现任何故障。

答案2

我尝试了 janmyszkier 的答案,但不幸的cat是无法实现(可能是因为我的旧硬盘有坏扇区),所以我最终做的是:

  1. 从 Live CD/USB 启动 Ubuntu 并选择“试用 Ubuntu”
  2. 将旧硬盘格式化为与旧硬盘相同的设置(即 ext4)
  3. fdisk -l使用(或 gparted,我也用它来格式化旧硬盘)找出哪个硬盘是哪个
  4. 通过执行以下操作来安装两个 HDD(新的 HDD 已安装在我的笔记本电脑上,旧的 HDD 使用 2.5 英寸外部 SATA 外壳通过 USB 连接):

    sudo mount -t ext4 /dev/sda1 /mnt/old_hdd # 注意,挂载的目录必须存在

  5. 用于rsync复制文件

    rsync -av --delete --info=progress2 /mnt/old_hdd/ /mnt/hdd

  6. 读一会儿书

  7. 更改了 fstab 中的 UUID,使其指向正确的/swap分区/home
  8. 启动后一切运行正常。

希望这能有所帮助。

相关内容