无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站Win To Go 极致利器(IXUNCIS固态U盘)祝贺无忧启动论坛创建21周年!
咪咕鱼:一个简洁清新可自定义的主页虚位以待广告联系 微信:wuyouceo QQ:184822951
楼主: wintoflash

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

    [复制链接]
 楼主| 发表于 2021-10-22 18:18:32 | 显示全部楼层
2011whp 发表于 2021-10-22 17:07
有个 不实用的  另类 vhd(pe.wim 直接 释放到 vhd里 )
——————————————————————— ...

你说的 "启动到winpe" 应该是下面这个,README里面写了。
Load the Registry SYSTEM hive as a volatile hive (WinPE mode):

kernel /ntloader uuid=%?% minint=1

点评

同上楼 vhd map --mem (hd0,0)/buspe.vhd (hd) uuid (hd-1,0) kernel /src/efi/extg4e/ntloader uuid=%?_UUID% file=/buspe.vhd winload=/windows/system32/boot/winload.efi minint=1 initrd /src/efi/ext  详情 回复 发表于 2021-10-22 20:45
回复

使用道具 举报

发表于 2021-10-22 20:41:43 | 显示全部楼层
在 md文件里,找到了 有minint,   是启动到pe

可以 启动 pe.wim 做成的 vhd  

uuid (hd0,0)
kernel /src/efi/extg4e/ntloader uuid=%?_UUID% file=/buspe.vhd winload=/windows/system32/boot/winload.efi minint=1
initrd /src/efi/extg4e/initrd.lz1



回复

使用道具 举报

发表于 2021-10-22 20:45:52 | 显示全部楼层
wintoflash 发表于 2021-10-22 18:18
你说的 "启动到winpe" 应该是下面这个,README里面写了。

同上楼 vhd   

map --mem (hd0,0)/buspe.vhd (hd)
uuid (hd-1,0)
kernel /src/efi/extg4e/ntloader uuid=%?_UUID% file=/buspe.vhd winload=/windows/system32/boot/winload.efi minint=1
initrd /src/efi/extg4e/initrd.lz1


出错 至 bcd 界面图如下 :(不懂,估计是 找不到 map 的盘)

wimIMG_20211022_202356.jpg

点评

你要启动的是磁盘 (hd-1,0) 里面的 Windows 系统,传递的也是 (hd-1,0) 的 UUID,就别用 file=/xxx.vhd 了。  详情 回复 发表于 2021-10-23 09:46
回复

使用道具 举报

发表于 2021-10-22 20:58:45 | 显示全部楼层
本帖最后由 2011whp 于 2021-10-22 21:21 编辑

看那 part  不一样
我的电脑:硬盘 2个ntfs ,  U盘  前ntfs + 后 fat32


前几楼启 pe.wim 的图,没出现 硬盘
启 map vhd  那图 怎么有了 硬盘了,而 U盘,只出现了 一个
——————————————————————————————————————

上面 map 的    原菜单,有file 参数,去掉后, 也是  0e错误,  下边 那个提示英文 变了
回复

使用道具 举报

发表于 2021-10-22 22:21:35 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-10-22 22:31 编辑
wintoflash 发表于 2021-10-22 18:15
3个都死机?那可够奇葩的。

你没必要每次都弄那么复杂的命令,只要确认能正常启动到bootmgfw.efi就行 ...

用这个版本,结果和222楼的结果一样,用我写的那两项菜单,死机。

用下面的命令行测试也是死机。      
find --set-root /EFI/grub/ntloader
kernel /EFI/grub/ntloader pause
initrd /EFI/grub/initrd.lz1



22222601.png

点评

