无忧启动论坛

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

boot.ini 在 win11 下无效?

  [复制链接]
发表于 2024-4-17 17:44:28 | 显示全部楼层 |阅读模式
本帖最后由 不点 于 2024-4-17 18:02 编辑

找到了这个网页,不知能否解决:


https://www.tenforums.com/tutorials/22455-enable-disable-f8-advanced-boot-options-windows-10-a.html


因为想通过 boot.ini 来添加 grldr 启动项。用别的办法都比较麻烦,所以就想用 boot.ini。

在 C 盘根目录(确认根目录下有 bootmgr 文件)创建 boot.ini 文件(而且保证文件头部不含 UTF-8 的 BOM),内容如下:


  1. [boot loader]
  2. timeout=10
  3. [operating systems]
  4. C:\grldr="grldr"
复制代码



启动时确实能够出现 bootmgr 的菜单,但是却没有 grldr 启动项,无法启动 grldr。补充:启动当然是 BIOS 模式,而不是 UEFI 模式。


发表于 2024-4-17 18:33:22 来自手机 | 显示全部楼层
不要蓝菜单,8.1的bootmgr启动11正常
回复

使用道具 举报

发表于 2024-4-17 18:36:34 | 显示全部楼层
[size=0.875][color=var(--text-primary)][color=var(--tw-prose-body)]
                   GPT      在Windows系统中,boot.ini文件主要用于配置启动时的选项,但是在Windows Vista及以后的版本中,boot.ini已经被BCD(Boot Configuration Data)取代了。因此,如果你正在使用Windows Vista、Windows 7、Windows 8、Windows 10或者Windows Server 2008及以后版本,boot.ini文件可能不再适用。
如果你仍然想通过修改启动项来引导grub4dos(使用grldr),可以通过BCD编辑器或者命令行工具来实现。以下是一种通过命令行工具(bcdedit)添加启动项的方法:
  • 打开命令提示符(以管理员身份运行)。
  • 运行以下命令添加启动项:
[backcolor=rgba(13,13,13,var(--tw-bg-opacity))][color=var(--text-secondary)][backcolor=var(--main-surface-secondary)][size=0.75]bashCopy code

