无忧启动论坛

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

[原创] NTloader: BIOS/UEFI 下用 GRUB 启动 Windows VHD/WIM

    [复制链接]
301#
发表于 2022-7-19 18:39:30 | 只看该作者
最近 用 g4e 2022-3-28   ntloader 2021-6-22  折腾 run 拾 qbus.vhd文件 启动
总结出 几点:

1.  ntloader 不支持 在 ntfs分区上 运行(因为是 bios上的另一个启动器)
     错误表现: 找不到文件
2.  ntloader:chainloader  不支持 中文目录名(因为是 bios上的另一个启动器)
     错误表现:启至 bcd菜单 时 是错的
3.   kernel 方式 却 支持 中文目录名(因为是 linuxefi,支持UTF8了)
回复

使用道具 举报

302#
发表于 2022-7-22 19:36:39 | 只看该作者
本帖最后由 2011whp 于 2022-7-24 09:43 编辑

发现  这种形式启动:chainloader方式 可以           kernel 方式 不行

title kernel方式 启动不了
map --mem (hd0,0)/qbus.vhd (hd)
uuid (hd-1,1)
kernel %@boot%/efi/grub/ext/ntloader uuid=%?_UUID%  winload=/windows/system32/boot/winload.efi  minint=1
initrd %@boot%/efi/grub/ext/initrd.lz1
boot


错误表现:无效的 启动 分区 inaccesible boot device
不知道,能不能 稳定 复现( 推测 启分区时 锁定 启动分区时,出错了,估计 是 技术死区,至于,kernel方式 能启vhd文件,估计vhd系统不锁 启动分区)

例子中用的 qbus.vhd 的下载:
链接:https://pan.baidu.com/s/1vOHmKJ2OxV2CZcg8scjV0g
提取码:eruh
网盘内的 :双分区fat+ntfs的vhd.zip  即是 qbus.vhd的压缩包

回复

使用道具 举报

303#
发表于 2022-7-24 10:31:39 | 只看该作者
無權下載,如何取得檔案
回复

使用道具 举报

304#
发表于 2022-10-29 22:11:06 | 只看该作者
請問使用WIM啟動可指定BOOT.SDI嗎?
因為想使用EXFAT的X:\
回复

使用道具 举报

305#
发表于 2022-10-29 23:04:51 | 只看该作者
这是个啥?不是很理解……学习学习
回复

使用道具 举报

306#
发表于 2023-2-2 06:46:09 | 只看该作者
感谢分享
回复

使用道具 举报

307#
发表于 2023-2-2 13:37:35 | 只看该作者

感谢分享
回复

使用道具 举报

308#
 楼主| 发表于 2023-3-14 14:26:39 | 只看该作者
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e >= 2023-03-14
ntloader >= v2.0.0
2.  ntloader:chainloader  不支持 中文目录名(因为是 bios上的另一个启动器)
     错误表现:启至 bcd菜单 时 是错的
3.   kernel 方式 却 支持 中文目录名(因为是 linuxefi,支持UTF8了)

现在 chainloader 也支持中文路径了。

点评

vhd+svbus驱动,用g4e+ntloader,无论是直接map,还是map --mem都可以启动。 vdf+primo驱动,用g4e+ntloader,出错了,提示0xc000000e,找不到\windows\system32\winload.efi,我试了,加不加winload=/Windows/Sy  详情 回复 发表于 2023-3-26 16:53
好奇地问下,以前kernel+ntloader不行,现在可以了,是什么原因导致的? 现在是不是可以认为kernel+ntloader要比chainloader+ntloader方案更加稳定,摆脱ntfs_x64.efi的支持?  详情 回复 发表于 2023-3-24 16:10
重装过系统, 下午 安装vbox,(vbox挂本地硬盘) 用的是 run 后的批处理:http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=423059&pid=4633808 g4e为2023-3-14 ntloader为2023-3-11 果  详情 回复 发表于 2023-3-15 19:49
感谢 带着 凝情 研究 我这 测试环境 乱了,过段时间 思维转过弯来 测试 ( qbus.vhd是公开的测试方案,你那通过 应该是没问题了)  详情 回复 发表于 2023-3-14 20:00
我试了下,原来笔记本电脑上不能启动的win7.vhd,现在可以用g4e+ntloader启动了,不过我的电脑又折腾坏了,0xc00000f错误,修复引导也不行,重做系统去  详情 回复 发表于 2023-3-14 19:26
回复

