双系统重新安装后修复引导xp、win7、ubuntu

本文针对单个硬盘的主机,分为三步。

第一步:

使用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


你可能感兴趣的:(linux)