无忧启动论坛

 找回密码
 注册
搜索

NTloader: BIOS/UEFI 下用 GRUB 启动 Windows VHD/WIM

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

正文摘要:

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

回复

wintoflash 发表于 2026-2-5 09:41:20
天山雪 发表于 2026-2-4 23:44
启动界面显示中文

跟你交流真费劲。一句话不能说完整了。
bootmgr的启动界面不能显示中文。
天山雪 发表于 2026-2-4 22:44:12
启动界面显示中文

屏幕截图 2026-02-04 224120.png (77.24 KB, 下载次数: 9)

屏幕截图 2026-02-04 224120.png
wintoflash 发表于 2026-2-4 20:57:34

能不能详细说下?什么的中文字体?
天山雪 发表于 2026-2-4 20:01:54
wintoflash 发表于 2026-2-4 18:23
什么的中文版?不太理解。

添加中文字体。
wintoflash 发表于 2026-2-4 18:23:02
天山雪 发表于 2026-2-4 17:44
感谢您的分享!initrd cpio 文件有没有中文版?

什么的中文版?不太理解。
天山雪 发表于 2026-2-4 16:44:22

感谢您的分享!initrd cpio 文件有没有中文版?
小龙飞 发表于 2026-1-19 13:57:45
感谢您的分享!
John-Doe_1 发表于 2026-1-2 23:38:27
Awesome!
2010roadfjl 发表于 2025-11-29 19:16:25
试试看。谢谢分享
richie-wwm 发表于 2025-11-28 08:26:49
支持,学习中
wintoflash 发表于 2025-11-27 19:37:15
lordshen 发表于 2025-11-27 17:01
能不能加载linux?

不能
lordshen 发表于 2025-11-27 17:01:22
能不能加载linux?

点评

不能  详情 回复 发表于 2025-11-27 19:37
wintoflash 发表于 2025-11-22 17:03:09
fanchenwen 发表于 2025-11-22 15:55
文件系统类型:        NTFS
卷标:        弈 4T
总容量:        3.7TB
卷序列号:        FD5F-9C3D-AF07-ECB3

所以uuid就是 FD5F9C3DAF07ECB3

文档也说了,fsuuid -l 是列出volume path,没说是uuid。
volume path和盘符是一样用的。通过盘符或volume path获取uuid。
fanchenwen 发表于 2025-11-22 15:59:12
wintoflash 发表于 2025-11-22 11:48
那是不可能的。
NTFS分区fsuuid不会是那种格式的。100%是你搞错了。
你执行 "fsuuid.exe VHD所在盘符" ...

用fsuuid.exe -l显示出来的和dg的GUID是一样的cb0050f3-a3b4-4f48-8316-af2f61384ca4},不过按你说的fsuuid.exe E:得出的结果是fd5f9c3daf07ecb3
fanchenwen 发表于 2025-11-22 15:55:29
wintoflash 发表于 2025-11-22 11:48
那是不可能的。
NTFS分区fsuuid不会是那种格式的。100%是你搞错了。
你执行 "fsuuid.exe VHD所在盘符" ...

文件系统类型:        NTFS
卷标:        弈 4T
总容量:        3.7TB
总字节数:        4095424667136
已用空间:        2.1TB
可用空间:        1699.1GB
簇大小:        4096
总簇数:        999859537
已用簇数:        554463694
空闲簇数:        445395843
总扇区数:        7998876303
扇区大小:        512
起始扇区号:        2697216
GUID路径:        \\?\Volume{cb0050f3-a3b4-4f48-8316-af2f61384ca4}
设备路径:        \Device\HarddiskVolume9
卷序列号:        FD5F-9C3D-AF07-ECB3
NTFS版本号:        3.1
$MFT簇号:                  786432 (柱面:559 磁头:132 扇区:22)
$MFTMirr簇号:                       2 (柱面:167 磁头:228 扇区:14)
文件记录大小:        1024
索引记录大小:        4096
卷GUID:        CC166D1A-8A8A-4497-B091-9C3CD843A9EA

分区类型 GUID:        EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
分区 GUID:        CB0050F3-A3B4-4F48-8316-AF2F61384CA4
分区名字:        Basic data partition
分区属性:        正常
wintoflash 发表于 2025-11-22 11:48:10
本帖最后由 wintoflash 于 2025-11-22 11:55 编辑
fanchenwen 发表于 2025-11-22 10:24
复制的不是卷的,确实是分区GUID,你说的两个软件都用过,uuid 是一样的,只有大小写区别,而大小写我都 ...

那是不可能的。
NTFS分区fsuuid不会是那种格式的。100%是你搞错了。
你执行 "fsuuid.exe VHD所在盘符",截个图。DiskGenius也截个图。
对于上个帖子中我的回复,似乎有歧义。
如果你用的是DiskGenius,应该复制的是"卷序列号",且对于NTFS分区,应该去掉'-'横杠。

此处意思为:你 应该 复制 的 东西 是 卷序列号 (而不是"分区GUID"),且对于NTFS分区,(复制时)应该去掉'-'横杠。
fanchenwen 发表于 2025-11-22 10:24:33
wintoflash 发表于 2025-11-22 10:12
这个UUID显然是错误的。
压缩包里面带了fsuuid.exe用来查看文件系统的UUID,README文档里面也有相关说 ...