我对你的电脑很感兴趣。有空的话请测试下这个东西 (不是 ntloader): 用 grub2 启动,且需要 multiboot2 模块。 menuentry "cbemu efi64" { set lang=en_US terminal_output console multiboot2 /kernel.i  详情 回复 发表于 2021-10-24 13:00
奇葩  发表于 2021-10-23 09:44
回复

使用道具 举报

发表于 2021-10-23 07:55:32 来自手机 | 显示全部楼层
我感觉是解析卷的问题。(hdx,y)
回复

使用道具 举报

 楼主| 发表于 2021-10-23 09:46:46 | 显示全部楼层
2011whp 发表于 2021-10-22 20:45
同上楼 vhd   

map --mem (hd0,0)/buspe.vhd (hd)

  1. map --mem (hd0,0)/buspe.vhd (hd)
  2. uuid (hd-1,0)
  3. kernel /src/efi/extg4e/ntloader uuid=%?_UUID% file=/buspe.vhd winload=/windows/system32/boot/winload.efi minint=1
  4. initrd /src/efi/extg4e/initrd.lz1
复制代码


你要启动的是磁盘 (hd-1,0) 里面的 Windows 系统,传递的也是 (hd-1,0) 的 UUID,就别用 file=/xxx.vhd 了。

  1. map --mem (hd0,0)/buspe.vhd (hd)
  2. uuid (hd-1,0)
  3. kernel /src/efi/extg4e/ntloader uuid=%?_UUID% winload=/windows/system32/boot/winload.efi minint=1
  4. initrd /src/efi/extg4e/initrd.lz1
复制代码

点评

去掉 ,也 试过, 也是 0e错误, 只是 提示英文 变了 ,  详情 回复 发表于 2021-10-23 10:28
回复

使用道具 举报

发表于 2021-10-23 10:28:18 | 显示全部楼层

RE: NTloader: BIOS/UEFI 下用 GRUB4DOS 启动 VHD/WIM

本帖最后由 2011whp 于 2021-10-23 10:31 编辑
wintoflash 发表于 2021-10-23 09:46
你要启动的是磁盘 (hd-1,0) 里面的 Windows 系统,传递的也是 (hd-1,0) 的 UUID,就别用 file=/xxx ...

去掉 file=/buspe.vhd,也 试过, 也是 0e错误,  只是 提示英文 变了 ,

map 启动不了,可以理解,


发现,过程中 分区 发现的不一样。
回复

使用道具 举报

 楼主| 发表于 2021-10-24 13:00:21 | 显示全部楼层
liuzhaoyzz 发表于 2021-10-22 22:21
用这个版本,结果和222楼的结果一样,用我写的那两项菜单,死机。

用下面的命令行测试也是死机。      ...

我对你的电脑很感兴趣。有空的话请测试下这个东西 (不是 ntloader):
用 grub2 启动,且需要 multiboot2 模块。
menuentry "cbemu efi64" {
  set lang=en_US
  terminal_output console
  multiboot2 /kernel.img gfxmode=1024x768
  module2 /tetris.efi efi
}
两个文件可以放在任意位置。注意 "module2 /tetris.efi efi" 后面这个 efi 是参数,不是我写错了。
cbemu.zip (406.04 KB, 下载次数: 5)

点评

没有问题,两个版本都可以启动俄罗斯方块,可以玩。  详情 回复 发表于 2021-10-24 13:58
回复

使用道具 举报

发表于 2021-10-24 13:58:05 来自手机 | 显示全部楼层
wintoflash 发表于 2021-10-24 13:00
我对你的电脑很感兴趣。有空的话请测试下这个东西 (不是 ntloader):
用 grub2 启动,且需要 multiboot2  ...

没有问题,两个版本都可以启动俄罗斯方块,可以玩。      
IMG_20211024_135420.jpg
IMG_20211024_135227.jpg

点评

你的uefi是不是带csm?  详情 回复 发表于 2021-10-24 14:07
回复

使用道具 举报

 楼主| 发表于 2021-10-24 14:07:35 | 显示全部楼层
liuzhaoyzz 发表于 2021-10-24 13:58
没有问题,两个版本都可以启动俄罗斯方块,可以玩。

你的uefi是不是带csm?

点评

带CSM  详情 回复 发表于 2021-10-24 14:52
回复

使用道具 举报

发表于 2021-10-24 14:52:02 来自手机 | 显示全部楼层
wintoflash 发表于 2021-10-24 14:07
你的uefi是不是带csm?

  带CSM      

点评

懂了。 看来以后还是不要弄通吃BIOS/UEFI的东西。  详情 回复 发表于 2021-10-24 14:57
回复

使用道具 举报

 楼主| 发表于 2021-10-24 14:57:51 | 显示全部楼层

懂了。
看来以后还是不要弄通吃BIOS/UEFI的东西。此问题无法解决。
回复

使用道具 举报

发表于 2021-10-24 16:18:07 | 显示全部楼层
ntloader ,   有去钩   检测硬件抽像层   的  参数  吗

2.  vhd内 有 多个分区 时,有指定 分区的 参数  吗

点评

看 README。 [attachimg]489215[/attachimg] 不能。读取/启动 VHD 的是 bootmgfw.efi,我没有找到有这种BCD参数。  详情 回复 发表于 2021-10-24 16:37
回复

使用道具 举报

 楼主| 发表于 2021-10-24 16:37:28 | 显示全部楼层
2011whp 发表于 2021-10-24 16:18
ntloader ,   有去钩   检测硬件抽像层   的  参数  吗

2.  vhd内 有 多个分区 时,有指定 分区的 参数 ...
ntloader ,   有去钩   检测硬件抽像层   的  参数  吗

看 README。
1.png

2.  vhd内 有 多个分区 时,有指定 分区的 参数  吗

不能。读取/启动 VHD 的是 bootmgfw.efi,我没有找到有这种BCD参数。

点评

这个 贴 的 两个 双分区 vhd 都 能启动 http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=422652&pid=4406284&fromuid=413782 只加了,minint=1 估计会 搜 有 windows目录的 vhd内部分区  详情 回复 发表于 2021-10-24 17:11
回复

使用道具 举报

发表于 2021-10-24 17:11:30 | 显示全部楼层

这个 贴 的  两个 双分区 vhd  都 能启动
http://bbs.wuyou.net/forum.php?m ... &fromuid=413782

只加了,minint=1

估计会 搜 有 windows目录的 vhd内部分区
回复

使用道具 举报

发表于 2021-10-25 10:34:34 | 显示全部楼层
wintoflash 发表于 2021-10-21 19:41
我他妈的就不信邪了,有空的话请再分别测试一下这三个版本:

呵呵,出了新的了,有空试下,如果我那个电脑成功,说明问题解决。至于CSM等不在考虑之列

点评

稍等,分别 版。  详情 回复 发表于 2021-10-25 11:32
回复

使用道具 举报

发表于 2021-10-25 11:32:48 | 显示全部楼层
hhh333 发表于 2021-10-25 10:34
呵呵,出了新的了,有空试下,如果我那个电脑成功,说明问题解决。至于CSM等不在考虑之列

稍等,分别 版。

wintoflash结论:不弄通吃BIOS/UEFI的,通吃无解。

点评

分离版还没出吗?  详情 回复 发表于 2021-10-25 21:11
回复

使用道具 举报

发表于 2021-10-25 21:11:22 | 显示全部楼层
2011whp 发表于 2021-10-25 11:32
稍等,分别 版。

分离版还没出吗?

点评

我的意思是不玩了。  详情 回复 发表于 2021-10-25 21:43
回复

使用道具 举报

 楼主| 发表于 2021-10-25 21:43:49 | 显示全部楼层
hhh333 发表于 2021-10-25 21:11
分离版还没出吗?

我的意思是不玩了。

点评

想请问下, 1.grub4dos_bios搭配ipxe那个wimboot 2.g4d_bios搭配chenall那个ntboot 3.g4d_bios搭配wintoflash的NTloader 三种方案,对于BIOS下面启动pe.wim,倒底有什么优势,什么不足?就是为什么要重复造轮子  详情 回复 发表于 2021-12-21 18:44
用那个A试了下,直接死了。B、C还没试  详情 回复 发表于 2021-10-26 11:56
回复

使用道具 举报

发表于 2021-10-26 11:56:41 | 显示全部楼层
wintoflash 发表于 2021-10-25 21:43
我的意思是不玩了。

用那个A试了下,直接死了。B、C还没试

点评

用 chainloader 入口,一般没问题 自动化bcd是一样的, (坚持 kernel 有别的 特别 作用?)  详情 回复 发表于 2021-10-26 17:57
回复

使用道具 举报

发表于 2021-10-26 17:57:53 | 显示全部楼层
本帖最后由 2011whp 于 2021-10-26 18:39 编辑
hhh333 发表于 2021-10-26 11:56
用那个A试了下,直接死了。B、C还没试

用 chainloader 入口,一般没问题
自动化bcd是一样的,chainloader /ntloader initrd=/initrd.lz1 uuid=%?_UUID% file=/path/to/winpe.wim



(坚持 kernel 有别的 特别 作用?)

点评

a死机,bc重启还是进不去,都可以chainloader进入,不折腾了  详情 回复 发表于 2021-10-27 10:48
回复

使用道具 举报

发表于 2021-10-27 10:48:24 | 显示全部楼层
2011whp 发表于 2021-10-26 17:57
用 chainloader 入口,一般没问题
自动化bcd是一样的,chainloader /ntloader initrd=/initrd.lz1 uuid ...

a死机,bc重启还是进不去,都可以chainloader进入,不折腾了
回复

使用道具 举报

发表于 2021-12-21 18:44:39 来自手机 | 显示全部楼层
wintoflash 发表于 2021-10-25 21:43
我的意思是不玩了。

想请问下,
1.grub4dos_bios搭配ipxe那个wimboot
2.g4d_bios搭配chenall那个ntboot
3.g4d_bios搭配wintoflash的NTloader
三种方案,对于BIOS下面启动pe.wim,倒底有什么优势,什么不足?就是为什么要重复造轮子,我有点懵圈,三个方案都不太熟悉。
      

点评

首先说 iPXE wimboot,它可以启动 wim 并注入文件。iPXE wimboot 可以用于 BIOS 和 UEFI 环境,但是 UEFI 下只能配合 iPXE 使用。 后来,我把 iPXE wimboot 移植到了 GRUB2 上,这样 UEFI 下 grub2 也可以用 wi  详情 回复 发表于 2021-12-21 19:57
回复

使用道具 举报

发表于 2021-12-21 19:36:10 | 显示全部楼层
不嫌多,多多益善

2010年左右,是it 生产 知识的几年, 现在感觉在收敛,
(各方面,有了行业标准,没必要再造 知识了,
   如g4e 没必要再造 一个用户界面,用g4d的就好)

点评

多多益善,是对的,也是支持的。只是好多ipxe.wimboot,wimboot.mod,ntboot,ntloader,彻底把我搞蒙了。  详情 回复 发表于 2021-12-21 20:08
回复

使用道具 举报

 楼主| 发表于 2021-12-21 19:57:09 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-21 18:44
想请问下,
1.grub4dos_bios搭配ipxe那个wimboot
2.g4d_bios搭配chenall那个ntboot
为什么要重复造轮子

首先说 iPXE wimboot,它可以启动 wim 并注入文件。iPXE wimboot 可以用于 BIOS 和 UEFI 环境,但是 UEFI 下只能配合 iPXE 使用。

后来,我把 iPXE wimboot 移植到了 GRUB2 上,这样 UEFI 下 grub2 也可以用 wimboot 了。支持 BIOS 只是顺便保留的功能。

再往后,我拓展了 GRUB2 下的 wimboot,加上了注册表和SDI解析等功能,这样就可以临时生成 BCD 文件,从而启动硬盘上的 WIM/VHD/WIN系统。
这个和 chenall 以前弄的 NTBOOT 功能相似,因此我就弄成了 grub2 下的 ntboot 命令。

NTLoader,是我魔改的 iPXE wimboot。我阉割掉了 iPXE wimboot 注入文件的功能,同时把 GRUB2 的 ntboot 移植回了 iPXE wimboot。
我做了一些手段,让 grub4dos 等引导器在 UEFI 下也可以使用这个魔改的 iPXE wimboot (虽然并不完美)。

我弄的这两个支持 BIOS 是原 iPXE wimboot 就有的功能,而我没有删除罢了。

点评

感谢答疑。 一般地来说,既然重复造轮子,肯定是有需求,新轮子肯定要比旧轮子好,但我之前一直懵圈,不知道不同的轮子倒底有啥区别。现在大概明白了。  详情 回复 发表于 2021-12-21 20:14
回复

使用道具 举报

发表于 2021-12-21 20:08:28 | 显示全部楼层
2011whp 发表于 2021-12-21 19:36
不嫌多,多多益善

2010年左右,是it 生产 知识的几年, 现在感觉在收敛,

多多益善,是对的,也是支持的。只是好多ipxe.wimboot,wimboot.mod,ntboot,ntloader,彻底把我搞蒙了。
回复

使用道具 举报

发表于 2021-12-21 20:14:17 | 显示全部楼层
wintoflash 发表于 2021-12-21 19:57
首先说 iPXE wimboot,它可以启动 wim 并注入文件。iPXE wimboot 可以用于 BIOS 和 UEFI 环境,但是 UE ...

感谢答疑。
一般地来说,既然重复造轮子,肯定是有需求,新轮子肯定要比旧轮子好,但我之前一直懵圈,不知道不同的轮子倒底有啥区别。现在大概明白了。
回复

使用道具 举报

发表于 2021-12-29 18:59:46 | 显示全部楼层
本帖最后由 f111 于 2021-12-29 19:01 编辑

title 启动UEFI版rrkeePE-21.10.23
uuid ()
chainloader /EFI/grub/ntloader initrd=/EFI/grub/initrd.lz1 uuid=%?_UUID% file=/efi/boot/imgs/rrkeePE-21.10.23.wim

kernel在bios下能完美运行 ,但uefi下kernel也总是出现bootmgfw.efi找不到,chainloader才行。
奇怪的是用chainloader佛大的pe出现同160楼一样的错误,但同样的pe在yaya大的run模块又能正常运行

点评

换用g4e2021-08-17版本,chainloader应该没问题。  详情 回复 发表于 2021-12-29 19:49
回复

使用道具 举报

发表于 2021-12-29 19:49:00 来自手机 | 显示全部楼层
f111 发表于 2021-12-29 18:59
title 启动UEFI版rrkeePE-21.10.23
uuid ()
chainloader /EFI/grub/ntloader initrd=/EFI/grub/initrd.lz ...

换用g4e2021-08-17版本,chainloader应该没问题。

点评

g4e用的2021-12-15版的,上面rrkeepe没问题,佛大的有问题。应该是佛大的pe的问题,毕竟他的pe太久了  详情 回复 发表于 2021-12-29 19:54
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2022-7-5 08:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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