无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: wintoflash

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

    [复制链接]
发表于 2022-2-11 21:32:37 | 显示全部楼层
回复

使用道具 举报

发表于 2022-3-2 07:29:53 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2022-3-5 10:42:55 | 显示全部楼层
感谢分享,研究研究。
回复

使用道具 举报

发表于 2022-3-18 14:33:02 | 显示全部楼层
感谢大佬,让gpt硬盘上的windows可以启动。
回复

使用道具 举报

发表于 2022-3-21 15:28:47 | 显示全部楼层

感谢分享
回复

使用道具 举报

发表于 2022-3-21 20:58:50 | 显示全部楼层
請問在BIOS模式下以NTloader啟動10pe.wim
出現0xc000000f:A required device isn't connected or can't be accessed
是怎麼回事.如何解決呢?

点评

wim位于什么分区表,什么文件系统的分区上,菜单是怎么写的?  详情 回复 发表于 2022-3-21 21:06
回复

使用道具 举报

 楼主| 发表于 2022-3-21 21:06:09 | 显示全部楼层
saiz 发表于 2022-3-21 20:58
請問在BIOS模式下以NTloader啟動10pe.wim
出現0xc000000f:A required device isn't connected or can't be ...

wim位于什么分区表,什么文件系统的分区上,菜单是怎么写的?

点评

開機槽在MBR/FAT32)上  详情 回复 发表于 2022-3-21 21:55
回复

使用道具 举报

发表于 2022-3-21 21:55:56 | 显示全部楼层
本帖最后由 saiz 于 2022-3-21 22:09 编辑
wintoflash 发表于 2022-3-21 21:06
wim位于什么分区表,什么文件系统的分区上,菜单是怎么写的?

開機槽在MBR/FAT32)上<<= GRUB等開機程式在此 = %bd%
WIM位於MBR/NTFS上<<==ISO等PE或MEMTEST86等在此 = %isodir%
menu我是試了幾種不同的
find --set-root /SelfPE.ico
uuid ()
find --set-root /grub/ntloader
kernel /grub/ntloader uuid=%?% file=/iso/10pe.wim
initrd /grub/initrd.lz1
boot
結果是黑屏 連_遊標都沒有閃爍
uuid %isodir%
kernel %bd%/grub/ext/ntloader uuid=%?% file=%isodir%/iso/10pe.wim
initrd %bd%/grub/initrd.lz1
這個結果就是會出現windows boot manager的錯誤訊息
0xc000000f : A requird device isn't connected or can't be accessed
find --set-root SelfPE.ico
uuid ()
chainloader %bd%/grub/ntloader initrd=/grub/initrd.lz1 uuid=%?% file=%isodir%/iso/10pe.wim
則是出現黑屏 _遊標閃爍==>這格式在EFI下是OK的

点评

这个本来就是只能在UEFI下用的。 对应在BIOS下是 你能保证传递的UUID是正确的吗?  详情 回复 发表于 2022-3-22 09:43
回复

使用道具 举报

 楼主| 发表于 2022-3-22 09:43:58 | 显示全部楼层
saiz 发表于 2022-3-21 21:55
開機槽在MBR/FAT32)上

find --set-root SelfPE.ico
uuid ()
chainloader %bd%/grub/ntloader initrd=/grub/initrd.lz1 uuid=%?% file=%isodir%/iso/10pe.wim

这个本来就是只能在UEFI下用的,而且你写的显然不正确。仔细看帖子。
对应在BIOS下是
  1. find --set-root SelfPE.ico
  2. uuid ()
  3. kernel %bd%/grub/ntloader uuid=%?% file=/iso/10pe.wim
  4. initrd %bd%/grub/initrd.lz1
复制代码

你能保证传递的UUID是正确的吗?

点评

原來~~我以為是共用通用的 那我再試試 感謝!  详情 回复 发表于 2022-3-22 18:57
回复

使用道具 举报

发表于 2022-3-22 18:57:44 | 显示全部楼层
本帖最后由 saiz 于 2022-3-22 20:58 编辑
wintoflash 发表于 2022-3-22 09:43
这个本来就是只能在UEFI下用的,而且你写的显然不正确。仔细看帖子。
对应在BIOS下是

原來~~我以為是共用通用的
測試OK 實機可開機
感謝!
回复

使用道具 举报

发表于 2022-3-24 15:57:02 | 显示全部楼层
看起来很不错哦,收藏之~~~楼主有心了!!!
回复

使用道具 举报

发表于 2022-5-18 22:28:10 | 显示全部楼层
请问,这个可以启动VHD里的deepin不。谢谢
回复

使用道具 举报

发表于 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了)
回复

使用道具 举报

发表于 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的压缩包

回复

使用道具 举报

发表于 2022-7-24 10:31:39 | 显示全部楼层
無權下載,如何取得檔案
回复

使用道具 举报

发表于 2022-10-29 22:11:06 | 显示全部楼层
請問使用WIM啟動可指定BOOT.SDI嗎?
因為想使用EXFAT的X:\
回复

使用道具 举报

发表于 2022-10-29 23:04:51 | 显示全部楼层
这是个啥?不是很理解……学习学习
回复

使用道具 举报

发表于 2023-2-2 06:46:09 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2023-2-2 13:37:35 | 显示全部楼层

感谢分享
回复

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

发表于 2023-3-14 17:54:08 | 显示全部楼层
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

收到,晚上试试看。
回复

使用道具 举报

发表于 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错误,修复引导也不行,重做系统去
回复

使用道具 举报

发表于 2023-3-14 20:00:55 | 显示全部楼层
wintoflash 发表于 2023-3-14 14:26
@2011whp @liuzhaoyzz
g4e 和 ntloader 都更新了。应该解决了用 kernel 命令找不到 initrd 的问题。
g4e ...

感谢 带着 凝情 研究

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

使用道具 举报

发表于 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
微信图片_20230315193307.jpg
微信图片_20230315195104.jpg




点评

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
回复

使用道具 举报

发表于 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也可中文目录
下面这个批处理  菜单,各种方式 都能通过了
屏幕截图 2023-03-15 193533.png

回复

使用道具 举报

发表于 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
回复

使用道具 举报

发表于 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方式同样写法能正常启动
回复

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

发表于 2023-3-15 20:02:31 | 显示全部楼层
wintoflash 发表于 2023-3-15 19:58
initrd=/efi/grub/ext/initrd.lz1
这个是ntloader读取同分区下的路径,不能加磁盘号

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

使用道具 举报

发表于 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

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-18 15:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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