无忧启动论坛

 找回密码
 注册
搜索

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

查看数: 186801 | 评论数: 495 | 收藏 79
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-1-31 16:08

正文摘要:

本帖最后由 wintoflash 于 2025-3-1 18:19 编辑 适用范围: BIOS, x64 UEFI, ia32 UEFI, arm64 UEFI 均可使用。 支持 FAT, NTFS, exFAT 文件系统 (VHD 不能位于 FAT 分区,老版本 Windows VHD 只能位于 NTFS 分 ...

回复

hao9i 发表于 2025-3-2 20:59:31
看不懂,哈哈
wintoflash 发表于 2025-2-28 20:08:23
2011whp 发表于 2025-2-28 20:06
能  安全启动:  需  bios信任 ntloader  (证书 或hash)

http://bbs.wuyou.net/forum.php?mod=redirect&g ...

此处“不支持安全启动”意为:
不想让它支持安全启动。
2011whp 发表于 2025-2-28 20:06:43
能  安全启动:  需  bios信任 ntloader  (证书 或hash)

http://bbs.wuyou.net/forum.php?m ... &fromuid=413782

点评

此处“不支持安全启动”意为: 我不想让它支持安全启动。  详情 回复 发表于 2025-2-28 20:08
wintoflash 发表于 2025-2-28 19:59:34
2011whp 发表于 2025-2-28 19:26
试验证安全启动:  
一楼及帮助中的  search     --f参数   不对  是 -f
(ubuntu的 grub2.12是  -f)

已修正。
试验证安全启动

文档已明确表示不支持安全启动。
2011whp 发表于 2025-2-28 19:26:34
试验证安全启动:  


环境:   ubuntu24系统中的vbox7,     ubuntu系统的引导



给ntloader 签名后 可以使用 (  导hash没试 , vbox没签名不让导hash,  像现实中  必须登记身份证id)

----------------------------------------------------------
一楼及帮助中的  search     --f参数   不对  是 -f
(ubuntu的 grub2.12是  -f)

点评

已修正。 文档已明确表示不支持安全启动。  详情 回复 发表于 2025-2-28 19:59
liuzhaoyzz 发表于 2025-2-28 10:37:47
wintoflash 发表于 2025-2-28 09:23
感谢。不过好像大多数是wim的,用vhd的很少。
我对boot.sdi和老版本Windows的启动比较感兴趣。

微软的ramdisk.sys好像都是搭配wim格式的,好像论坛有vhd格式的,好像要修改那个offset参数。我没有手工操作过,没啥经验。
wintoflash 发表于 2025-2-28 09:23:58
liuzhaoyzz 发表于 2025-2-28 07:15
微软ramdisk.sys驱动的RAMOS,有个问题,主要就是WIN10下面开始菜单无法弹出,PE中都是采用第三方的start ...

感谢。不过好像大多数是wim的,用vhd的很少。
我对boot.sdi和老版本Windows的启动比较感兴趣。

点评

微软的ramdisk.sys好像都是搭配wim格式的,好像论坛有vhd格式的,好像要修改那个offset参数。我没有手工操作过,没啥经验。  详情 回复 发表于 2025-2-28 10:37
liuzhaoyzz 发表于 2025-2-28 07:15:14
本帖最后由 liuzhaoyzz 于 2025-2-28 07:36 编辑
wintoflash 发表于 2025-2-27 21:42
都可以。能不能推荐下用ramdisk.sys的ramos相关的帖子,我想深入研究下。
win10 1809 bcdedit引入了一个 ...

微软ramdisk.sys驱动的RAMOS,有个问题,主要就是WIN10下面开始菜单无法弹出,PE中都是采用第三方的startisback之类的第三方开始菜单。

相关的帖子有:zhchsgdtc(机器猫)发布的,
用win7和win8.1自带的ramdisk制作ramos,测试与8.1wimboot性能差异(附制作流程) - RAMOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=349152
2楼有制作办法,我没有玩过微软ramdisk.sys驱动的RAMOS。

外卖仔的一键WIM_RamOS制作批处理:
WIM_RamOS一键制作工具by外卖仔leenchan - RAMOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418950&extra=page%3D5

还有芈员外y7y007的一键制作WIMRAMOS,制作成功后,操作系统打包成了一个wim文件,就像PE的WIM文件那样子启动,但是不方便修改:微软RAMDISK——纯R驱RAMOS及FBWF之WimRamOS【内存系统一键制作批处理V1.7】7810通用 - RAMOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=408544

微软ramdisk.sys驱动的RAMOS,内存限制太多,没有什么可玩性。windows自带的ramdisk制作的镜像大小上限是多少? - 综合讨论区 - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=336072

win10 1809 bcdedit引入了一个新参数vhdramdiskboot,这个参数我不懂,没有研究过。




点评

感谢。不过好像大多数是wim的,用vhd的很少。 我对boot.sdi和老版本Windows的启动比较感兴趣。  详情 回复 发表于 2025-2-28 09:23
wintoflash 发表于 2025-2-27 21:42:04
本帖最后由 wintoflash 于 2025-2-27 21:46 编辑
liuzhaoyzz 发表于 2025-2-27 20:54
不好意思,我用之前的菜单改的,第二个find少了个--set-root,以前找到结果赋值到bd,现在用你类似的菜单 ...

都可以。能不能推荐下用ramdisk.sys的ramos相关的帖子,我想深入研究下。
win10 1809 bcdedit引入了一个新参数vhdramdiskboot,有什么头绪吗?

点评

微软ramdisk.sys驱动的RAMOS,有个问题,主要就是WIN10下面开始菜单无法弹出,PE中都是采用第三方的startisback之类的第三方开始菜单。 相关的帖子有: 用win7和win8.1自带的ramdisk制作ramos,测试与8.1wimboot  详情 回复 发表于 2025-2-28 07:15
liuzhaoyzz 发表于 2025-2-27 20:54:44
本帖最后由 liuzhaoyzz 于 2025-2-27 20:58 编辑
wintoflash 发表于 2025-2-27 20:35
刚试过,没问题。

不好意思,我用之前的菜单改的,第二个find少了个--set-root,以前找到结果赋值到bd,现在用你类似的菜单确实可以启动了。

另外以前用kernel /path/to/ntloader uuid=%?_UUID% file=/path/to/winpe.wim
现在关键字怎么改成了wim,vhd?我试了下file关键字好像还可以用的?
kernel /path/to/ntloader uuid=%?_UUID% wim=/path/to/winpe.wim
file
file=/path/to/xxx.wim
file=/path/to/xxx.vhdThe path to the WIM/VHD/VHDX file. Bootloader will automatically detect the file type.

两个关键字,是不是都可以?file也可以是吗?

点评

都可以。  详情 回复 发表于 2025-2-27 21:42
liuzhaoyzz 发表于 2025-2-27 20:32:12
wintoflash 发表于 2025-2-27 20:29
这个是传递给kernel的相对路径。磁盘分区由uuid决定。

实际上根本做不到的,理论上是这样子,实际上好像有问题啊。
你在虚拟机测试下呗。

点评

刚试过,没问题。  详情 回复 发表于 2025-2-27 20:35
wintoflash 发表于 2025-2-27 20:29:46
liuzhaoyzz 发表于 2025-2-27 20:26
不是啊。与_UUID无关。

title Boot Windows NT6+ WIM

这个是传递给kernel的相对路径。磁盘分区由uuid决定。

点评

实际上根本做不到的,理论上是这样子,实际上好像有问题啊。 你在虚拟机测试下呗。  详情 回复 发表于 2025-2-27 20:32
liuzhaoyzz 发表于 2025-2-27 20:26:20
本帖最后由 liuzhaoyzz 于 2025-2-27 20:28 编辑
wintoflash 发表于 2025-2-27 20:04
为啥不行?find会改变?_UUID的结果?

不是啊。与_UUID无关。

title Boot Windows NT6+ WIM
find --set-root /path/to/winpe.wim
uuid ()
find --set-root /path/to/ntloader
kernel /path/to/ntloader uuid=%?_UUID% wim=/path/to/winpe.wim
initrd /path/to/initrd.cpio
你的这个demo菜单来说,问题出在这一句:
kernel /path/to/ntloader uuid=%?_UUID% wim=/path/to/winpe.wim
上面找到ntloader并将它所在的盘符设置为root之后,后面的wim就找不到路径啊,两者不是一个盘符,我肯定不会把ntloader和wim放在一个盘符的,我的wim可能放在任意一个盘符啊,D E F G都有,但是我的ntloader只需要一份即可。
话说你试下不就知道了吗?wim和ntloader放在两个盘符,你看下你的菜单可能启动?

点评

这个是传递给kernel的相对路径。磁盘分区由uuid决定。  详情 回复 发表于 2025-2-27 20:29
wintoflash 发表于 2025-2-27 20:04:29
liuzhaoyzz 发表于 2025-2-27 19:48
好吧。了解了。这个initrd.cpio比原来的lz1打了不少哦。

你在一楼贴的demo菜单,通用行不行,当/path/ ...

为啥不行?find会改变?_UUID的结果?

点评

不是啊。与_UUID无关。 title Boot Windows NT6+ WIM find --set-root /path/to/winpe.wim uuid () find --set-root /path/to/ntloader kernel /path/to/ntloader uuid=%?_UUID% wim=/path/to/winpe.wim ini  详情 回复 发表于 2025-2-27 20:26
liuzhaoyzz 发表于 2025-2-27 19:48:34
本帖最后由 liuzhaoyzz 于 2025-2-27 21:02 编辑
wintoflash 发表于 2025-2-27 19:12
Linux内核负责解压initrd,而bootloader不负责解压。所以这与bootloader支持哪种格式无关,而要看内核支 ...

好吧。了解了。这个initrd.cpio比原来的lz1大了不少哦。

你在一楼贴的demo菜单,通用行不行,当/path/to/winpe.wim和/path/to/ntloader不在一个盘符的时候会有问题,建议改为通用性更好的菜单。
title Boot Windows NT6+ WIM
find --set-root /path/to/winpe.wim
uuid ()
find --set-root /path/to/ntloader
kernel /path/to/ntloader uuid=%?_UUID% wim=/path/to/winpe.wim
initrd /path/to/initrd.cpio

下面这样子更好啊:
title Boot Windows NT6+ WIM
find --set-root /path/to/ntloader | set bd= ;; bd=%bd%
find --set-root /path/to/winpe.wim
uuid ()
kernel %bd%/path/to/ntloader uuid=%?_UUID% wim=/path/to/winpe.wim
initrd %bd%/path/to/initrd.cpio

点评

为啥不行?find会改变?_UUID的结果?  详情 回复 发表于 2025-2-27 20:04
wintoflash 发表于 2025-2-27 19:12:30
本帖最后由 wintoflash 于 2025-2-27 19:21 编辑
liuzhaoyzz 发表于 2025-2-27 17:20
有个疑问:
v3.0.0,initrd.cpio可能打包为initrd.gz啊?g4d/g4e都支持gz吧?
以前是lz1,现在咋不打包 ...

Linux内核负责解压initrd,而bootloader不负责解压。所以这与bootloader支持哪种格式无关,而要看内核支持哪种格式。
以前是lz1,现在咋不打包了?

以前的是基于微软lznt1的自定义压缩格式,不是常见的lz4或lzop压缩,这样不方便用户修改。
归根到底还是怪傻逼微软,BIOS下代码体积受限。
抛弃解压的代码,可以添加更多功能,比如现在把BCD嵌入内核而不是放在initrd中了。
而用grub加载时,可以使用更灵活的方式自由添加文件。

点评

好吧。了解了。这个initrd.cpio比原来的lz1打了不少哦。 你在一楼贴的demo菜单,通用行不行,当/path/to/winpe.wim和/path/to/ntloader不在一个盘符的时候会有问题,建议改为通用性更好的菜单。 title Boot Wind  详情 回复 发表于 2025-2-27 19:48
liuzhaoyzz 发表于 2025-2-27 17:20:36
wintoflash 发表于 2025-2-13 14:55
v3.0.0
支持 arm64 UEFI
支持进入安全模式

有个疑问:
v3.0.0,initrd.cpio可能打包为initrd.gz啊?g4d/g4e都支持gz吧?
以前是lz1,现在咋不打包了?
官方 GNU grub不支持lz1吗?是不是需要另外加载lz啥的mod啊?

点评

Linux内核负责解压initrd,而bootloader不负责解压。所以这与bootloader支持哪种格式无关,而要看内核支持哪种格式。 以前的是基于微软lznt1的自定义压缩格式,不是常见的lz4或lzop压缩。  详情 回复 发表于 2025-2-27 19:12
liuzhaoyzz 发表于 2025-2-27 16:42:54
本帖最后由 liuzhaoyzz 于 2025-2-27 16:47 编辑
favorinus 发表于 2025-2-25 00:30
HI, I have a highly tweaked ntlited windows10.vhd  (2GB) which I use on a diskless system to run 24/ ...

玩RAMOS,不推荐用微软的ramdisk.sys驱动,推荐用svbus驱动来制作RAMOS,svubs驱动RAMOS支持BIOS/UEFI启动。
微软的ramdisk.sys,你的内存不能被充分利用。

基于svbus驱动+grub4dos或grub2制作的UEFI-RAMOS和BIOS-RAMOS教程 - RAMOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423275


当然速度更快的驱动是primo驱动的RAMOS。
【RAMOS一键批处理多合一 V4.0】在线制作内存系统工具(2021/11/14) - RAMOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=388107&extra=page%3D1


世界上第一个基于primo单驱动+grub2/g4e制作的WIN7 8.1 10UEFI-RAMOS单镜像制作成功 - RAMOS - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=423423&pid=4199339&fromuid=298214



wintoflash 发表于 2025-2-26 10:49:43
favorinus 发表于 2025-2-26 10:40
HI, ok, imgofs. Can you give me the ntloader command that should work?

As I mentioned earlier, if you are not using Microsoft's ramdisk.sys driver, this option will not work.


kile321 发表于 2025-2-26 10:49:15
感谢分享
favorinus 发表于 2025-2-26 10:40:19
HI, ok, imgofs. Can you give me the ntloader command that should work?

点评

As I mentioned earlier, if you are not using Microsoft's ramdisk.sys driver, this option will not work.  详情 回复 发表于 2025-2-26 10:49
wintoflash 发表于 2025-2-25 21:20:09
favorinus 发表于 2025-2-25 00:30
HI, I have a highly tweaked ntlited windows10.vhd  (2GB) which I use on a diskless system to run 24/ ...

The RAMDISK boot of NTloader is designed for Microsoft's ramdisk.sys driver, and requires specifying the imgofs parameter.
Using other drivers will not work.
----
When using the map command in GRUB4DOS, adding the --top parameter allows loading into high memory (>4GB).
favorinus 发表于 2025-2-25 00:30:30
本帖最后由 favorinus 于 2025-2-25 08:24 编辑

HI, I have a highly tweaked ntlited windows10.vhd  (2GB) which I use on a diskless system to run 24/7 booted as ramboot through grub4dos bios  --mem .  Now I have a new system uefi only.  I can boot the vhd with ntloader. But I want to do a ramboot. I have 16GB ram so it should fit without problem.  Is it possible with uefi because it's so limited/protective.  I saw ntloader has a /ram=/windows10.vhd  option, but it is not working.   it gives file: \windows\system32\winload.efi  couldn't be loaded. / missing.

I was thinking:  Grub4dos in the main menu on top it says:  mem: 540K/1185M/14520M.  Is the 1185M part used for the memory of the vhd? So I am missing half of the vhd disk loaded?

点评

玩RAMOS,不推荐用微软的ramdisk.sys驱动,推荐用svbus驱动来制作RAMOS,svubs驱动RAMOS支持BIOS/UEFI启动。 微软的ramdisk.sys,你的内存不能被充分利用。 基于svbus驱动+grub4dos或grub2制作的UEFI-RAMOS和BIO  详情 回复 发表于 2025-2-27 16:42
The RAMDISK boot of NTloader is designed for Microsoft's ramdisk.sys driver, and requires specifying the imgofs parameter. Using other drivers will not work. ---- When using the map command in GRUB  详情 回复 发表于 2025-2-25 21:20
壹行情泪 发表于 2025-2-19 23:16:05
謝謝分享
martin313 发表于 2025-2-19 14:26:34
有依赖性,既然阿三的可以启动wim,就不想继续折腾了
zhangmi 发表于 2025-2-18 12:38:01
感谢大佬更新
cqsky 发表于 2025-1-9 15:24:46
本帖最后由 cqsky 于 2025-1-9 16:47 编辑

谢谢 分享
yhm2002 发表于 2024-12-26 14:02:45
感谢分享

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

闽公网安备 35020302032614号

GMT+8, 2025-4-5 03:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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