bcdedit /create /d "grldr" /application bootsector

  • 该命令会返回一个类似于 {xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 的GUID,将其替换下面命令中的 {xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}。
  • 继续运行以下命令设置引导文件和路径:
[backcolor=rgba(13,13,13,var(--tw-bg-opacity))][color=var(--text-secondary)][backcolor=var(--main-surface-secondary)][size=0.75]sqlCopy code

bcdedit /set {xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} device partition=C:bcdedit /set {xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} path \grldr

确保将 {xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 替换为前一步中返回的GUID,以及将路径\grldr替换为grldr文件所在的正确路径。
  • 最后,设置超时时间:
[backcolor=rgba(13,13,13,var(--tw-bg-opacity))][color=var(--text-secondary)][backcolor=var(--main-surface-secondary)][size=0.75]bashCopy code

bcdedit /timeout 10

以上命令会将超时时间设置为10秒,你也可以根据需要进行调整。
通过以上步骤添加的启动项应该会在启动时出现在引导菜单中,允许你选择启动grldr。



[color=rgba(180,180,180,var(--tw-text-opacity))]




















回复

使用道具 举报

发表于 2024-4-17 18:41:10 | 显示全部楼层
给你GPT3.5入口,你自己问,上面是我把你的复制到GPT提问的答案。go.gptdsb.com/list密码GPTDSB,只能用3.5的。
回复

使用道具 举报

发表于 2024-4-17 18:53:05 | 显示全部楼层
NT6下没试过boot.ini,

添加实时模式

for /f "tokens=2" %%c in ('BCDEDIT /CREATE /D "grub4dos" /application bootsector ') do set id=%%c
bcdedit /set %id% device boot  >nul
bcdedit /set %id% path \grldr >nul
bcdedit /displayorder %id% /addlast >nul
回复

使用道具 举报

发表于 2024-4-17 20:26:30 | 显示全部楼层
本帖最后由 dayeye 于 2024-4-17 20:32 编辑

英文版的链接看不懂。
我想应该是这样的:
1. 在bootmgr同目录下放置NTLDR+BOOT.INI+grldr

2. 在BCD菜单中添加Winxp启动项
搜狗截图20240417202123.jpg


但事实上没必要这样做,可以直接添加实模式启动项





回复

使用道具 举报

发表于 2024-4-17 20:43:49 | 显示全部楼层
学习了  多谢科普
回复

使用道具 举报

发表于 2024-4-17 20:56:06 | 显示全部楼层
我看不懂你写的,看来我是小白,还得继续学习才行
回复

使用道具 举报

发表于 2024-4-17 21:01:34 | 显示全部楼层
进来学习
回复

使用道具 举报

发表于 2024-4-17 21:02:27 | 显示全部楼层
本帖最后由 hilsonma 于 2024-4-17 21:23 编辑

最简单的就是把c盘根目录的bootmgr改名为bootms
然后把grldr改名为bootmgr放到c盘根目录

grldr菜单里其中一项设定为chainloader /bootms
这项可以是默认项。菜单等待时间可以是10秒也可以是1秒。

点评

这个办法,有一定的概率会失败。虽然 “失败” 是小概率事件,但毕竟是有可能失败的。 这个办法的本质,是让微软的 VBR(卷引导记录,也说成 PBR -- 分区引导记录)来加载 grldr。失败的可能性就在这一步骤出现。  详情 回复 发表于 2024-4-17 22:17
回复

使用道具 举报

发表于 2024-4-17 21:38:47 | 显示全部楼层
感谢,学习了
回复

使用道具 举报

 楼主| 发表于 2024-4-17 21:42:21 | 显示全部楼层
谢谢各位!各位都是熟练的高手,十分佩服!

我用 bing 国际版,用关键字 “+bootmgr boot.ini grldr win10”(去掉引号)搜了一下,找到如下网页:

http://reboot.pro/index.php?showtopic=21787

misty 在 13 楼的发言,切中要害:

As an alternative, I manually added a boot.ini file with entries for Grub4dos to my FAT (boot) partition - this was automatically parsed by the Windows 7 boot manager (bootmgr) and I was able to successfully boot grub4dos without modifying the BCD store.

Contents of boot.ini

  1. [boot loader]
  2. default=C:\grldr
  3. [operating systems]
  4. C:\grldr="Grub4Dos"
复制代码


Using bootmgr from Windows 10 source (1607 and 1709 versions were tested) - boot.ini was not parsed and it was not possible to use this method.

Using bootmgr from Windows 8.1 source - boot.ini was parsed and an entry for Grub4Dos was availble in the Windows boot menu.

Using bootmgr from Windows 7 (SP1) source - boot.ini was parsed and an entry for Grub4Dos was availble in the Windows boot menu.

Adding an entry for grldr.mbr to the BCD store should work in all versions.


主要意思是说,win7、win8 的 bootmgr 会去解析(读取并处理) boot.ini 文件,但 win10 的 bootmgr 就不去解析 boot.ini 文件了。

回复

使用道具 举报

 楼主| 发表于 2024-4-17 22:17:03 | 显示全部楼层
hilsonma 发表于 2024-4-17 21:02
最简单的就是把c盘根目录的bootmgr改名为bootms
然后把grldr改名为bootmgr放到c盘根目录

这个办法,有一定的概率会失败。虽然 “失败” 是小概率事件,但毕竟是有可能失败的。

这个办法的本质,是让微软的 VBR(卷引导记录,也说成 PBR -- 分区引导记录)来加载 grldr。失败的可能性就在这一步骤出现。

当这个卷(分区)是 FAT32 或 NTFS 格式时,这不会失败,因为微软的 FAT32 或 NTFS 引导扇区代码能够完整加载 ntldr 或 bootmgr 到内存(就等于说完整加载了 grldr 到内存,因为 grldr 冒充了 ntldr 或 bootmgr)。所以,这种情况是成功的。

当这个卷(分区)是 FAT12 或 FAT16 格式时,这肯定要失败,因为微软的 FAT12 或 FAT16 引导扇区代码不能够完整加载 ntldr 或 bootmgr 到内存,确切地说,只加载了最开头的一个扇区到内存(就等于说只加载了 grldr 的第一扇区到内存,因为 grldr 冒充了 ntldr 或 bootmgr)。所以,这种情况肯定要失败。前面之所以说失败的概率不高,是因为 FAT12 和 FAT16 的使用场景不多而已,大多数情况都是使用 FAT32 和 NTFS。如果用来引导 grldr 的分区的格式碰巧就是 FAT12 或 FAT16,那么,此时失败是肯定的,换句话说,就是 100% 失败,而不可能成功。

exFAT 的情况没研究过,但估计成功的可能性较大,因为 exFAT 类似于 FAT32 和 NTFS,而不是向 FAT12/16 看齐。大家可以试试,看看 exFAT 的情况究竟是成功还是失败。只需有一个人去试试即可,如果试验成功,那么对于所有的情况总是成功,不会有失败;如果试验失败,那么对于所有的情况也总会失败,而不可能有成功。

点评

exfat的情况是成功的,我试过。 fat16或fat12我没有试过,毕竟罕见了,真有的话,我想多是引导io.sys的,这种情况下我会使用grub.exe,而不是pbr直接引导grldr.。也可以尝试你前面说的ntldr+boot.ini+grldr 和 bo  详情 回复 发表于 2024-4-18 06:34
原来如此!看来 bootmgr 是对“只加载第一扇区”的情况做了特殊处理的,即链式加载,而 grldr 没有这种处理。  发表于 2024-4-18 01:02
回复

使用道具 举报

发表于 2024-4-17 22:25:49 | 显示全部楼层
我觉得不如用grldr作为引导,  boot.ini太过时了

点评

是想省事、偷懒,才让 boot.ini 启动 grldr。只不过对于 win10 以后的 bootmgr 来说,这个办法行不通而已。  发表于 2024-4-18 07:26
回复

使用道具 举报

发表于 2024-4-18 06:34:47 | 显示全部楼层
不点 发表于 2024-4-17 22:17
这个办法,有一定的概率会失败。虽然 “失败” 是小概率事件,但毕竟是有可能失败的。

这个办法的本质 ...

exfat的情况是成功的,我试过。

fat16或fat12我没有试过,毕竟罕见了,真有的话,我想多是引导io.sys的,这种情况下我会使用grub.exe,而不是pbr直接引导grldr.。也可以尝试你前面说的ntldr+boot.ini+grldr 和 bootmgr7+boot.ini+grldr。

壁垒是存在的,所以,很难有一个统一的方案。
wee是很优秀的,但我试过在某台机器上装了wee后,该机器直接不认引导盘了。
所以,现在我不是根据自己的喜好来做机器的引导,而是根据实际情况在尽量不改原机引导方式的情形下灵活应用,穿插自己的喜好。

点评

exFAT 成功,很好。跟我的猜测吻合。 FAT12 比较少见,只在 “软盘” 级别的 img 上出现。 但 FAT16 出现的概率还是挺大的。你可以搜一下 FAT16 最大支持多大的分区长度。grldr 如果只是你自己用,你倒是可以  详情 回复 发表于 2024-4-18 07:17
回复

使用道具 举报

 楼主| 发表于 2024-4-18 07:17:47 | 显示全部楼层
hilsonma 发表于 2024-4-18 06:34
exfat的情况是成功的,我试过。

fat16或fat12我没有试过,毕竟罕见了,真有的话,我想多是引导io.sys ...

exFAT 成功,很好。跟我的猜测吻合。

FAT12 比较少见,只在 “软盘” 级别的 img 上出现。

但 FAT16 出现的概率还是挺大的。你可以搜一下 FAT16 最大支持多大的分区长度。grldr 如果只是你自己用,你倒是可以避开 FAT12、FAT16,但如果你是把自己的方案发布出去,让别人使用,则别人有可能碰上 FAT12、FAT16。

关于你描述的 wee 的情况,我猜,很可能 wee 所占用的 62 个扇区,正好覆盖了这台机器的主板 BIOS 在硬盘开头记录的硬盘参数,导致主板 “不认可” 这个硬盘为 “可启动的设备”。wee 在运行过程中不会有写盘动作。wee 与别的东西发生冲突,也仅仅只会在 62 扇区 “覆盖、冲突” 这一点上。主板将某些硬盘信息记录在硬盘开头(读取或写入),是有可能的。主板这么做,当然是不合理的。但不合理的事情,也是有可能发生的。
回复

使用道具 举报

 楼主| 发表于 2024-4-18 08:32:50 | 显示全部楼层
隐隐约约记得有人说 bootmgr 能够直接加载 iso 文件,但找不到帖子了。不知是否我记忆有偏差?

我的目的就是要启动 kuer 的 PE 而已,如果能够用 bootmgr 直接实现,我不想经由 grub4dos 来弄。

点评

想启动iso文件,又不想用grub,可以将ventoy安装到一个约50M的vhd文件中,BCD中添加引导这个vhd文件,引导到ventoy,在ventoy按F2选择iso文件来加载  详情 回复 发表于 2024-4-18 09:25
用bootice添加WIM启动项就好。  详情 回复 发表于 2024-4-18 09:06
回复

使用道具 举报

发表于 2024-4-18 08:53:01 | 显示全部楼层
即使 win7、win8 的 bootmgr 能够解析 boot.ini,还是会有bootmgr默认(或优先)引导的问题存在。
假定在启动分区同时存在bootmgr、boot.ini 和 BCD,我想bootmgr会首先指向BCD,忽略BOOT.INI ,
而不会在启动菜单上同时出现boot.ini及BCD下的引导项(这个我没有尝试过,也没有百度过)。


所以,无论是WIN7、WIN8的bootmgr,还是WIN10、Win11的bootmgr,要利用boot.ini方便地添加GRLDR启动项,又能同时用bootmgr引导WINDOWS(7、8、10、11)项,都是做不到的。



这只是猜想。究竟怎么样,试过才知道。



点评

碰巧我试过,win7 的 bootmgr 支持 boot.ini 里面的实模式加载项。它肯定是先处理 BCD 里面的启动项,然后才寻找 boot.ini 里面的 “实模式加载项”。而 boot.ini 里面的其他项目,会被忽略,所以,也不会有冲突。  详情 回复 发表于 2024-4-18 10:06
回复

使用道具 举报

发表于 2024-4-18 09:06:44 | 显示全部楼层
本帖最后由 dayeye 于 2024-4-18 09:08 编辑
不点 发表于 2024-4-18 08:32
隐隐约约记得有人说 bootmgr 能够直接加载 iso 文件,但找不到帖子了。不知是否我记忆有偏差?

我的目的 ...

用bootice添加WIM启动项就好。直接启动ISO没试过。

点评

或许是准备启动livecd  详情 回复 发表于 2024-4-18 09:21
回复

使用道具 举报

发表于 2024-4-18 09:21:00 | 显示全部楼层
dayeye 发表于 2024-4-18 09:06
用bootice添加WIM启动项就好。直接启动ISO没试过。

bcd启动wim方便
回复

使用道具 举报

发表于 2024-4-18 09:25:22 | 显示全部楼层
不点 发表于 2024-4-18 08:32
隐隐约约记得有人说 bootmgr 能够直接加载 iso 文件,但找不到帖子了。不知是否我记忆有偏差?

我的目的 ...

想启动iso文件,又不想用grub,可以将ventoy安装到一个约50M的vhd文件中,BCD中添加引导这个vhd文件,引导到ventoy,在ventoy按F2选择iso文件来加载
回复

使用道具 举报

 楼主| 发表于 2024-4-18 09:58:18 | 显示全部楼层
谢谢 dayeye,szwp,hlowld。

这么说来,我可能是弄错了。bootmgr 应该是不能直接启动 iso。看来想偷懒还是不行。

那就老老实实用 bootmgr 启动 grldr,再启动 iso 好了。

各位大师所说的方法,我会储备起来,慢慢消化。目前我停留在 ISO 思维模式。假如我以后能够发现 ISO 里面只有一个 wim 是起作用的,那就只保留这个 wim 即可,不需要保留整个 iso 文件。到那时候,我就会进一步去学习用 bootmgr 来直接加载 wim 的方法和步骤了。

点评

直接实模式启动PE的 wim 即可,没必要套一个ISO的壳  详情 回复 发表于 2024-4-18 17:13
回复

使用道具 举报

 楼主| 发表于 2024-4-18 10:06:19 | 显示全部楼层
dayeye 发表于 2024-4-18 08:53
即使 win7、win8 的 bootmgr 能够解析 boot.ini,还是会有bootmgr默认(或优先)引导的问题存在。
假定在启 ...

碰巧我试过,win7 的 bootmgr 支持 boot.ini 里面的实模式加载项。它肯定是先处理 BCD 里面的启动项,然后才寻找 boot.ini 里面的 “实模式加载项”。而 boot.ini 里面的其他项目,会被忽略,所以,也不会有冲突。

点评

谢谢大师。 受教了。可惜win7、8早被我启用了。 还有旧机在手,等哪天想折腾再试试。  详情 回复 发表于 2024-4-22 00:35
回复

使用道具 举报

发表于 2024-4-18 10:07:26 | 显示全部楼层
iso里如果有多个pe会有多个wim,除了wim文件还需要一个sdi文件。

点评

哦,我下载的 kuer 的 PE,不知道里面有多少个 wim,我猜通常只有一个吧?sdi 是不是也在其中呢?如果方便,您可以把相关知识点描述一下,作为知识储备,方便需要的人查阅。  详情 回复 发表于 2024-4-18 10:13
回复

使用道具 举报

 楼主| 发表于 2024-4-18 10:13:08 | 显示全部楼层
szwp 发表于 2024-4-18 10:07
iso里如果有多个pe会有多个wim,除了wim文件还需要一个sdi文件。

哦,我下载的 kuer 的 PE,不知道里面有多少个 wim,我猜通常只有一个吧?sdi 是不是也在其中呢?如果方便,您可以把相关知识点描述一下,作为知识储备,方便需要的人查阅。

点评

kuer的PE,一般就一个wim,叫boot.wim,放在iso的sources文件夹里。 kuer的iso里,boot文件夹下也会有一个960KB的boot.sdi 一般地,Windows\Boot\DVD\EFI 里也会有一个3MB的boot.sdi 我通常使用一个批处理来  详情 回复 发表于 2024-4-18 17:00
如果多个的话,启动时会有菜单7pe 10pe之类的,没启动菜单的就只有一个wim,sdi文件在iso会有的。有不少现成的工具,可以在当前系统自动将wim加入bcd菜单。  详情 回复 发表于 2024-4-18 10:21
回复

使用道具 举报

发表于 2024-4-18 10:21:22 | 显示全部楼层
不点 发表于 2024-4-18 10:13
哦,我下载的 kuer 的 PE,不知道里面有多少个 wim,我猜通常只有一个吧?sdi 是不是也在其中呢?如果方 ...

如果多个的话,启动时会有菜单7pe 10pe之类的,没启动菜单的就只有一个wim,sdi文件在iso会有的。有不少现成的工具,可以在当前系统自动将wim加入bcd菜单。
回复

使用道具 举报

发表于 2024-4-18 10:50:55 | 显示全部楼层
boot.iniboot.ini 在XP系统里用的吧
回复

使用道具 举报

发表于 2024-4-18 13:24:24 | 显示全部楼层
本帖最后由 JOINT 于 2024-4-18 14:13 编辑
不点 发表于 2024-4-18 10:13
哦,我下载的 kuer 的 PE,不知道里面有多少个 wim,我猜通常只有一个吧?sdi 是不是也在其中呢?如果方 ...

kuer 的 PE在 soucers目录下有boot.WIM
boot目录下有boot.sdi,sdi多数情况下可通用。


sdi是加载wim文件到加载到内存时初始化需要的,包含有分区格式化时需要的驱动程序,论坛里最小的sdi有28KB大小,对应于exfat格式的PE系统分区,是不通用的。朱玛12345678的帖子)

“WIM版Windows PE系统盘X盘的文件系统类型属性是由boot.sdi这个文件决定的,与PE启动盘本身的格式无关。
boot.sdi这个文件是一个存放有文件系统的微型镜像,在wim启动时将其虚拟为X盘并让wim挂载到该文件系统上作为WinPE的系统盘使用。
而在PE系统内X盘的实际容量则取决于FBWF配置文件或其注册表的设置,在绝大多数情况下与boot.sdi的文件大小无关。”

也有很多PE-ISO包含多个WIM,路径也可能放在boot或根目录下,boot.sdi也可能不在boot目录下,也可能改名。
用BOOTICE添加wim引导项可参考以下帖子:

安装Windows PE 到硬盘常用方法及所需工具
bbs.c3.wuyou.net/forum.php?mod=viewthread&tid=435219&extra=page%3D2


回复

使用道具 举报

发表于 2024-4-18 13:41:19 | 显示全部楼层
hilsonma的帖子里有“添加PE到C盘 ”的批处理。

点评

谢谢,看来前人的劳动成果,已经很细致了。  详情 回复 发表于 2024-4-18 17:23
回复

使用道具 举报

发表于 2024-4-18 17:00:04 | 显示全部楼层
本帖最后由 hilsonma 于 2024-4-18 17:09 编辑
不点 发表于 2024-4-18 10:13
哦,我下载的 kuer 的 PE,不知道里面有多少个 wim,我猜通常只有一个吧?sdi 是不是也在其中呢?如果方 ...

kuer的PE,一般就一个wim,叫boot.wim,放在iso的sources文件夹里。
kuer的iso里,boot文件夹下也会有一个960KB的boot.sdi

一般地,Windows\Boot\DVD\EFI 里也会有一个3MB的boot.sdi

我通常使用一个批处理来添加PE启动项。
如果你电脑的主引导也是windows引导(bootmgr或bootmgfw.efi),那么可以尝试我这个批:

1_添加PE.7z (923 Bytes, 下载次数: 7)

点评

想要啥,啥就来。现在就储备下来。 kuer 的 PE,在别人那里就很成熟,为啥我每次来用的时候,总是会出现一些异常状况?本次出的状况是:WIFI 连接,时常造成死机。我怀疑 WIFI 缺少 DLL 组件,或者是 network 缺  详情 回复 发表于 2024-4-18 17:31
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 06:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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