无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
楼主: wintoflash

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

    [复制链接]
发表于 2021-2-9 14:32:21 | 显示全部楼层
wintoflash 发表于 2021-2-9 14:00
抱歉,提交源码的时候漏了点东西。请重新下载。

新下载,启动win7vhd黑屏无提示(win10台式机不支持?)

点评

你先不用ntloader直接启动vhd,确认一下是不是不支持你的机器。  详情 回复 发表于 2021-2-9 18:34
回复

使用道具 举报

发表于 2021-2-9 15:03:53 | 显示全部楼层
本帖最后由 blank007 于 2021-2-9 15:06 编辑

    BIOS+MBR时代,我的硬盘划分为2个主分区,1个扩展分区(扩展分区中划分为若干逻辑分区)。
    第1个主分区为 Ext2 格式,安装 GRUB 0.9.7 ,用以管理、启动第2主分区中的Windows。同时,利用 memdisk ,启动MSDOS的.img 镜像,用 ghost 、PQDI 等备份、恢复系统。还用它来启动WinPE。
    基于WinXP的WinPE只能在主分区启动,但我不想再分一个主分区。于是,在最后一个逻辑分区划分出合适的大小,格式化为NTFS格式并隐藏。然后,制作一个可启动的软盘镜像,放在第1个分区,用 kernel+memdisk+initrd 命令加载。软盘镜像里面,除了引导记录,就只有三个文件:ntldr、ntdetect.com 、boot.ini 。 boot.ini 文件中修改了 WinPE.img 文件的路径,指向隐藏分区。先启动这个虚拟软盘,然后,这个虚拟软盘再去启动相应的 WinPE。
        这个方法也可以启动第2主分区的 windows 。还可以启动多个WinPE。

     我猜测,这个思路和 wimboot、ntloader 是不是有一丝丝的相似?
   
      现在,我想知道的是:

   UEFI下,怎么制作一个“可启动”的软盘镜像?如何使用 grub4dos (UEFI) 或者 GRUB2 来“启动”这个镜像?

   这个镜像和上面说的功能相似:包含 bootmgfw.efi、BCD、boot.sdi,用以启动多个不同版本的、基于 NT6+的 WinPE。

   烦请各位大侠指导

点评

和 ntboot / ntloader 的原理差不多。 UEFI 下的 bootmgfw.efi 不支持软盘,所以你得做硬盘镜像。  详情 回复 发表于 2021-2-9 18:34
回复

使用道具 举报

发表于 2021-2-9 15:32:19 | 显示全部楼层
有其它下载地址吗?
回复

使用道具 举报

发表于 2021-2-9 17:42:40 来自手机 | 显示全部楼层
wintoflash 发表于 2021-2-9 11:31
v1.0.5
增加 win7 bootmgfw.efi 和 uefiseven
添加 win7 和 vgashim 参数以模拟 int10h 启动 Win7

1.05版本,启动svbus内存系统还是7B蓝屏。菜单前面有贴出来。

点评

这个问题应该和 ntloader 无关,而是 grub4dos 没有向内存中写入内存盘地址。  详情 回复 发表于 2021-2-9 18:32
回复

使用道具 举报

 楼主| 发表于 2021-2-9 18:32:13 | 显示全部楼层
liuzhaoyzz 发表于 2021-2-9 17:42
1.05版本,启动svbus内存系统还是7B蓝屏。菜单前面有贴出来。

这个问题应该和 ntloader 无关,而是 grub4dos 没有向内存中写入内存盘地址。
回复

使用道具 举报

 楼主| 发表于 2021-2-9 18:34:01 | 显示全部楼层
blank007 发表于 2021-2-9 15:03
BIOS+MBR时代,我的硬盘划分为2个主分区,1个扩展分区(扩展分区中划分为若干逻辑分区)。
    第1个主 ...
我猜测,这个思路和 wimboot、ntloader 是不是有一丝丝的相似?

和 ntboot / ntloader 的原理差不多。

UEFI下,怎么制作一个“可启动”的软盘镜像?如何使用 grub4dos (UEFI) 或者 GRUB2 来“启动”这个镜像?
   这个镜像和上面说的功能相似:包含 bootmgfw.efi、BCD、boot.sdi,用以启动多个不同版本的、基于 NT6+的 WinPE。

UEFI 下的 bootmgfw.efi 不支持软盘,所以你得做硬盘镜像。

点评

多谢。 还是您的方法更具通用性。 建议可以让最终用户可重新打包 initrd.lz1 文件,以便及时更新涉及的 bootmgr 、bootmgfw.efi 文件。  详情 回复 发表于 2021-2-9 18:48
回复

使用道具 举报

 楼主| 发表于 2021-2-9 18:34:56 | 显示全部楼层
hiluo 发表于 2021-2-9 14:32
新下载,启动win7vhd黑屏无提示(win10台式机不支持?)

