|
|
本帖最后由 anarki2001 于 2021-10-27 17:35 编辑
无意中看了一下自己的注册日期,还是有点儿小骄傲。我因为把启动作为业余爱好,又没什么开发能力,在这里一直虚心向各位大佬学习,但昨天发现自己可能比许多大佬的注册日期还早。江山代有才人出,一代新人胜旧人啊。
平时上来的比较少,只有偶尔折腾问题的时候,才上来学习下。这里,已经成了我的一个小小的精神家园吧。衷心希望无忧能【永久的】运营下去。(突然想起个段子:一个初创小公司融不到资眼看要破产了,一位神秘投资人投了600万救了公司,事后才知道是保洁阿姨,阿姨说:这公司氛围怪好的,倒了太可惜)
昨天折腾一天,就获得了如下超出原先知识的重要信息:
1、支持UEFI启动的主板有NVRAM(可以理解成类似CMOS),里面存放了EFI引导项的启动顺序和相关指向入口。
2、NVRAM的引导信息,操作系统安装完毕的时候,是可以主动写入条目的,想要手动访问,win下可用bootice(还有好像什么bootbcd之类的,我偏好bootice的GUI界面),linux下。。。忘了。。。(此外,linux下有个可修改【grub2】启动项的GUI叫grub customizer)
3、这些条目,是否在系统上电启动的那几秒内会主动搜索所有ESP或FAT32分区并添加条目,以及搜索哪些文件夹,这个不知道,有大佬看到后【望解答】
4、ESP:\EFI\BOOT\bootx64.efi是【默认的】启动项,昨天测试删除它,之所以我删除了后,我虚拟机的ubuntu还能启动,经查看,是NVRAM里有单独的一条ubuntu条目,指向了ESP:\EFI\ubuntu\shimx64.efi
后记:
今天继续折腾,发现:
1、不知为何,有时用bootice无法修改virtualbox的efi nvram配置(杏雨梨云某维护盘)
2、用virtualbox的efi bios界面可以手动添加启动项;
3、把windows的bootx64.efi随便改个名字随便放个文件夹,然后在efi里手动指定,可以启动成功,但无法显示中文菜单,改名放回到:esp:\efi\boot\bootx64.efi就可以了
4、ubuntu下想要访问esp分区,不用找工具,也不用mount啥的,系统已经给映射到了:/boot/efi
后后记:
折腾的结果:以grub2作为主入口,成功启动win和ubuntu,详情:
下载了论坛某大佬(抱歉查资料太多忘记名字了)的“简单的grub2启动模板.7z”,解压后提取相关文件。
将bootx64.efi以及对应的grub.cfg放入esp:\efi\boot\作为主板(虚拟机)默认寻址的文件,也就是默认入口,
将原先的bootx64.efi(其实是win的)随便改个名字放好(我猜测其实它里面内置了从esp:\efi\microsoft\boot\读取BCD文件,所以至于它本身放哪儿其实无所谓)
然后在grub.cfg里编辑好指向win和ubuntu的条目即可:
menuentry "Windows" {
search --no-floppy --set --file /efi/microsoft/bootx64win.efi
chainloader /efi/microsoft/bootx64win.efi
}
menuentry "Ubuntu" {
search --no-floppy --set --file /efi/ubuntu/shimx64.efi
chainloader /efi/ubuntu/shimx64.efi
}
未解决问题:win的引导会无法显示中文,只能显示英文菜单【大佬看到请不吝赐教】
本轮折腾到此结束,感谢各位大佬
2021-10-27
|
|