我希望回答这个问题并不复杂。
我有一台笔记本电脑,主 SSD 和辅助 HDD。它预装了 Ubuntu 20.04 并安装在 SSD 上,我将 /home 和 /var 安装在 HDD 上,并且使用了几个月都没有问题。然后硬盘发生了灾难性的故障。
我以为我有一个足够的备份策略(通过定期后台 rsync 到 NAS),但当 HDD 发生故障(efsck 上有 >25% 的坏扇区)时,我检查了 NAS,发现该作业已经默默失败了数周。我想这可能是由于磁盘有缺陷,现在无法判断。
因此:我有一个未损坏的 500GB SSD,其中包含:
- 一个很小的 EFi 分区
- 一个 495GB 的主 Ubuntu 分区(20.04)
- 4.3GB 交换分区
- 1.1MB 未分配
以及一个被丢弃的 1TB 硬盘,其分区如下:
- 500GB ext4 /dev/sda1,挂载为 /home
- 300GB ext4 /dev/sda2,挂载为 /var
- 200GB 未分配
我有一个保修期内提供的替换硬盘,但我不确定是否有办法保留主分区上安装的现有软件,并以某种方式使我的主目录与其同步(Ubuntu 中的软件管理器崩溃了,因为我的主目录是垃圾)。
(澄清一下:从主分区启动时,它会引导我完成几个“全新用户”对话框,然后软件管理器报告“结构需要清理”并停止。从 USB 驱动器上的便携式 Ubuntu 22 启动时,我根本无法挂载 HDD 分区。)
我最好的选择就是对所有东西进行全新安装吗?
如果我确实要完全重新安装,是否有工具可以分析我的主分区并准确识别安装了哪些软件包?因为据我所知,访问该信息的正常方式需要访问一些不再可访问的文件。
感谢您提供的任何建议(除了定期测试您的备份之外)
干杯,T
答案1
在发生您所描述的灾难性磁盘崩溃后,默认的图形工具将无法修复您丢失的主目录。
更换磁盘并创建必要的缺失分区和目录(例如 /home 和 /var )后,您将需要进行编辑,/etc/fstab
以便它可以在启动时找到新设备,或者删除或注释掉 fstab 条目(如果将它们合并到根分区)。
/var 中的某些目录将被自动重新创建,但其他目录您可能需要从备份中恢复或执行某些操作来手动触发它们的重新创建。
您还必须创建主目录,方法是从备份中恢复或从中复制默认配置文件/etc/skel/
。无论哪种情况,之后您都可能需要更改主目录的所有权和权限,以确保它们正确无误。