我有一台计算机在发行版升级期间意外关闭(Ubuntu 8.10 -> 9.04)。它现在无法完成启动 - 各种 X 错误,然后进入登录屏幕,但不允许登录。
我有它的备份,驱动器上的 /home 数据仍然正常,所以它不是紧急情况,但完全重建仍然是一个烦人且耗时的过程。有什么办法可以从中恢复吗?我有一张 9.04 的 CD,我正在讨论是否尝试在顶部安装 - 这是个好主意吗?
如果做不到这一点,是否有任何好的方法来检查驱动器并生成已安装软件的列表,甚至最好是来自外部 /home(如 /etc)的设置?
如果我必须从头开始,有什么建议可以与负责意外关机的人打交道吗?:)
编辑:非常感谢您的所有答案,我真的需要接受所有答案,因为我需要使用每个答案。我能够使用以下方法完全修复安装:
sudo dpkg --configure -a
sudo apt-get update
sudo dpkg --configure -a
sudo dpkg --configure -a --abort-after=99999
sudo apt-get dist-upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade
如果您可以到达可以以 root 身份使用 dpkg 的地方,则可以运行
dpkg --configure -a
但是,您可能会发现升级失败会爆炸,因此您可能需要:
尝试按 CTRL-ALT-F1 并查看是否出现命令提示符。看看您是否可以登录,然后尝试运行sudo apt-get dist-upgrade。这应该允许您完成升级。您可能会收到错误,因此您可能还需要尝试使用sudo dpkg --configure -a。
要获取已安装软件的列表,您可以运行命令dpkg --get-selections。如果将该命令的输出保存到文件中,则可以使用命令cat selections | sudo dpkg --set-selections然后使用命令sudo apt-get dselect-upgrade实际安装所有软件包。
如果您确实走这条路,您可能应该将 /etc 和 /home 文件夹备份到另一台设备。
第一行刷新您正在下载的 repo 的当前级别
第二行重新配置任何处于“坏”状态的包
第 3 行在那里,以防存储库在第 2 行的过程中“移动”到新版本。
第四行应该完成这项工作。
我能够从升级期间断电后 Xubuntu 无法启动的灾难性情况中恢复过来。POST 大约 10 秒后,Xubuntu 会因出现大量错误而停止(尝试在 grub 中加载“恢复”选项甚至也不起作用)。
因此,如果有人偶然发现这一点,我将从 Ubuntu 论坛发布一些信息,这些信息帮助我进入终端窗口,以便我可以使用上面发布的 Colin 和 Avery 命令。
---------- 剪断 ---------- 剪断 ---------- 剪断 ---------- 剪断 ------ ----
ubuntuforums.org/showthread.php?t=157250
假设您的系统在升级后刚刚崩溃,或者您的新内核无法启动。你不能用 apt-get 解决这个问题,因为你甚至不能进入命令行;内核只是吐出错误并在启动时挂起。值得庆幸的是,使用 live cd,您可以修复系统并使其启动并运行。Live cd 有 2 个选项:Knoppix 或 Ubuntu live cd。由于 Knoppix 通常具有更好的硬件检测,因此这里将用作示例。
您现在可以使用硬盘驱动器上的所有命令,包括 apt-get。如果您遇到此错误:“/dev/null: Permission denied”,请执行以下操作:“sudo rm /dev/null”,它应该会消失。现在,使用 apt-get 升级您的内核、udev 或其他任何破坏系统的东西。
---------- 剪断 ---------- 剪断 ---------- 剪断 ---------- 剪断 ------ ----
它也很完美!我按照说明安装了我的硬盘,打开一个终端窗口,输入“sudo chroot /media/hda1”,终于可以访问我的硬盘了。然后,我可以使用该线程前面发布的命令来重新启动升级过程。:)
难怪 Ubuntu Live/Installation CD 没有内置“恢复控制台”来促进整个恢复过程。
对我来说,另一个命令也有助于在 chroot 环境中正确配置所有包(在此之前运行
dpkg ,dist
等):