使用道具 举报

309#
发表于 2023-3-14 17:54:08 | 只看该作者
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

收到,晚上试试看。
回复

使用道具 举报

310#
发表于 2023-3-14 19:26:19 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-3-15 18:07 编辑
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

我试了下,原来笔记本电脑上不能启动的win7.vhd,现在可以用g4e+ntloader启动了,不过我的电脑又折腾坏了,0xc000000f错误,修复引导也不行,重做系统去
回复

使用道具 举报

311#
发表于 2023-3-14 20:00:55 | 只看该作者
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

感谢 带着 凝情 研究

我这 测试环境 乱了,过段时间 思维转过弯来 测试
( qbus.vhd是公开的测试方案,你那通过  应该是没问题了)
回复

使用道具 举报

312#
发表于 2023-3-15 19:36:52 | 只看该作者
本帖最后由 假大空 于 2023-3-15 19:55 编辑

单ssd硬盘,gpt格式。esp (hd0,0)+ntfs (hd0,1)分区,win11的父级和差分vhdx文件放在ntfs分区一个文件夹里。ntloader v2.0和g4e 2023-3-14日版本。
一、kernel方案能正常启动vhdx
root (hd0,1)
uuid ()
find /efi/grub/ext/ntloader | set bd=
kernel %bd%/efi/grub/ext/ntloader uuid=%?% file=/vhd/win11_child.vhdx
initrd=%bd%/efi/grub/ext/initrd.lz1
boot

二、chainloader方案报错
root (hd0,1)
uuid ()
find /efi/grub/ext/ntloader | set bd=
chainloader %bd%/efi/grub/ext/ntloader initrd=%bd%/efi/grub/ext/initrd.lz1 uuid=%?% file=/vhd/win11_child.vhdx
boot






点评

initrd=/efi/grub/ext/initrd.lz1 这个是ntloader读取同分区下的路径,不能加磁盘号  详情 回复 发表于 2023-3-15 19:58
initrd用 相对目录 试试 chainloader %bd%/efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1  详情 回复 发表于 2023-3-15 19:54
回复

使用道具 举报

313#
发表于 2023-3-15 19:49:29 | 只看该作者
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

重装过系统, 下午 安装vbox,(vbox挂本地硬盘)

用的是  run 后的批处理:http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=423059&pid=4633808


g4e为2023-3-14  ntloader为2023-3-11
果然 kernel也可启动,chainloader也可中文目录
下面这个批处理  菜单,各种方式 都能通过了


回复

使用道具 举报

314#
发表于 2023-3-15 19:54:10 | 只看该作者
假大空 发表于 2023-3-15 19:36
单ssd硬盘,gpt格式。esp (hd0,0)+ntfs (hd0,1)分区,win11的父级和差分vhdx文件放在ntfs分区一个文件夹里 ...

initrd用 相对目录 试试

chainloader %bd%/efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1

点评

多谢指导,测试可以了。  详情 回复 发表于 2023-3-15 20:02
root已经设置成(hd0,1)了啊  详情 回复 发表于 2023-3-15 19:57
回复

使用道具 举报

315#
发表于 2023-3-15 19:57:32 | 只看该作者
2011whp 发表于 2023-3-15 19:54
initrd用 相对目录 试试

chainloader %bd%/efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1

root已经设置成(hd0,1)了啊,而且kernel方式同样写法能正常启动
回复

