Windows7+Ubuntu修复Grub

windows7+ubuntu11.10双系统,由于某原因重装了win7,导致启动引导丢失,在网上参考了很多还是没找到办法,最后用了XP Win7 及Ubuntu的引导修复的方法才修复好,具体步骤如下:

1.制作ubuntu的U盘启动,参考

2.重启后选择U盘启动(笔记本按F12)

3.进入Ubuntu后ctrl+Alt+T打开终端,输入:

sudo -i       #授权
fdisk -l #查看分区,-l是小写L

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800    7  HPFS/NTFS/exFAT
/dev/sda2          411648    63344294    31466323+   7  HPFS/NTFS/exFAT
/dev/sda3      1434206208  1465149167    15471480   12  Compaq diagnostics
/dev/sda4        63344356  1434206207   685430926    f  W95 Ext'd (LBA)
Partition 4 does not start on physical sector boundary.
/dev/sda5        63344358   377945189   157300416    7  HPFS/NTFS/exFAT
Partition 5 does not start on physical sector boundary.
/dev/sda6       377945256   692562149   157308447    7  HPFS/NTFS/exFAT
/dev/sda7       692563968   892561407    99998720   83  Linux
/dev/sda8       892563456   892854271      145408   83  Linux
/dev/sda9       892856320   896854015     1998848   82  Linux swap / Solaris
/dev/sda10      896856064   966854655    34999296   83  Linux
/dev/sda11      966856704  1366855679   199999488   83  Linux
/dev/sda12     1366857728  1434206207    33674240   83  Linux
*boot分区只有150M左右,Blocks最小的也就是boot了
我安装Ubuntu时已把boot单独分出来了,要是没有则参考
mount /dev/sda7 /mnt    #查看ls /mnt
mount /dev/sda8 /mnt/boot #/boot是单独在一个分区需要那个分区挂到/mnt/boot上 确保/boot是否挂上,使用 ls /boot来查寻
grub-install --root-directory=/mnt /dev/sda (注意/mnt前面没有空格,而 /dev前面有一个空格)
*出现"Installation finished. No error reported."时说明已经安装成功了
reboot 重启便可看到引导了

4.重启进入了grub命令行

grub >ls                         #可查看各分区情况,找到你的boot分区,grub下sda8我的boot分区名变成msdos8了
...
grub >set #输入set后会出现一段提示
...
grub>set root=hd0,msdos8
grub>set prefix=(hd0,msdos8)/grub #查看(hd0,msdos8)下的文件ls (hd0,msdos8)/
grub>insmod /grub/normal.mod
grub>normal
grub常用命令help、ls、root、search、linux、boot、halt、reboot 等,grub参考,grub修复步骤参考
5.选择ubuntu引导
编辑/boot/grub/grub.cfg
在ubuntu livecd下mount /dev/sda8 /mnt
sudo chmod +w /mnt/grub/grub.cfg
sudo gedit /mnt/grub/grub.cfg
set default="5" #默认启动win7
...
set timeout=1
6.对grub进行修复
sudo update-grub
sudo grub-install /dev/sda
*#每人的配置安装不一样,具体情况具体分析,本文仅供参考
原文地址:https://www.cnblogs.com/wen12128/p/2264905.html