在grub界面按c可以进入grub命令行
使用ls命令,找到ubuntu系统安装的分区grub>ls
例如: (hd0)(hd0,msdos5)(hd0,msdos1)
msdosX表示各个分区
grub>ls (hd0,msdos1)/boot/grub
会显示出一些文件,则表示ubuntu安装在此分区,如果找不到grub文件可直接尝试 ls (hd0,msdos1)/grub
grub> set prefix=(hd0,msdos3)/boot/grub
grub> insmod normal
(或 grub rescue> insmod /boot/grub/normal.mod)grub> normal
就可以显示丢失的grub菜单了
进入Ubuntu中,对grub进行修复:
sudo update-grubsudo grub-install /dev/sda
(sda是硬盘号,不要指定分区号(sda1,sda3都不可以))
重启测试是否已经恢复了grub的启动菜单。
注:sudo vi /boot/grub/grub.cfg 可以修改 grub 的引导菜单。
附:如果在normal之后重启系统提示未载入kernel,就手动载入kernel
grub>linux (hd0,msdos3)/boot/vmlinuz-(kernel版本号) ro root=/dev/sda3 (msdos3就输入sda3)
[用命令 kernel (hd0,msdosx)/boot/vmlinuz-(kernel版本号) ro root=/dev/sdax 时 在Ubuntu中提示无kernel命令,现已不用kernel而改用linux。]
提示:输入到linux (hd0,msdosx)/boot/vmlinuz- (Tab命令补全)
grub>initrd /boot/initrd-(initrd版本号) 此版本号要和刚才设定的kernel版本号一致!
grub>boot
U盘修复Ubuntu系统
进入U盘Ubuntu后,选择不安装而直接试用体验Ubuntu,利用LiveCD,暂时进入系统,借以修复原有系统
进入系统后在线安装lilo和mbr:
Ubuntu@ubuntu:~$ sudo apt-get install lilo
使用lilo修复系统:
Ubuntu@ubuntu:~$ sudo lilo -M /dev/sda mbr
Ubuntu@ubuntu:~$ reboot
修复完成!