使用道具 举报

316#
 楼主| 发表于 2023-3-15 19:58:17 | 只看该作者
假大空 发表于 2023-3-15 19:36
单ssd硬盘,gpt格式。esp (hd0,0)+ntfs (hd0,1)分区,win11的父级和差分vhdx文件放在ntfs分区一个文件夹里 ...

initrd=/efi/grub/ext/initrd.lz1
这个是ntloader读取同分区下的路径,不能加磁盘号

点评

多谢大佬指导,试了下果然行了,谢谢!  详情 回复 发表于 2023-3-15 20:02
回复

使用道具 举报

317#
发表于 2023-3-15 20:02:31 | 只看该作者
wintoflash 发表于 2023-3-15 19:58
initrd=/efi/grub/ext/initrd.lz1
这个是ntloader读取同分区下的路径,不能加磁盘号

多谢大佬指导,试了下果然行了,谢谢!
回复

使用道具 举报

318#
发表于 2023-3-15 20:02:58 | 只看该作者
2011whp 发表于 2023-3-15 19:54
initrd用 相对目录 试试

chainloader %bd%/efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1

多谢指导,测试可以了。
回复

使用道具 举报

319#
发表于 2023-3-24 16:10:42 | 只看该作者
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

好奇地问下,以前kernel+ntloader不行,现在可以了,是什么原因导致的?
现在是不是可以认为kernel+ntloader要比chainloader+ntloader方案更加稳定,摆脱ntfs_x64.efi的支持?

点评

http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=422652&pid=4683224&fromuid=487838  详情 回复 发表于 2023-3-24 19:11
回复

使用道具 举报

320#
发表于 2023-3-24 16:23:09 | 只看该作者
回复

使用道具 举报

321#
 楼主| 发表于 2023-3-24 19:11:45 | 只看该作者
liuzhaoyzz 发表于 2023-3-24 16:10
好奇地问下,以前kernel+ntloader不行,现在可以了,是什么原因导致的?
现在是不是可以认为kernel+ntlo ...
好奇地问下,以前kernel+ntloader不行,现在可以了,是什么原因导致的?

http://bbs.wuyou.net/forum.php?m ... &fromuid=487838
回复

使用道具 举报

322#
发表于 2023-3-24 19:47:24 来自手机 | 只看该作者
看不太懂,不明觉厉!
回复

使用道具 举报

323#
发表于 2023-3-25 11:41:17 | 只看该作者
同感,不明觉厉
不懂GCC,从其它方面 演义性 理解

1.  BIOS的 启动 方式:从传统到efi,历史性的 存在多种方式
     这个不同的电脑bios 有不同的体质

2. g4e的 启动准备(chainloader、initrd); boot  入口
     实验:ntloader为2023-3-11,配合2023-3-14以前的g4e是不行的

3. 操作系统的 vmlinux(ntloader) 的设计 ,也受  影响(不是bios的每个方式都可启动)
      起因:g4e要绕过grub2启动vmlinux


总驱势:单独传统→ 传统efi同时存在(量化转变)→ uefi
      
回复

使用道具 举报

324#
发表于 2023-3-26 16:53:46 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-3-29 17:50 编辑
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

grub4dos-for_UEFI-2023-03-19+ntloader2023-3-11版本:
vhd+svbus驱动,用g4e+ntloader,无论是直接map,还是map --mem都可以启动。

vdf+primo驱动双镜像,用g4e+ntloader,出错了,提示0xc000000e,找不到\windows\system32\winload.efi,我试了,加不加winload=/Windows/System32/winload.efi参数、sysroot=/Windows参数,结果都是一样的。

title RICH-RAMOS-20211204-15461.vdf-kernel-ntloader
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set bd= ;; echo bd=%bd%
find --ignore-floppies --ignore-cd --set-root /vdf/sx100801th/RICH-RAMOS-20211204-15461.vdf
map /vdf/sx100801th/RICH-RAMOS-20211204-15461.vdf (hd)
uuid (hd-1,0)
kernel %bd%/EFI/grub/ntloader uuid=%?_UUID% winload=/Windows/System32/winload.efi
initrd %bd%/EFI/grub/initrd.lz1
pause pause1