你先不用ntloader直接启动vhd,确认一下是不是不支持你的机器。
回复

使用道具 举报

发表于 2021-2-9 18:48:59 | 显示全部楼层
wintoflash 发表于 2021-2-9 18:34
和 ntboot / ntloader 的原理差不多。

多谢。

还是您的方法更具通用性。

建议可以让最终用户可重新打包 initrd.lz1 文件,以便及时更新涉及的 bootmgr 、bootmgfw.efi  文件。

点评

当然允许啊,完全开源的。支持直接cpio打包的initrd,cpio打包之后也可以用 lznt1python 脚本压缩。 cpio打包 lznt1压缩  详情 回复 发表于 2021-2-9 19:10
回复

使用道具 举报

 楼主| 发表于 2021-2-9 19:10:53 | 显示全部楼层
blank007 发表于 2021-2-9 18:48
多谢。

还是您的方法更具通用性。

当然允许啊,完全开源的。支持直接cpio打包的initrd,cpio打包之后也可以用 lznt1python 脚本压缩。

cpio打包
  1. find * | cpio -o -H newc > ../initrd.cpio
复制代码

lznt1压缩
  1. python lznt1.py initrd.cpio initrd.lz1
复制代码

点评

对了,ntloader搭配primo驱动,启动RAMOS前几天就没有问题了,我还没有进行更广泛地测试,应该没问题。春节之后准备更新芈员外的一键RAMOS4.0. 这样子就可以彻底抛弃ntfs.efi了。 最近很懒,什么都不想干。  详情 回复 发表于 2021-2-9 20:43
多谢。 我要学习一下您说的方法。  详情 回复 发表于 2021-2-9 19:18
回复

使用道具 举报

发表于 2021-2-9 19:18:17 | 显示全部楼层
wintoflash 发表于 2021-2-9 19:10
当然允许啊,完全开源的。支持直接cpio打包的initrd,cpio打包之后也可以用 lznt1python 脚本压缩。

c ...

多谢。

我要学习一下您说的方法。
回复

使用道具 举报

发表于 2021-2-9 20:43:07 | 显示全部楼层
wintoflash 发表于 2021-2-9 19:10
当然允许啊,完全开源的。支持直接cpio打包的initrd,cpio打包之后也可以用 lznt1python 脚本压缩。

c ...

对了,ntloader搭配primo驱动,启动RAMOS前几天就没有问题了,我还没有进行更广泛地测试,应该没问题。春节之后准备更新芈员外的一键RAMOS4.0.
这样子就可以彻底抛弃ntfs.efi了。
最近很懒,什么都不想干。
回复

使用道具 举报

发表于 2021-2-9 22:09:37 | 显示全部楼层
wintoflash 发表于 2021-2-9 09:43
ntloader加载的bootmgfw.efi和bcd在initrd文件里面.

可是 提示 no bootmgfw.efi ,也不知道为啥。
先chainloader bootmgfw.efi 加载了以后,就没这提示了。调用的也是 initrd.lz1 里的 bcd

点评

拍照/截图  详情 回复 发表于 2021-2-9 22:14
回复

使用道具 举报

 楼主| 发表于 2021-2-9 22:14:03 | 显示全部楼层
dos时代菜鸟 发表于 2021-2-9 22:09
可是 提示 no bootmgfw.efi ,也不知道为啥。
先chainloader bootmgfw.efi 加载了以后,就没这提示了。调 ...

拍照/截图

点评

刚刚测试,有没问题了。  详情 回复 发表于 2021-2-9 23:34
回复

使用道具 举报

发表于 2021-2-9 23:34:55 | 显示全部楼层

刚刚测试,有没问题了。
回复

使用道具 举报

发表于 2021-2-10 18:38:16 来自手机 | 显示全部楼层
今天我也试了启动WIN10PE. wim和启动(hd0,3)的WIN10系统盘均失败)
回复

使用道具 举报

发表于 2021-2-10 18:39:22 来自手机 | 显示全部楼层
现象与liuzhaoyzz类似
回复

使用道具 举报

发表于 2021-2-10 18:42:33 来自手机 | 显示全部楼层
电脑是UEFI启动bootx64. efi
回复

使用道具 举报

发表于 2021-2-10 18:42:57 来自手机 | 显示全部楼层
电脑是UEFI启动bootx64. efi
回复

使用道具 举报

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

我也碰到L版类似问题了。不同的是,我的测试环境是普通win10 PE WIM,没有map,
也没有svbus。

前2天在AMI UEFI环境下,还说启动wim/vhd,kernel方式比chainloader方式兼容性
更好。而在Insyde UEFI环境下,此结论被打脸。insyde uefi下是反过来的,kernel
方式失败,chainloader方式成功。

==============================================
双分区(hd0,1)是NTFS,存放wim;(hd0,2)是FAT,存放G4E、ntloader等

