无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 114608|回复: 505
打印 上一主题 下一主题

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

    [复制链接]
1#
发表于 2021-1-31 17:14:35 来自手机 | 显示全部楼层
wintoflash 发表于 2021-1-31 17:00
grub2没必要用这个。直接用ntboot命令就行了。

        看意思现在是推荐采用kernel语句?与chainloader语句有没有区别?
回复

使用道具 举报

2#
发表于 2021-1-31 22:00:24 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-1-31 22:22 编辑

用刚才下载的ntloader两个文件,搭配2021-1-22日的g4e,kernel ntloader启动基于svbus启动的vhd-ramos失败啊。
title WIN7X64-SVBUS (/VHD/SX70211.vhd)-kernel ntloader-1
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/SX70211.vhd
map --mem --top /VHD/SX70211.vhd (hd)
uuid (hd-1,0)
kernel %x%/EFI/grub/ntloader uuid=%?_UUID%
initrd %x%/EFI/grub/initrd.lz1
pause pause1


等我用手机上传截图

IMG_20210131_215627.jpg (39.73 KB, 下载次数: 435)

IMG_20210131_215627.jpg

IMG_20210131_215637.jpg (53.63 KB, 下载次数: 438)

IMG_20210131_215637.jpg
回复

使用道具 举报

3#
发表于 2021-1-31 22:21:00 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-1-31 22:22 编辑

我尝试直接启动vhd也失败,菜单如下,菜单有没有问题?
title WIN7X64-SVBUS (/VHD/SX70211.vhd)-kernel ntloader-3
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/SX70211.vhd
uuid ()
kernel %x%/EFI/grub/ntloader uuid=%?_UUID% file=/VHD/SX70211.vhd
initrd %x%/EFI/grub/initrd.lz1
pause pause1


等我上传截图。

IMG_20210131_215714.jpg (32.89 KB, 下载次数: 433)

IMG_20210131_215714.jpg

IMG_20210131_215720.jpg (55.26 KB, 下载次数: 422)

IMG_20210131_215720.jpg
回复

使用道具 举报

4#
发表于 2021-2-1 09:57:37 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-1 09:59 编辑
wintoflash 发表于 2021-2-1 09:01
GRUB2 下linuxefi 启动试试。

刚才用uefi-grub2试了,结果一样。
uefi-grub2我只尝试了直接启动sx70211.vhd,没有尝试map --mem --rt这种,因为grub2好像是直接启动vd0的,能用probe -u (vd0,1) -s uuid获取仿真内存盘的uuid吗?我不知道。

menuentry "SX70211.vhd-svbus-ntloader" "/VHD/SX70211.vhd" {
search -n -s x -f /EFI/grub/ntloader
search --no-floppy --set --file $2
probe -u ($root) -s uuid
linuxefi ($x)/EFI/grub/ntloader uuid=$uuid file=/VHD/SX70211.vhd

initrdefi ($x)/EFI/grub/initrd.lz1
}


上面的菜单写的对吗?

01093952.png (6.56 KB, 下载次数: 421)

01093952.png

01094038.png (8.24 KB, 下载次数: 413)

01094038.png
回复

使用道具 举报

5#
发表于 2021-2-1 10:02:46 | 显示全部楼层
哦,另外说下,g4e搭配chainloader ntloader 启动vhd、仿真磁盘,vdf都可以成功。
回复

使用道具 举报

6#
发表于 2021-2-1 17:15:29 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-1 17:16 编辑


title WIN7X64-SVBUS (/VHD/SX70211.vhd)-kernel ntloader-1
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/SX70211.vhd
map --mem --top /VHD/SX70211.vhd (hd)
uuid (hd-1,0)
kernel %x%/EFI/grub/ntloader uuid=%?_UUID%
initrd %x%/EFI/grub/initrd.lz1
pause pause1

启动vhd-ramos失败,等我上传截图

IMG_20210201_171036.jpg (40.65 KB, 下载次数: 424)

IMG_20210201_171036.jpg

IMG_20210201_171046.jpg (54.82 KB, 下载次数: 525)

IMG_20210201_171046.jpg
回复

使用道具 举报

7#
发表于 2021-2-1 17:15:55 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-1 17:17 编辑


