无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4479|回复: 28
打印 上一主题 下一主题

[讨论] 谁在和ntfs_x64.efi较劲?

[复制链接]
跳转到指定楼层
1#
发表于 2023-10-4 19:17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从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等等,期待中.............

本贴仅为个人实践,有多大的可行性尚未可知,希望坛友批评指正。

2022_169.rar

723.34 KB, 下载次数: 31, 下载积分: 无忧币 -2

评分

参与人数 1无忧币 +5 收起 理由
cuicongyuan + 5 赞一个!

查看全部评分

2#
发表于 2023-10-4 19:56:53 | 只看该作者
感谢分享
回复

使用道具 举报

3#
发表于 2023-10-4 20:04:58 | 只看该作者
请教下lz,uefi下能启动XP的vhd么?大致操作该怎么做?

点评

我本人没在uefi下做过,过去常用的是在bios下的64位Server 2003  发表于 2023-10-5 03:14
需要 64 位 xp ,同时向其他系统借来 winload.efi 之类的才行。 没做过,理论上倒是可以试试。  详情 回复 发表于 2023-10-4 21:43
回复

使用道具 举报

4#
发表于 2023-10-4 21:02:05 | 只看该作者
有点费神。顶一下
回复

使用道具 举报

5#
发表于 2023-10-4 21:13:22 | 只看该作者
感谢分享
回复

使用道具 举报

6#
发表于 2023-10-4 21:38:31 | 只看该作者
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格式的分区。



点评

说的太好了,我现在移动硬盘就是这么搞得双启动。  发表于 2023-10-5 14:15
是的,纠结在用了那么长时间的ntfs_x64.efi  发表于 2023-10-5 03:17
回复

使用道具 举报

7#
发表于 2023-10-4 21:43:44 | 只看该作者
zhanglei1371 发表于 2023-10-4 20:04
请教下lz,uefi下能启动XP的vhd么?大致操作该怎么做?

需要 64 位 xp ,同时向其他系统借来 winload.efi 之类的才行。
没做过,理论上倒是可以试试。
回复

使用道具 举报

8#
发表于 2023-10-4 22:19:35 | 只看该作者
了解一下
回复

使用道具 举报

9#
发表于 2023-10-4 23:15:46 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
发表于 2023-10-4 23:43:03 | 只看该作者
谢谢分享
回复

使用道具 举报

11#
发表于 2023-10-4 23:59:39 | 只看该作者
谢谢分享
回复

使用道具 举报

12#
发表于 2023-10-5 00:30:19 | 只看该作者
了解一下,谢谢楼主分享
回复

使用道具 举报

13#
发表于 2023-10-5 07:19:23 来自手机 | 只看该作者
有fat还和ntfs较什么劲

点评

就是么,有了fat,现在就不较劲了。呵呵  详情 回复 发表于 2023-10-5 07:29
回复

使用道具 举报

14#
 楼主| 发表于 2023-10-5 07:29:03 | 只看该作者
szwp 发表于 2023-10-5 07:19
有fat还和ntfs较什么劲

就是么,有了fat,现在就不较劲了。呵呵
回复

使用道具 举报

15#
发表于 2023-10-5 08:06:10 | 只看该作者
感谢分享
回复

使用道具 举报

16#
发表于 2023-10-5 08:22:02 来自手机 | 只看该作者
最早知道ntfs的efi是在rufus生成的

点评

不知为什么,有的主板不认它  发表于 2023-10-5 11:07
回复

使用道具 举报

17#
发表于 2023-10-5 10:15:36 | 只看该作者
bootmgfw.efi原生设计就是找bcd的时候只认识fat,因为这步走的是【固件】的文件访问,固件认识什么它就认识什么。大部分固件只有FAT的驱动,因为ESP分区是且只能是FAT。部分固件比较牛逼,嵌入了NTFS的驱动,所以让bootmgfw.efi也认识了NTFS上的【bcd】。如果你手动在G4E中load ntfs_x64.efi,它会让【固件】也认识ntfs,这个时候bootmgfw.efi就能找到ntfs上的【bcd】了。
bootmgfw.efi找winload.efi的时候用的是【bootmgfw.efi自己的驱动】,所以可以顺利找到ntfs上的winload.efi。

点评

嗯,长见识了,谢谢!这巨硬多少也有点故意吧,对BIOS,bootmgr就能找到ntfs下的BCD,到了UEFI就不去找了。  详情 回复 发表于 2023-10-5 11:11
回复

使用道具 举报

18#
发表于 2023-10-5 10:36:38 | 只看该作者
感谢分享!
回复

使用道具 举报

19#
 楼主| 发表于 2023-10-5 11:11:52 | 只看该作者
sunsea 发表于 2023-10-5 10:15
bootmgfw.efi原生设计就是找bcd的时候只认识fat,因为这步走的是【固件】的文件访问,固件认识什么它就认识 ...

嗯,长见识了,谢谢!这巨硬多少也有点故意吧,对BIOS,bootmgr就能找到ntfs下的BCD,到了UEFI就不去找了。
回复

使用道具 举报

20#
发表于 2023-10-29 17:47:02 | 只看该作者
谢谢分享
回复

使用道具 举报

21#
发表于 2024-2-25 21:48:27 | 只看该作者
谢谢分享
回复

使用道具 举报

22#
发表于 2024-4-12 15:13:00 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

23#
发表于 2024-4-25 18:30:28 | 只看该作者
谢谢分享
回复

使用道具 举报

24#
发表于 2025-5-17 07:12:40 | 只看该作者
dos时代菜鸟 发表于 2023-10-4 21:38
uefi 启动分区 是 esp ,原生设计的就是 fat32 类型的分区,
uefi 启动模式下,硬盘分区体系里没有 gpt+es ...

学习了。刚好刚才另外学习了一点内容,顺便复制过来,作为这个回复的脚注,可能对和我一样的菜鸟会有些帮助。以下内容来自:”github.com/pbatard/uefi-ntfs“
UEFI:NTFS 是一个通用的引导加载程序,旨在允许从 NTFS 或 exFAT 分区,处于纯 UEFI 模式,即使您的系统本身没有 支持它。 这主要用于 Rufus,但也可以 独立使用。

换句话说,UEFI:NTFS 旨在消除限制,而 UEFI 系统仅提供来自 FAT32 分区的引导支持,并且 启用从 NTFS 分区引导的功能。

例如,这可用于 UEFI 启动 Windows NTFS 安装介质。 包含大于 4 GB 的 (FAT32 无法 支持)或允许“Windows To Go”驱动器的双 BIOS + UEFI 启动。install.wim

顺便说一句,因为似乎存在很多不准确的信息 关于互联网上的这个,需要强调的是,绝对有 UEFI 规范中没有任何内容实际上强制使用 FAT32 UEFI 启动。相反,UEFI 将很高兴地从任何文件系统引导。 只要您的固件有它的驱动程序。因此,这只是 系统制造商往往只包含 FAT32 的驱动程序,这限制了 UEFI 的默认启动功能,这导致许多人错误地 认为只有 FAT32 可以用于 UEFI 启动。

然而,正如本项目所展示的那样,它非常有可能工作 绕过此限制,并允许任何 UEFI 固件从非 FAT32 引导 文件系统。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-6-25 06:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表