删除 Kubuntu 并调整分区大小后,Ubuntu 12.04 出现启动问题

删除 Kubuntu 并调整分区大小后,Ubuntu 12.04 出现启动问题

我的台式电脑上安装了 Ubuntu 12.04 LTS 64 位,直到不久前它还运行良好。我尝试从电脑中删除 Kubuntu 安装并使用 11.10 Live CD 调整 Ubuntu 分区大小后重新启动进入 Ubuntu。重新启动后,grub 显示黑屏并显示

错误:没有这样的分区
grub rescue >_

我再次启动了我的 Live CD,Ubuntu 仍然安装着,我的所有数据也还在。我仍然无法启动 Ubuntu。我该怎么办?

答案1

看起来 Kubuntu 仍然控制着 GRUB。当你删除它时,你也删除了 grub 启动所需的文件。幸运的是,这应该很容易修复。

由于您已经在 Live CD 上,我认为最简单的方法是 chroot 到您的安装并运行 grub 安装脚本。首先在文件浏览器中打开您的 Ubuntu 安装(您的根分区,其中包含“etc”、“usr”和“home”等文件夹)以挂载它。

现在打开一个终端。

找到山点

在终端中输入mount这将打印出几行。查找其中提到您的 ubuntu 安装的行/media。它看起来像:

/dev/sda1 on /media/disk type ext4 (rw,relatime)

在上面的例子中,设备是/dev/sda1,挂载点是/media/disk。记下这一点,因为我们稍后会用到这些信息。

设置 Chroot

我们需要设置 chroot。这意味着我们将从 LiveCD 链接一些系统文件夹到您安装的系统。为此,请将以下文本粘贴到终端中,但将其替换/media/disk为您之前找到的挂载点:

for i in sys dev proc; do sudo mount --bind /$i /media/disk/$i; done

上述命令运行以下三个命令:

sudo mount --bind /dev /media/disk/dev
sudo mount --bind /sys /media/disk/sys
sudo mount --bind /proc /media/disk/proc

这会将 /sys、/dev/ 和 /proc 绑定到 /media/disk 上的相同文件夹。这意味着 /media/disk/dev/ 实际上是 /dev/

现在我们准备 chroot。在终端中输入chroot /media/disk,其中 /media/disk 是您的挂载点。

您现在应该会看到一个 root shell(提示符应该以 # 结尾)。此处执行的任何命令都仅限于您安装的分区,并且(大多数情况下)将像在安装的系统上一样运行。

修复引导加载程序

现在我们需要安装引导程序。在终端中,粘贴以下两行:

grub-install /dev/sda
update-grub

笔记:这假设您的计算机中只有一个驱动器。如果您有两个驱动器,或者您正在从 LiveUSB 驱动器运行,请确保将/dev/sda上述命令中的设备替换为上面“查找挂载点”部分中的设备。不要在设备末尾添加数字。例如,如果您的分区的设备是/dev/sdb2,那么您应该使用grub-install /dev/sdb

就这样!如果这些命令完成且没有错误,则重新启动计算机。

答案2

尝试从实时 CD 启动重新安装 grub?

答案3

请启动 Live CD,然后选择“试用 Ubuntu”。打开终端并运行:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

出现提示时按 Enter。完成后,运行

sudo apt-get install -y boot-repair && boot-repair

并使用默认设置。最后会给出一个链接。请告诉我们这个链接,以便我们帮助诊断。

相关内容