title WIN7X64-SVBUS (/VHD/SX70211.vhd)-kernel ntloader-3
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/SX70211.vhd
uuid ()
kernel %x%/EFI/grub/ntloader uuid=%?_UUID% file=/VHD/SX70211.vhd
initrd %x%/EFI/grub/initrd.lz1
pause pause1

直接启动vhd失败,等我上传截图

IMG_20210201_171117.jpg (30.05 KB, 下载次数: 416)

IMG_20210201_171117.jpg

IMG_20210201_171126.jpg (47.66 KB, 下载次数: 441)

IMG_20210201_171126.jpg
回复

使用道具 举报

8#
发表于 2021-2-1 19:40:34 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-1 18:48
是的,他这个现象非常离谱,我到现在还没有想出来可能的原因。

        用2021-1-31的g4e搭配这个最新版,直接启动vhd还是不行

IMG_20210201_193901.jpg (28.34 KB, 下载次数: 393)

IMG_20210201_193901.jpg

IMG_20210201_193912.jpg (51.21 KB, 下载次数: 419)

IMG_20210201_193912.jpg
回复

使用道具 举报

9#
发表于 2021-2-1 22:20:19 | 显示全部楼层
2011whp 发表于 2021-2-1 19:49
是奇怪  @liuzhaoyzz

调调 g4e 分辨率,比如 1024(分辨率 经常成迷)

跟分辨率没什么关系吧。。。如果分辨率不对,g4e早就报错了。我的分辨率一直没动,没有关注过那些语句。
回复

使用道具 举报

10#
发表于 2021-2-1 22:42:43 | 显示全部楼层
wintoflash 发表于 2021-2-1 22:25
应该和栈有关。明天改下试试。

大神辛苦了,这个不着急,慢慢来吧,现在已经有grub2-ntboot保底了。
回复

使用道具 举报

11#
发表于 2021-2-2 12:01:39 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-2 10:28
试试:

回去后试试看
回复

使用道具 举报

12#
发表于 2021-2-2 13:42:06 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-2 10:44
ipxe没办法获得本地磁盘某分区的uuid吧。

直接启动vhd,还是失败了。

IMG_20210202_134055.jpg (31.42 KB, 下载次数: 256)

IMG_20210202_134055.jpg

IMG_20210202_134103.jpg (46.47 KB, 下载次数: 257)

IMG_20210202_134103.jpg
回复

使用道具 举报

13#
发表于 2021-2-2 15:14:31 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-2 15:05
希望这个能打印点不一样的东西。

是不是其他地方有问题,我说的是用户侧,不是开发侧的问题?我这边是否有哪里不对的地方,比如菜单什么的?但我不知道倒底该怎么改进或者尝试。启动vhd还是不行。

IMG_20210202_151209.jpg (31.87 KB, 下载次数: 276)

IMG_20210202_151209.jpg

IMG_20210202_151221.jpg (55.42 KB, 下载次数: 287)

IMG_20210202_151221.jpg
回复

使用道具 举报

14#
发表于 2021-2-2 16:52:59 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-2 16:46

还失败

IMG_20210202_165153.jpg (34.23 KB, 下载次数: 273)

IMG_20210202_165153.jpg

IMG_20210202_165204.jpg (55.51 KB, 下载次数: 282)

IMG_20210202_165204.jpg
回复

使用道具 举报

15#
发表于 2021-2-2 17:43:16 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-2 17:19

还是不行

IMG_20210202_174228.jpg (31.14 KB, 下载次数: 275)

IMG_20210202_174228.jpg

IMG_20210202_174237.jpg (51.68 KB, 下载次数: 260)

IMG_20210202_174237.jpg
回复

使用道具 举报

16#
发表于 2021-2-2 19:42:24 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-2 18:36
看样子是 boot_params 被"黑恶势力"破坏了。目前暂时没有想好怎么解决,这个问题先放着吧。

      好奇地问下,为啥chainloader-ntloader-initrd就可以呢?同样是调用ntloader啊。  
回复

使用道具 举报

17#
发表于 2021-2-2 19:47:25 来自手机 | 显示全部楼层
2011whp 发表于 2021-2-2 18:06
@liuzhaoyzz

