抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

解决Arch grub2检测不到Windows的问题

最好是有系统备份,之前我没想到我还有个系统备份,折腾了很久始终没有进展,我的是win7,需要根目录下有一个bootmgr和/boot/BCD,没有的话无法被检测引导开机。

有了之后,执行

 grub-probe --target=fs_uuid /run/media/lckiss/64Win7/bootmgr

会显示:52DA0AD9DA0AB96D

grub-probe --target=hints_string /run/media/lckiss/64Win7/bootmgr

会显示:–hint-bios=hd1,msdos1 –hint-efi=hd1,msdos1 –hint-baremetal=ahci1,msdos1

然后

sudo gedit /etc/grub.d/40_custom

将以下代码粘贴进去,用上面的结果替换

if [ "${grub_platform}" == "pc" ]; then
 menuentry "Microsoft Windows Vista/7/8 BIOS-MBR" {
 insmod part_msdos
 insmod ntfs
 insmod search_fs_uuid
 insmod ntldr 
 search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE
 ntldr /bootmgr
 }
fi

改完是这样的

if [ "${grub_platform}" == "pc" ]; then
 menuentry "Microsoft Windows Vista/7/8 BIOS-MBR" {
 insmod part_msdos
 insmod ntfs
 insmod search_fs_uuid
 insmod ntldr 
 search --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 52DA0AD9DA0AB96D
 ntldr /bootmgr
 }
fi

然后运行

sudo grub-mkconfig

后来发现,其实有bootmgr和bcd后,什么都不用做,直接也可以检测到,我是手贱自己删除了。

sudo grub-mkconfig -o /boot/grub/grub.cfg

此生不再折腾启动问题。多系统已经玩腻了。


0条评论

发表评论