Ubuntu 11.04 在 grub 控制台处停止启动

Ubuntu 11.04 在 grub 控制台处停止启动

我全新安装了 ubuntu 11.04,然后安装了 Windows 7。因此,我决定在安装 win7 后使用 ubuntu 11.04 Live CD 修复 grub。

灾难:

代替

$ sudo grub-install --boot-directory=/media/uuid/ /dev/sda

我进入了

$ sudo grub-install --root-directory=/media/uuid/ /dev/sda

现在,当我的系统启动时,它会停在 grub 控制台

豬>

我的问题和这个完全一样http://aaron-kelley.net/blog/2011/04/grub-prompt-after-upgrade-to-ubuntu-11-04/但我无法解决我的问题。谢谢你的帮助。

答案1

我使用这些说明从未遇到过麻烦:
https://wiki.ubuntu.com/Grub2#Recover

首先,你必须从 Live CD 启动系统。然后

方法 3 - CHROOT

此安装方法使用 chroot 命令来访问损坏的系统的文件。一旦发出 chroot 命令,LiveCD 就会将损坏系统的 / 视为自己的。在 chroot 环境中运行的命令将影响损坏系统的文件系统,而不会影响 LiveCD 的文件系统。

1)启动 LiveCD 桌面(Ubuntu 9.10 或更高版本)。请注意,Live CD 必须与您正在修复的系统相同 - 32 位或 64 位(如果不是,则 chroot 将失败)。

2)打开终端(应用程序 > 附件 > 终端)。

3)确定您的正常系统分区 - (开关是小写的“L”)

sudo fdisk -l

如果你不确定,请运行

df -Th  

查找正确的磁盘大小和 ext3 或 ext4 格式。

4)挂载您的正常系统分区:

替换正确的分区:sda1、sdb5 等。

sudo mount /dev/sdXX /mnt  

例如:sudo mount /dev/sda1 /mnt

5)仅当您具有单独的启动分区时:sdYY 是 /boot 分区名称(例如 sdb3)

sudo mount /dev/sdYY /mnt/boot

6) 挂载关键虚拟文件系统:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

7) Chroot 进入你的正常系统设备:

sudo chroot/mnt

8)如果没有 /boot/grub/grub.cfg 或者不正确,请使用以下命令创建一个

更新 grub

9) 重新安装 GRUB 2:

替换正确的设备 - sda、sdb 等。不要指定分区号。

grub-安装/dev/sdX

10)验证安装(使用正确的设备,例如 sda。不要指定分区):

sudo grub-install --recheck /dev/sdX

11) 退出 chroot:键盘上的 CTRL-D

12) 卸载虚拟文件系统:

sudo 卸载 /mnt/dev/pts
sudo 卸载 /mnt/dev
sudo 卸载 /mnt/proc
sudo 卸载 /mnt/sys

13) 如果您挂载了单独的 /boot 分区:

sudo umount /mnt/boot

14) 卸载 LiveCD 的 /usr 目录:

sudo 卸载 /mnt/usr

15) 卸载最后一个设备:

sudo 卸载/mnt

16) 重启。

sudo 重启

答案2

以下是不使用 LiveCD 解决此问题的方法:

  1. 搜索根磁盘。

    grub> search -f /vmlinuz -s root

  2. 设置根磁盘。

    grub> root ($root)

  3. 使用这些命令来找出根磁盘的信息。

    grub> ls -l ($root)

  4. 设置Linux内核。有三种方法可以做到。

    1. 将红色数字更改为您的根磁盘编号。如果您的根磁盘是(hd0, msdos1),则使用/dev/sda1 grub> linux /vmlinuz root=/dev/sda1
    2. 将红色文本更改为您的磁盘标签,可以使用以下命令获取ls -l ($root) grub> linux /vmlinuz root=LABEL=LABEL
    3. 将红色文本更改为您的磁盘 uuid,也可以通过使用ls ($root) grub> linux /vmlinuz root=UUID=UUID
  5. 设置 ramdisk。

    grub> initrd /initrd.img

  6. 现在,您可以启动系统了。

    grub> boot

  7. 当您登录后,从终端输入此命令来修复您的 grub 菜单。

    $ sudo update-grub

答案3

解决此问题的另一种方法是使用启动修复程序:

使用 Ubuntu 11.04 Live CD 启动并打开终端,然后复制并粘贴:

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

然后进入应用程序->系统->启动修复来运行该程序。

相关内容