密集试验啊,开始怀疑机器本身了

        这与深度livecd没关系啊,我下载的深度livecd启动没问题。
回复

使用道具 举报

18#
发表于 2021-2-4 10:55:18 来自手机 | 显示全部楼层
xiaohhl 发表于 2021-2-4 09:06
搭配initrd ntloader能成功吗?

        答主请听题!
回复

使用道具 举报

19#
发表于 2021-2-4 18:36:30 来自手机 | 显示全部楼层
2011whp 发表于 2021-2-4 13:36
B75 主板附意  不能 initrd ntloader



       怎么感觉你的回帖里面,很多错别字,有时候不知道你想要表达的是什么意思,你是大陆的吧?
你用的是什么菜单?
回复

使用道具 举报

20#
发表于 2021-2-4 22:24:30 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-5 08:19 编辑
wintoflash 发表于 2021-2-4 20:05
试试这个打印的调试信息

还是不行,回头截图
截图模块果然很好用,现在的截图很清晰了。

04221827.png (5.25 KB, 下载次数: 310)

04221827.png
回复

使用道具 举报

21#
发表于 2021-2-5 08:21:34 | 显示全部楼层
2011whp 发表于 2021-2-4 19:20
试验的g4e菜单
debug 3
find --ignore-floppies --ignore-cd /ntloader | set x=

        看你的菜单,你是用来启动pe.wim,不是xxx.vhd啊?前面你说可以启动xxx.vhd是吗?

回复

使用道具 举报

22#
发表于 2021-2-5 10:18:26 | 显示全部楼层
wintoflash 发表于 2021-2-5 10:07
执行完 kernel /ntloader XXXX, initrd /initrd.lz1 之后,chainloader到grub2,执行hexdump mem:3fffc00 ...

       这个做不到啊。执行完 kernel /ntloader XXXX, initrd /initrd.lz1 之后,按任何键系统都会直接重启,没有办法再chainloader到grub2。
回复

使用道具 举报

23#
发表于 2021-2-5 10:29:49 | 显示全部楼层

哦,明白了!boot之前先chainloader %x%/EFI/boot/grubx64.efi即可。
直接上图。

05102621.png (6.92 KB, 下载次数: 308)

05102621.png
回复

使用道具 举报

24#
发表于 2021-2-5 15:51:13 | 显示全部楼层
wintoflash 发表于 2021-2-5 14:59
还是纯用grub2测试更方便。
rmmod linuxefi
insmod /xxx/linuxefi.mod


menuentry "SX70211.vhd-svbus-ntloader-2" "/VHD/SX70211.vhd" {
search -n -s x -f /EFI/grub/ntloader
rmmod linuxefi
insmod /EFI/grub/linuxefi.mod
search --no-floppy --set --file $2
probe -u ($root) -s uuid
linuxefi ($x)/EFI/grub/ntloader uuid=$uuid file=/VHD/SX70211.vhd
initrdefi ($x)/EFI/grub/initrd.lz1
}

grub2有没有类似g4e的那种pause暂停命令?
面对黑黑的grub2窗口敲命令,我有点发蒙。
回复

使用道具 举报

25#
发表于 2021-2-5 17:02:27 | 显示全部楼层
wintoflash 发表于 2021-2-5 16:06
当然有办法暂停,read和getkey都可以。
但是调试的时候不要这样用。必须手动逐条执行,以便观察情况。
...

        哦,getkey这个命令,你好像在哪里说过,我又忘了。这些命令记不住。
回复

使用道具 举报

26#
发表于 2021-2-5 17:20:15 | 显示全部楼层
wintoflash 发表于 2021-2-5 16:06
当然有办法暂停,read和getkey都可以。
但是调试的时候不要这样用。必须手动逐条执行,以便观察情况。
...

上面的菜单,我逐条输入命令,本来CTRL+ALT+F12,我按错了,按成了CTRL+ALT+DELETE,白搞了!

直接上图。

05171442.png (7.2 KB, 下载次数: 325)

05171442.png

05171620.png (10.55 KB, 下载次数: 302)

05171620.png

05171626.png (4.23 KB, 下载次数: 313)

05171626.png
回复

使用道具 举报