debug 3
find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set x=
echo loader root is  x=%x%

#只加截图模块
echo load snap ctrl+alt+f12
load %x%/EFI/grub/snap12.efi
pause pause1

find --ignore-floppies --ignore-cd --set-root  /usbntfs.flg
uuid ()
kernel %x%/EFI/grub/ntloader uuid=%?_UUID% file=/w10pe17.wim
initrd %x%/EFI/grub/initrd.lz1
pause pause2

2prt.png

2prtb.jpg

=============================================


另,单分区、加NTFS_x64.efi结果雷同。
回复

使用道具 举报

发表于 2021-2-11 01:39:58 | 显示全部楼层
wintoflash 发表于 2021-2-6 19:43
256MB内存启Win10,不是没事找事吗。
另外你这 winload 和 sysroot 都是默认路径,没必要加这两个参数。 ...

不是256内存运行win10,是只设置256M的虚拟内存。两个参数加应该没影响吧,不是有太多的时间研究,看到别人添加自己添加好像没什么影响,如果是标准参数可有可无的话,以后有用,暂时记录在这里没去掉。
回复

使用道具 举报

发表于 2021-2-11 10:05:58 | 显示全部楼层
本帖最后由 2011whp 于 2021-2-11 18:27 编辑

个人觉得,还是 chainloader 的方式好  因为 试了 grub2.04

G系通用,
回复

使用道具 举报

发表于 2021-2-11 16:39:48 | 显示全部楼层
能不能修改成不指定UUID就启动第一个找到的file=/path/to/file
这样只要使用唯一的文件名就可以不指定uuid而直接启动
类似于g4d 的 ntboot nt6=/vhd/win.vhdx

点评

set * set nt6=/path/to/pe.wim find %nt6% |set x= uuid %x% cahinloader /ntloader uuid=%?_UUID% file=%nt6% initrd=/initrd.lz1  详情 回复 发表于 2021-2-11 18:33
回复

使用道具 举报

发表于 2021-2-11 18:33:52 | 显示全部楼层
本帖最后由 2011whp 于 2021-2-13 12:26 编辑
hilsonma 发表于 2021-2-11 16:39
能不能修改成不指定UUID就启动第一个找到的file=/path/to/file
这样只要使用唯一的文件名就可以不指定uuid ...

set *
set nt6=/path/to/pe.wim
find   %nt6% |set x=
uuid %x%
cahinloader  /ntloader  uuid=%?_UUID%  file=%nt6%  initrd=/initrd.lz1

算法模块方面,尽可能 漏出更多参数 以便灵活使用
参照这个写个性化的批处理:http://bbs.wuyou.net/forum.php?m ... &fromuid=413782

回复

使用道具 举报

发表于 2021-2-12 00:11:39 | 显示全部楼层
新年快乐!
这两个怎么弄?1、启动(hd0,2)上的WINDOWS10
微信图片_20210212000354.jpg
2、启动WIN10PE.WIM
微信图片_20210212000400.jpg

点评

title Boot Windows PE uuid (hdx,y) chainloader /ntloader initrd=/initrd.lz1 uuid=%?_UUID% file=/path/to/winpe.wim title Boot Windows uuid (hdx,y) chainloader /ntloader initrd=/initrd.lz1 uuid=%  详情 回复 发表于 2021-2-15 16:15
回复

使用道具 举报

发表于 2021-2-12 19:07:31 | 显示全部楼层
我无权下载

点评

https://github.com/a1ive/ntloader/releases  详情 回复 发表于 2021-2-15 16:30
回复

使用道具 举报

发表于 2021-2-15 16:15:44 | 显示全部楼层
本帖最后由 mygamexxx 于 2021-2-15 16:25 编辑
mygamexxx 发表于 2021-2-12 00:11
新年快乐!
这两个怎么弄?1、启动(hd0,2)上的WINDOWS10

title Boot Windows PE
uuid (hdx,y)
chainloader /ntloader initrd=/initrd.lz1 uuid=%?_UUID% file=/path/to/winpe.wim

title Boot Windows
uuid (hdx,y)
chainloader /ntloader initrd=/initrd.lz1 uuid=%?_UUID%

这两种可以启动
回复

使用道具 举报

发表于 2021-2-15 16:30:19 | 显示全部楼层
回复

使用道具 举报

发表于 2021-2-17 12:12:34 | 显示全部楼层
你好,我是小白,看不明怎么使用?
回复

使用道具 举报

发表于 2021-2-18 04:30:03 | 显示全部楼层
U盘成功启动WIM文件
回复

使用道具 举报

发表于 2021-2-21 10:57:04 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-2-21 10:58 编辑

请问下启动logo不居中有没有办法?已经设置了hires=0,否则进入系统之后分辨率不能更改。
IMG_20210221_105802.jpg
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-3-2 06:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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