本文适用:装有win+ubuntu的双系统(ubuntu是硬盘安装的)由于重写mbr导致开机直接进入windows,丢失ubuntu启动项
1、使用ubuntu的u盘启动盘进入,终端运行:
查看分区大小:sudo fdisk -l
$ sudo mount /dev/sdaX /mnt
//如果boot单独分区,sdaX为即为boot对应块
//如果没有给boot分区,sdaX为根分区对应块
2、Easybcd->添加新条目->Linux->Grub2->自动加载..别忘了修改选择启动项等待时间
3、确认ubuntu的根目录在哪,以及是否给boot单独分区如根目录在/dev/sdaX,对应(hd0,X-1)
重启选择进入NeoGrub,看到“grub>”就对了
(也有可能进行到这一步就直接看到ubuntu的引导项了,之后进去 sudo update-grub
就可以了)
(1)root (hdX,Y)
// X为硬盘位置,如果你只有一快硬盘,X=0; 如果有多块,相应设置x。
// Y为boot分区所在位置; 如果没有单独分boot分区,Y就是你的 /分区所在位置
(2)
①boot分区单独分出来
kernel /vmlinuz-3.xxxxx-generic root=/dev/sda8
(无论你有没有把,sdaX这里都要写 /根分区的位置,否则无法完成启动,这里可以按tab完成填写)
②没有单独把boot分区分出来
kernel /boot/vmlinuz-3.xxxxx-generic root=/dev/sda8
(3)
initrd /initrd.img-3.xxxxx-generic //boot分区单独分出来
或
initrd /boot/initrd.img-3.xxxxx-generic // 没有单独把boot分区分出来
(4)boot
此时ubuntu会在grub界面直接启动ubuntu,进入后在终端运行
$ sudo update-grub //恢复ubuntu引导项 $ sudo grub-install /dev/sda
//如果出错,加上--force:
sudo grub-install --force /dev/sda
3、Done!