27#
发表于 2021-2-5 20:01:10 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-5 20:43 编辑
wintoflash 发表于 2021-2-5 17:35
老哥,你这内存地址都没敲对。。。


换了台电脑,WIN8.1启动了!72楼的菜单,grub2+kernel+ntloader+initrd+vhd+svbus启动的。

WIN10也启动了!
WIN7英文版也启动了!

IMG_20210205_200040.jpg (77.74 KB, 下载次数: 288)

IMG_20210205_200040.jpg

IMG_20210205_200013.jpg (64.71 KB, 下载次数: 286)

IMG_20210205_200013.jpg
回复

使用道具 举报

28#
发表于 2021-2-5 21:30:07 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-5 21:32 编辑
wintoflash 发表于 2021-2-5 17:35
老哥,你这内存地址都没敲对。。。

华硕台式机:主板原生集成了ntfs.efi,支持全部是NTFS的分区UEFI启动。

1、g4e2021-1-16-kernel-ntloader-initrd-vhd+svbus,启动WIN7.VHD成功。()
title WIN7X64-SVBUS (/VHD/sx7en.vhd)-kernel-ntloader-initrd-hd
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/sx7en.vhd
uuid ()
kernel %x%/EFI/grub/ntloader uuid=%?_UUID% file=/VHD/sx7en.vhd
initrd %x%/EFI/grub/initrd.lz1
pause pause1

2、g4e2021-1-16-kernel-ntloader-initrd-mem+svbus,启动WIN7.VHD-svbus失败,7B蓝屏。
title WIN7X64-SVBUS (/VHD/sx7en.vhd)-kernel-ntloader-initrd-mem
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/sx7en.vhd
map --mem --top /VHD/sx7en.vhd (hd)
uuid (hd-1,0)
kernel %x%/EFI/grub/ntloader uuid=%?_UUID%

initrd %x%/EFI/grub/initrd.lz1
pause pause1


3、g4e2021-1-16-kernel-ntloader-initrd-vhd+svbus,启动WIN10.VHD成功。()
title UEFIltsb-svbus(/VHD/UEFIltsb-svbus.vhd)-kernel-ntloader-initrd-hd
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/UEFIltsb-svbus.vhd
uuid ()
kernel %x%/EFI/grub/ntloader uuid=%?_UUID% file=/VHD/UEFIltsb-svbus.vhd

initrd %x%/EFI/grub/initrd.lz1
pause pause1

4、g4e2021-1-16-kernel-ntloader-initrd-mem+svbus,启动WIN10.VHD-ramos失败,蓝屏,好像svbus没有生效。
title UEFIltsb-svbus(/VHD/UEFIltsb-svbus.vhd)-kernel-ntloader-initrd-mem
debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo x=%x%
find --ignore-floppies --ignore-cd --set-root /VHD/UEFIltsb-svbus.vhd
map --mem --top /VHD/UEFIltsb-svbus.vhd (hd)
uuid (hd-1,0)
kernel %x%/EFI/grub/ntloader uuid=%?_UUID%

initrd %x%/EFI/grub/initrd.lz1
pause pause1


前面截图出错的是一台联想笔记本,主板原生没有集成ntfs.efi驱动。


回复

使用道具 举报

29#
发表于 2021-2-7 11:54:51 | 显示全部楼层
wuwuzz 发表于 2021-2-7 11:00
kernel命令启动wim/vhd,没有问题。
===================================================
chainloader ...



第三个图片,应该改成initrd=/efi/grub/initrd.lz1即可。就不会出错了!
482楼,http://wuyou.net/forum.php?mod=r ... &fromuid=298214


499楼,http://wuyou.net/forum.php?mod=r ... &fromuid=298214


501楼,http://wuyou.net/forum.php?mod=r ... &fromuid=298214



回复

使用道具 举报

30#
发表于 2021-2-7 13:28:48 | 显示全部楼层
wuwuzz 发表于 2021-2-7 12:47
原始菜单就是比葫芦画瓢抄你的,要错就是相同的错,嗯,把initrd前面的%x%去掉,
chainloader可以成功了 ...

是两种情况都成功了吗?你的截图有同分区、不同分区的情况。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-6 18:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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