怎么在grub2里添加win8.1的启动项?

怎么在grub2里添加win8.1的启动项?,第1张

在很多Linux系统下,可以直接使用grub-mkconfig命令自动生成配置档。

如:grub-mkconfig -o /boot/grub/grub.cfg

如果不行,可以在/etc/grub.d/40_custom 中手动添加后使用 grub-mkconfig自动生成。

在BIOS-MBR模式下安装的Microsoft Windows:

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

UEFI-GPT 模式下安装的Windows的启动项:

if [ "${grub_platform}" == "efi" ]then

menuentry "Microsoft Windows Vista/7/8 x86_64 UEFI-GPT" {

insmod part_gpt

insmod fat

insmod search_fs_uuid

insmod chain

search --fs-uuid --set=root $hints_string $uuid

chainloader /EFI/Microsoft/Boot/bootmgfw.efi

}

fi

具体请参考GRUB (简体中文) - ArchWiki相关内容:

ht tps://wiki.archlinux.org/index.php/GRUB2_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29

原文及更新: https://neucrack.com/p/121

UEFI启动时分为两种情况

以下进行验证:

可见磁盘第二个分区(EFI分区)挂在在 /boot/efi 中,查看:

注意到bootx64.efi文件,电脑启动,如果选择启动项是磁盘(比如ATA HDD0:

Ubuntu安装时不会将 bootx64.efi 复制到EFI分区的 /EFI/Boot/ 中,那个依然是Windows的文件,所以开机按F12选择从磁盘启动后,会进入 windows boot manage r,Ubuntu的做法是在BIOS添加一个启动项,即方法2,这个选项会调用EFI分区 /EFI/Ubuntu 文件夹下面的文件(如果EFI分区里没有这个文件夹则引导失败,选择这个启动项会看起来无任何反应)。

grub.cfg指定了启动的磁盘(磁盘0分区7的 uuid 、 (hd0,gpt7) 挂载在root(根文件目录)),以及configuration file为/boot/grub/grub.cfg,然后根据这个配置文件grub进行系统引导,接下来就交接给grub啦~~

再来一个,改成普通分区

再来一个,改成使用EFI分区的一个名称错误的efi文件

重启,每个启动项试一次,发现只有Test可以正确进入,原因是Test2的efi文件使用的是非EFI分区,Test3使用的grub.efi文件不能正确引导

https://www.zhihu.com/question/22502670

这得看是什么样的ISO,要里面有EFI启动引导文件的ISO才可以UEFI启动

只有光盘EFI启动引导文件的ISO,只可以从光盘引导UEFI启动

既有光盘EFI启动引导文件,又有USB盘EFI启动引导文件的ISO,比如微软原版Windows 8以上,那就随意从光盘或USB盘引导UEFI启动都可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8020782.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存