双系统开机,直接进入grub rescue / win10更新,覆盖ubuntu启动项

对于我的双系统笔记本,windows升级之后,覆盖了原来的ubuntu grub;

我的ubuntu是从sda的legacy启动,而windows是UEFI启动的.


查看分区: 

grub rescue>ls

寻找ubuntu所在分区: 

grub rescue>ls (hd0,gpt1) 

如果是ubuntu正确的分区会显示ext4(或者ext2吧),重复此命令一直到找到正确的ubuntu所在分区即可(我的分区为 (hd0,gpt4))

修改启动分区:

grub rescue>root=(hd0,gpt4)


grub rescue>prefix=/boot/grub


grub rescue>set root=(hd0,gpt4)


grub rescue>insmod normal


到这里如果一切正常,继续,否则说明ubuntu所在分区不正确,先找好再继续。


grub rescue>normal(进入启动菜单)


按C进入命令行模式:


grub>set root=hd0,gpt4


grub>set prefix=(hd0,gpt4)/boot/grub


grub>linux /vmlinuz  root=/dev/sda4(可按Tab键自动补全/vmlinuz)


grub>initrd /initrd.img (可按Tab键自动补全/initrd*)


grub>boot


进入ubuntu修复grub:


sudo update-grub


sudo grub-install /dev/sda //重建grub到第一个硬盘mbr


据说[1],运行这些之后,重启,OK!

但我的笔记本,运行上述的最后一个命令时“sudo grub-install /dev/sda” ,提示

grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.



======于是我要创建BIOS Boot Partition,还要设置bios_grub标志label:
#sudo fsdisk -l (显示所有的磁盘信息,但此时并没有发现有一个小的ext4分区(大约1M),用于创建BIOS Boot Partition)


我又尝试安装boot-repair(ubuntu软件库里的),但是并不能修复grub分区,同样提示“GPT detected. Please create a BIOS-Boot partition”

所以看来BIOS Boot分区是必须的啦!
我又安装了gparted(通过apt-get install安装即可),查看了一下分区,发现是有一个小的1M的分区,发现此分区根本没有名字,所以刚才fsdisk -l并没有显示该分区;于是我对该分区新建了一个分区(1M,)格式化为ext4,之后这个小的分区被系统命名为 /sda6
然后,需要对他设置bios_grub 标签(我是通过命令行,gparted好像也是可以的):
#parted /dev/sdb set 6 bios_grub on
#parted /dev/sdb print (查看分区)
显示:
数字  开始:  End     大小    文件系统        Name                  标志
 1    1049kB  85.1GB  85.1GB  ntfs            Basic data partition  msftdata
 2    85.1GB  85.9GB  835MB   ntfs                                  隐藏分区, diag
 6    85.9GB  85.9GB  1049kB                                        bios_grub
 3    85.9GB  86.1GB  201MB   fat32           Basic data partition  启动, esp
 4    86.1GB  118GB   32.0GB  ext4
 5    118GB   128GB   9932MB  linux-swap(v1)


好了,终于有bios_grub标志了!!!
#sudo grub-install /dev/sda
提示成功,搞定!


参考:
[1] http://blog.csdn.net/wangyuchen890119/article/details/7338022
参考:
[2] https://blog.hostonnet.com/grub-install-warning-this-gpt-partition-label-contains-no-bios-boot-partition-embedding-wont-be-possible

你可能感兴趣的:(双系统开机,直接进入grub rescue / win10更新,覆盖ubuntu启动项)