ubuntu系统grub引导修复

在linux调整分区后,开机重启时会出现
error : unknow filesystem
grub rescue>
的字样,系统就是进不去。这表示你的grub2的配置文件坏了……因为分区调整或分区UUID改变形成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。linux

在救援模式下只有不多的命令能够用:set , ls , insmod , root , prefixubuntu

(1)set 查看环境变量,这里能够查看启动路径和分区。
(2)ls 查看设备
(3)insmod 加载模块
(4)root 指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)prefix 设定grub启动路径
具体修复步骤以下:ide

一、查看分区:grub rescue> ls 回车
会出现以下字样:工具

(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)ui

注:上面是个人分区设备,每一个人可能不同,但原理都是同样的。grub> find /boot/grub/grub.conf 也行命令行

二、寻找ubuntu所在分区:
(就是寻找你的Linux系统是装在以上哪一个分区里)orm

grub rescue> ls (hd0,msdos1)/索引

若出现unknown filesystem字样,则尝试下一个……若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。it

三、修改启动分区:(假如你找到的启动分区是hd0,msdos8)class

rescue>root=(hd0,msdos8)

grub rescue>prefix=/boot/grub //grub路径设置
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
以后你就会看到熟悉的启动菜单栏了

四、进入命令行启动ubuntu

进入系统启动选项界面后仍是进不去,由于你尚未真正的修改grub,这个要到ubuntu里修改,进入系统启动项界面后,按C进入命令行模式。
grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里边的xxxx能够按Tab键,若是有acpi问题,在最后加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
这样就能够进入了

五、进入ubuntu修复grub

在终端里运行

sudo update-grub`
sudo grub-install /dev/sda
六、重启,搞定!!

注:有时只修改1~3步骤,而后在菜单栏就能够进入系统了,且一切正常。
在重启时,系统就只有一个光标在左上角不停的闪,咋也进不了系统。多是启动项的问题,开机启动项改成硬盘启动就行了。

法二:
首先制做 Ubuntu 启动 USB

复制代码代码以下:

sudo dd if=ubuntu-13.10-desktop-amd64.iso of=/dev/sdb1 #/dev/sdb1 为 USB 盘符
1.使用启动 USB 进入 Ubuntu 试用环境

2.查看硬盘分区情况,获取 Linux 系统安装分区编号
sudo fdisk -l

查看输出结果,而后根据文件类型和分区大小来断定 Linux 系统安装在哪块硬盘和安装的分区。个人电脑是在/dev/sda3安装了 Ubuntu。
或者,打开 Gparted 图形化工具来查看分区信息也能够。
挂载Ubuntu分区

3.已知Ubuntu安装在了/dev/sda3上,因此咱们能够用下面命令来挂载Ubuntu安装分区。你须要将/dev/sda3换成本身的 Linux 安装分区。
sudo mount /dev/sda3 /mnt

4.挂载其余所需的目录(使用 --bind)

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
5.Chroot 到硬盘上的 Linux 系统
代码以下:

sudo chroot /mnt chroot命令把根目录切换到指定目录下

6.安装&更新 Grub

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
7.Grub 已经修复成功,咱们还须要退出 chroot 环境、卸载已经挂载的设备与目录:

exit #退出 chroot 环境
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
8.重启。

能够进grub 这就好办了 >root (hd0,x) 提示: 输入(后 ,按 TAB键 自动补全 很好用的 。x表示你的linux根分区

linux /vmlinuz ro quiet initrd /initrd.lzboot先找到menu.lst菜单文件:find --set-root /boot/grub/menu.lst而后加载:Grub 命令索引configfile /boot/grub/menu.lst菜单文件能够换成grub.conf试试。

相关文章
相关标签/搜索