本文针对单个硬盘的主机,分为三步。
第一步:
使用liveCD或者u盘引导电脑进入ubuntu,这里最好是确保二者的系统版本一致。
菜单 System -> Administration ->Disk Utility 查看ubuntu的根分区号,例如 /dev/sda6.
【如果独立挂在 boot分区,则记住 boot分区的分区号】
通过快捷键 CTRL+ALT+T调出终端,
执行命令:
sudo -i
mount /dev/sda6 /mnt写下下面这条命令的结果:
uname -r执行命令:
grub-install --root-directory=/mnt /dev/sda重启电脑。
第二步:
如果为ubuntu9.10的系统,系统重启后可能出现的就是黑屏shell输入界面:
sh:grub>此时执行如下命令来查看分区情况,了解boot所在的分区号:
ls -l根据结果,再执行
sh:grub> root (hd0, 6)备注:上面的6是根据具体情况查看得到的。
接着执行:
sh:grub> linux /boot/vmlinuz-2.6.35-22-generic root=/dev/sda6备注:此处2.6.35-22-generic是上面提到的 uname -r的执行结果。
接着执行:
sh:grub> initrd /boot/inttrd.img-2.6.35-22-generic执行下面的指令进入系统:
sh:grub> boot如果为ubuntu-10.10的系统,重启时此时是可以看到重装系统以前的引导菜单。
选择ubuntu系统启动。
第三步:
通过快捷键 CTRL+ALT+T调出终端,
执行命令:
sudo update-grub2
如果是ubunt-9.10的系统,则再继续执行下面的指令:
sudo grub-install /dev/sda
到此,修复完成。
jason@ubuntu:~$ sudo update-grub [sudo] password for jason: Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.35-22-generic Found initrd image: /boot/initrd.img-2.6.35-22-generic Found memtest86+ image: /boot/memtest86+.bin Found Windows 7 (loader) on /dev/sda1 done