点评

我怀疑是 map 出来的 vdf 镜像有问题。 如果 vdf 里面有 ESP 分区 (能直接启动) 的话,map 直接启动试试。(虽然不能最终进系统,但是可以看看是不是报同样的错误)  详情 回复 发表于 2023-4-1 09:51
回复

使用道具 举报

325#
发表于 2023-3-26 17:44:56 | 只看该作者
winload=/Windows/System32/winload.efi这个是默认

到这一步,估计是镜像
winload=/Windows/System32/boot/winload.efi

2023-3-19  g4e  +  新ntloader
qbus.vhd 能行

点评

晚点试试看  详情 回复 发表于 2023-3-26 18:37
回复

使用道具 举报

326#
发表于 2023-3-26 18:37:55 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-3-26 20:02 编辑
2011whp 发表于 2023-3-26 17:44
winload=/Windows/System32/winload.efi这个是默认

到这一步,估计是镜像

晚点试试看
刚才试了winload=/Windows/System32/boot/winload.efi,结果类似,提示0xc000000e

回复

使用道具 举报

327#
 楼主| 发表于 2023-4-1 09:51:50 | 只看该作者
liuzhaoyzz 发表于 2023-3-26 16:53
grub4dos-for_UEFI-2023-03-19+ntloader2023-3-11版本:
vhd+svbus驱动,用g4e+ntloader, ...

我怀疑是 map 出来的 vdf 镜像有问题。
如果 vdf 里面有 ESP 分区 (能直接启动) 的话,map 直接启动试试。(虽然不能最终进系统,但是可以看看是不是报同样的错误)

点评

好消息! http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=423940&pid=4859825&fromuid=298214 306楼菜单,g4e2023-5-20+ntloader2023-03-11,成功启动Primo双镜像win10.vdf!  详情 回复 发表于 2023-5-21 10:35
vdf双镜像如果用原来的chainloader+ntloader启动是没问题的,也是通过map启动的,就是说map出来的vdf本身没有问题。 vdf是NTFS单分区,是不是不行啊?  详情 回复 发表于 2023-4-1 10:03
回复

使用道具 举报

328#
发表于 2023-4-1 10:03:39 | 只看该作者
wintoflash 发表于 2023-4-1 09:51
我怀疑是 map 出来的 vdf 镜像有问题。
如果 vdf 里面有 ESP 分区 (能直接启动) 的话,map 直接启动试试 ...

vdf双镜像如果用原来的chainloader+ntloader启动是没问题的,也是通过map启动的,就是说map出来的vdf本身没有问题。
vdf是NTFS单分区,是不是不行啊?

点评

什么是"原来的chainloader+ntloader启动"  详情 回复 发表于 2023-4-1 10:11
回复

使用道具 举报

329#
 楼主| 发表于 2023-4-1 10:11:47 | 只看该作者
liuzhaoyzz 发表于 2023-4-1 10:03
vdf双镜像如果用原来的chainloader+ntloader启动是没问题的,也是通过map启动的,就是说map出来的vdf本身 ...

什么是"原来的chainloader+ntloader启动"?
是用原来的版本,还是新版本直接改成 chainloader?

点评

title WIN10X64-primo load /EFI/grub/ntfs_x64.efi find --ignore-floppies --ignore-cd --set-root /vdf/SX10P/SX10P.vdf map /vdf/SX10P/SX10P.vdf (hd) chainloader (hd-1) 这样子的菜单,可以启动win10.vd  详情 回复 发表于 2023-4-1 12:23
回复

使用道具 举报

330#
发表于 2023-4-1 10:14:57 | 只看该作者
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-2-26 05:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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