复制的不是卷的,确实是分区GUID,你说的两个软件都用过,uuid 是一样的,只有大小写区别,而大小写我都试过了。
fanchenwen 发表于 2025-11-22 08:41:37
refind菜单如下:
menuentry "Windows NT6+ VHD" {
    loader /path/to/ntloader
    initrd /path/to/initrd.cpio
    options "uuid=CB0050F3-A3B4-4F48-8316-AF2F61384CA4 file=/vhd/5600g_w10.vhdx"
}
选择后一片英文一闪而过,然后屏幕就全蓝了(不是蓝屏),等一会就自动重启。
用的是08-08版的ntloader,同版本用在g4e里就可以正常启动同一个vhdx系统。
yanxsh 发表于 2025-11-7 10:26:28
再次回来感谢!
长风秋水 发表于 2025-10-18 10:59:02
感谢分享,学习一下!
ventoy 发表于 2025-10-17 17:08:36
能引导动态存储的vhd吗
weiqi_chen 发表于 2025-10-17 16:28:32
能配合iPXE使用不?
2011masm 发表于 2025-10-17 14:10:02
本帖最后由 2011masm 于 2025-10-17 21:54 编辑

一、因为我已对ntoskrnl.exe添加了数字签名,经测试不加f8参数,只加testmode=yes参数即可跳过禁用数字签名的下面如图那个选择屏幕。
二、在linux环境下,已用find * | cpio -o -H newc > ../initrd.cpio命令对替代过boot.sdi重新打包,已成功启动。谢谢指点。
有一个新的问题:
我用的笔记本,在光驱位加装了一块硬盘,不加装此硬盘前启动正常,加装此硬盘后无法启动,显示如下:
因无法上传图片,将文字贴上
booting 'ramoswin7.wim'

(hd0,3)
(hd0,3) UUID  is "00068**************"
         filesystem type is ntfs,partition type 0x07
(hd0,1)
    [liux-bzo,age,setup=0x800,size=0x13400]
loading :/ntloader/initrd.cpio
    [linux-initrd @ 0xba33d000,0x939e40 bytes]

ntloader v3.0.7

command line: "uuid=00068********** wim=ram/ramoswin7.wim testmode=yes"
scratch addr 0x30000
停在此画面死机。
而后将加装的硬盘拆下后启动又可以正常启动。有一块硬盘时启动正常,有两块硬盘时无法启动。补充一下新发现,并非两块就一定不能启动,而是其中一块硬盘装了个fydeos19.0,上面分了12个区,是这块硬盘挂上后无法启动。

wintoflash 发表于 2025-10-16 22:29:18
2011masm 发表于 2025-10-16 21:42
因为我是用wimramos1.3制作的ramos,制作时对ntoskrnl.exe进行了修改,又重新用Windows 64Signer V1.2加了数 ...
一、能否再加个参数让跳过系统启动时禁用数字签名的下面如图那个选择屏幕

无法实现。只能命令行使用f8参数自动进入这个界面,但是必须要用户手动选择才行。
二、initrd.CPIO名件解压后里面有个3M的boot.sdi,我替换成朱玛制作的28KB的精简版(用此版本启动后系统盘为exfat格式),如何用7z再压缩回去?
是压成initrd.zip.gz,再重命名为initrd.cpio吗?还是只能由你重新制作一个版本?

你下载的压缩包里面有文档已经说明了。
也可以看github上的说明:https://github.com/grub4dos/ntloader/blob/main/docs/utils.md
2011masm 发表于 2025-10-16 21:42:23
因为我是用wimramos1.3制作的ramos,制作时对ntoskrnl.exe进行了修改,又重新用Windows 64Signer V1.2加了数字签名,现在是用ntloader直接引导ramoswin7.wim
有两个问题提一下:
一、能否再加个参数让跳过系统启动时禁用数字签名的下面如图那个选择屏幕




二、initrd.CPIO名件解压后里面有个3M的boot.sdi,我替换成朱玛制作的28KB的精简版(用此版本启动后系统盘为exfat格式),如何用7z再压缩回去?
是压成initrd.zip.gz,再重命名为initrd.cpio吗?还是只能由你重新制作一个版本?



xuesfh007 发表于 2025-10-13 21:51:02
wintoflash 发表于 2025-10-13 19:09
你这个VHD是动态的吧,syslinux的memdisk不支持动态VHD的。

感谢指导
的却是动态格式启动不了
wintoflash 发表于 2025-10-13 19:09:28
xuesfh007 发表于 2025-10-13 17:56
明白了,感谢大佬回复
再请教下:
使用memdisk来启动vhd文件,vhd文件里只安装了ventoy(MBR格式),vh ...

你这个VHD是动态的吧,syslinux的memdisk不支持动态VHD的。
fh123456 发表于 2025-10-13 18:09:21
xuesfh007 发表于 2025-10-13 18:05
grub2按道理也能启动吧

应该能吧,但是我没用过grub2,我用grub4dos启动ventoy.vhd是没有问题的
xuesfh007 发表于 2025-10-13 18:05:40
fh123456 发表于 2025-10-13 18:04
我用grub4dos0.46a来启动ventoy.vhd

grub2按道理也能启动吧

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

闽公网安备 35020302032614号

GMT+8, 2026-3-1 10:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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