谁在和ntfs_x64.efi较劲?

查看 216|回复 13
作者:lgr99   
从XP时代就喜欢用内存系统,实际上用的是F驱Server 2003,现在的电脑在UEFI下用Server 2022的P驱内存系统,日常用grub4efi引导。本来用的好好的,忽然在新本子ThinkPad X1 Titanium掉链子了,问题出在调用ntfs_x64.efi失败。此前没出过这种事呀,可能是主板不支持吧,好在改用grub2启动内存系统还是没问题的,就先用着吧。忽然从本坛精华帖子在http://grub4dos.chenall.net/下载到2023-09-22版的GRUB4DOS for UEFI,这次惊人发现可以调用ntfs_x64.efi,因此也启动了内存系统,高兴之余对本坛高手充满敬佩之情。这不禁有个联想,是谁在和ntfs_x64.efi较劲?是主板么?哪天再遇到什么主板,还要高手出马更新GRUB4DOS for UEFI?
问题摆在这了,观察中发现如果不加载ntfs_x64.efi,总会提示和系统配置文件相关的错误信息。我开始怀疑引导器bootmgfw.efi无法调用BCD。按理说不会呀,BIOS模式下bootmgr都能调用BCD,到了UEFI怎么会不能呢,这一定是我的胡思乱想。难道是巨硬和我们开个大玩笑?唉,试试不就知道了么。实践表明,只要把引导器bootmgfw.efi和BCD一块放在FAT分区,就不用调用ntfs_x64.efi了,这表明玩笑是真的?下面附上实践过程:
1、启动原来做好的ramos,其中不必包含引导器bootmgfw.efi和BCD,我测试的系统版本是20348.169
2、引导方法一:建一个不大的vhd文件,见附件2022_169.vhd,4M,里面有改名后的引导器和BCD。用bootice修改BCD,指向当前的ramos,然后grub4efi启动项形如
find --set-root /test.vdf
map /test.vdf (hd)
find --set-root /2022_169.vhd
map /2022_169.vhd (hd)
chainloader (hd-1)
3、引导方法二:构建vdf时直接用diskgenius将内存盘修改成GPT格式,分出一个小的ESP,里面的内容和2022_169.vhd中的内容一致,启动菜单就不要上面的第3,4行了
4、引导方法三:通过本机原有的引导器和相应的BCD来启动,这时也只须将本机BCD增加一个菜单项,再将上面的第3,4行修改一下
5、引导方法四:不好意思,我还没有继续想。估计本坛包括朱玛大佬在内的高手有技术含量深的方法,比如修改了主板BIOS等等,期待中.............
本贴仅为个人实践,有多大的可行性尚未可知,希望坛友批评指正。

系统, 方法, 主板

zxqsn   
感谢分享
zxqsn   
请教下lz,uefi下能启动XP的vhd么?大致操作该怎么做?
zxqsn   
有点费神。顶一下
zxqsn   
感谢分享
zxqsn   
uefi 启动分区 是 esp ,原生设计的就是 fat32 类型的分区,
uefi 启动模式下,硬盘分区体系里没有 gpt+esp ,也不要紧,只要有个 fat32的分区里面有 efi 启动文件,就可以。
这是 前些年 做 同时支持 uefi 和 legacy 两种启动模式的 u盘时,大家早弄明白过的。
后来,有的主板 支持 从 ntfs 分区找 uefi 启动文件,再后来,一些引导器也内建了 支持从 ntfrs 分区启动 uefi ,这个事情就慢慢淡化了而已。
估计 微软的 bootmgfw.efi  最初也是只设计在 fat32格式的分区上启动。因为还要调用 ntfs 分区上的 winload.efi ,所以 bootmgfw.efi 必须能够识别并支持 ntfs分区。
esp 的本质就是个 gpt分区体系里的 fat32格式的分区。
zxqsn   

zhanglei1371 发表于 2023-10-4 20:04
请教下lz,uefi下能启动XP的vhd么?大致操作该怎么做?

需要 64 位 xp ,同时向其他系统借来 winload.efi 之类的才行。
没做过,理论上倒是可以试试。
zxqsn   
了解一下
zxqsn   
谢谢分享
zxqsn   
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部