如何恢复 Linux 启动分区?

如何恢复 Linux 启动分区?

首先,我是一个 Linux 新手(我使用 Linux 大约四五年了,但只是在遇到问题时才修复,尽管通常我只是重新安装所有内容)。

我最近安装了 kubuntu 9.04,然后升级到最新的 Kubuntu (10.4)。一切顺利,我已经使用了大约两周,一切正常。

在最新的安全/错误修复更新之后,引导加载程序已损坏。

我的问题:

我可以从 9.04 启动 CD/DVD 恢复它吗,还是需要一个特殊的救援系统?

我是否应该获取一张新的 10.4 版实时 DVD 并从那里进行修复?

还,我实际上需要修复什么?我需要什么实用程序?(我的步骤应该是什么?)

谢谢 :)

答案1

(K)ubuntu 10.04 使用 Grub2,好消息是您可以通过从 Live CD 启动来恢复引导加载程序配置和 MBR。请参阅说明这里- 尽管标题听起来好像仅与从 Windows 安装中恢复有关,但那里的步骤允许您在系统上重新安装相应的引导加载程序。

顺便说一句,我认为由于您已从 Kubuntu 9.04 升级,您的系统可能仍将使用旧版 grub 引导加载程序。请检查这里如何升级到 grub2。这完全是可选的 - 那里有一个说明,说明为什么当您从 9.04 升级到 10.04 时,正常的升级过程不会更改引导加载程序。

如果您需要更多信息,请发表评论。

答案2

通常,恢复 GRUB(在 Ubuntu 的最新版本中,即 Grub2)的过程描述得比较复杂。事实上,它非常简单。简而言之,启动过程可能由于以下一个(或两个)原因而中断:

  • Grub 未安装到您的驱动器的引导扇区(“主引导记录”或 MBR)或者已被损坏(这可能是由多种原因造成的,包括安装 Windows)。

    注意:Grub 可以安装到启动盘的 MBR 或分区的“卷引导记录”中。大多数情况下,您希望将其安装在 MBR 中。

  • 您的 grub 配置 ( grub.cfg) 错误或已损坏。在 Ubuntu 上,此文件已为您生成(见下文),因此您无需亲自修改,但您可以使用 手动重新创建它update-grub

我建议关注这些说明在“通过 Live CD 恢复 Grub2”一节中。那里描述的过程处理了两个问题源。以下是您将执行的任务:

  • 从可运行的 Linux 系统开始,最好是最新的 Ubuntu 安装光盘,同时也是 Live CD。您可以不是需要使用您正在使用的 Ubuntu 变体或版本的 Live CD。旧版本也可以。Live CD 仅用于访问您的硬盘。
  • 找出保存启动目录的分区的名称,例如“/dev/sda1”。在几乎所有情况下,这只是您安装 Ubuntu 的 Linux 分区。
  • 将该分区挂载到/mnt挂载点并 chroot 到挂载点。请注意,这意味着您将获得一个 shell,其外观和行为就像您正常启动系统一样。您可以执行许多在常规系统上可以执行的操作,例如安装软件包和编辑配置。

    您可能不需要 chroot,只需使用update-grubLive CD 提供的以及开关即可--root-directory。但知道如何 chroot 到系统分区是一项有用的技能,并且该过程更加可靠。

  • 检查/etc/default/grub那里是否有问题(通常应该没问题)。
  • grub.cfg通过运行来再生update-grub
  • 运行 安装 grub 到硬盘grub-install。这是关键的一步。

然后您可以重新启动,系统应该会重新启动。有关详细信息,请参阅关联最后,请注意,虽然后面三个执行“绑定”挂载的命令是必需的,但“如果 /boot 在单独的分区上”前面的步骤在正常情况下是不需要的。

答案3

根据您遇到的确切错误,您可能还必须禁用可能导致损坏的一些 Windows 工具(Dell DataSafe Local Backup 等),以防止再次发生损坏。以下是相关的错误报告:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/482757

相关内容