一、问题产生原因
GRUB是Linux的开机引导程序,电脑安装双系统(Linux系统)时将Windows系统原有的引导弄没了,然后Linux系统也找不到了,没了(我是直接删了)
二、初步解决办法(GRUB命令操作开机流程)
此方法来源西瓜视频
我的grub版本2.0.6(没记错是这样的)
1、查看磁盘盘符
命令为:ls
返回结果示例(注意是有括号的):
(hd0,gpt3),(hd0,gpt2),(hd0,gpt1)
个人理解:
hd,表示硬盘,0表示硬盘编号,只有1个硬盘就只会显示hd0
gpt,表示分区,1、2、3同样表示编号
2、查找windows开机引导文件(注意是有括号的):
grub>ls (hd0,gpt1)/efi/microsoft/boot/bootmgfw.efi
可以简写比如:ls (hd0,1)/efi/microsoft/boot/bootmgfw.efi
正常找到开机引导文件返回:bootmgfw.efi
没找到开机引导文件会提示错误,比如路径不存在,或者是没有找到相应的文件
如果找不到,就更改盘符查找:
比如原来是:ls (hd0,gpt1)/efi/microsoft/boot/bootmgfw.efi
提示错误
那就改盘符:ls (hd0,gpt2)/efi/microsoft/boot/bootmgfw.efi
直到返回:bootmgfw.efi
3、设置变量
第2步成功在哪个盘符下找到efi文件,设置变量就设置哪个
比如:
grub> ls (hd0,gpt1)/efi/microsoft/boot/bootmgfw.efi
成功返回 bootmgfw.efi
然后设置变量
grub> set root=(hd0,gpt1)
grub> chainloader /efi/microsoft/boot/bootmgfw.efi
4、启动内核
这个命令简单:
grub> boot
5、整个流程及返回结果示例整理如下:
grub>ls
(hd0,gpt3),(hd0,gpt2),(hd0,gpt1)
grub>ls (hd0,gpt1)/efi/microsoft/boot/bootmgfw.efi
bootmgfw.efi
grub>set root=(hd0,gpt1)
grub>chainloader /efi/microsoft/boot/bootmgfw.efi
Endenter (应该是返回了这么个东西,没管他,原视频是没有返回值的)
grub>boot
然后电脑会成功启动windows,但是重新启动电脑还是会出现上述问题,可能得重新装系统