无忧启动论坛

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

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

    [复制链接]
发表于 2021-2-7 20:09:24 | 显示全部楼层
2011whp 发表于 2021-2-7 12:16
可能是  win 要锁定  esp分区 ,然后找不到吧,

你的情况,应该是先装的win7,后装的win 10吧(你用bo ...

我的bootmgfw.efi 文件WIN7是720K,Win10是1.2M,都是独立安装好,能正常进系统,然后再进行多系统引导的,看到你的分析,估计是启动时找不到这个bootmgfw.efi ,因为我在用chainloader /efi/microsoft/boot/bootmgfw.efi启动系统时,已经修改了bootmgfw.efi为boot7.efi,我尝试修改回来,还是蓝屏。
回复

使用道具 举报

发表于 2021-2-8 01:41:07 | 显示全部楼层
wintoflash 发表于 2021-2-7 15:52
win7 UEFI 要用特殊的 bootmgfw.efi 文件,这个还没有搞。

原来是我太着急了。

点评

希望 出个 initrd.lz0 来启动win7 (兼容 以前的系统)  发表于 2021-2-8 11:04
回复

使用道具 举报

 楼主| 发表于 2021-2-8 15:03:51 | 显示全部楼层
dos时代菜鸟 发表于 2021-2-7 16:42
用这个 启动 本地系统 win10  不支持休眠 么?

ntloader.zip (2.13 MB, 下载次数: 37)

点评

好的,  详情 回复 发表于 2021-2-8 16:08
回复

使用道具 举报

发表于 2021-2-8 16:08:11 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2021-2-8 16:23 编辑
wintoflash 发表于 2021-2-8 15:03
试试,应该支持休眠了。

好的,

休眠、睡眠按钮都能用了,但是 ,功能不正常,点完以后,马上就又回系统里来了,并没有 保存数据。

点评

是不是开了"快速启动"?  详情 回复 发表于 2021-2-8 18:29
回复

使用道具 举报

发表于 2021-2-8 16:09:47 | 显示全部楼层
wintoflash 发表于 2021-2-7 17:12
"不能启动" 的具体现象是什么?

没有任何提示的卡死,屏幕纯色 青色,不是蓝屏,然后 Ctrl+Alt+del 就重启了。
回复

使用道具 举报

 楼主| 发表于 2021-2-8 18:29:07 | 显示全部楼层
dos时代菜鸟 发表于 2021-2-8 16:08
好的,

休眠、睡眠按钮都能用了,但是 ,功能不正常,点完以后,马上就又回系统里来了,并没有 保存数 ...

是不是开了"快速启动"?

点评

有可能,老机器,可能bios 里没有这设置。 我明天看看才知道。  详情 回复 发表于 2021-2-8 20:48
回复

使用道具 举报

发表于 2021-2-8 20:48:28 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2021-2-8 22:20 编辑
wintoflash 发表于 2021-2-8 18:29
是不是开了"快速启动"?

有可能,老机器,可能bios 里没有这设置。
我明天看看才知道。

BIOS 里面关闭了 快速启动 也是一样不行。只能重新启动。

回复

使用道具 举报

发表于 2021-2-8 22:21:59 | 显示全部楼层
那个  no bootmgfw.efi 的问题,我 是在 kernel /ntloader 前 先 chainloader bootmgfw.efi 来解决的。

title win10PE.x64
        find /boot/pe/win10pe_x64.wim | set pe_path=
        uuid %pe_path%
        chainloader /efi/microsoft/boot/bootmgfw.efi
        kernel /efi/grub/ntloader uuid=%?_UUID% file=/boot/pe/win10pe_x64.wim
        initrd /efi/grub/initrd.lz1
        boot

点评

你这样用不行。  详情 回复 发表于 2021-2-8 22:25
回复

使用道具 举报

 楼主| 发表于 2021-2-8 22:25:11 | 显示全部楼层
dos时代菜鸟 发表于 2021-2-8 22:21
那个  no bootmgfw.efi 的问题,我 是在 kernel /ntloader 前 先 chainloader bootmgfw.efi 来解决的。

...

你这样用不行。

点评

为啥呢? 开始我以为是 本地 bootmgfw.efi 调用了本地的 bcd ,我把 本地的 bcd 改名了,一样可以。  详情 回复 发表于 2021-2-9 09:16
回复

使用道具 举报

发表于 2021-2-9 09:16:31 | 显示全部楼层

为啥呢?
开始我以为是  本地 bootmgfw.efi 调用了本地的 bcd ,我把 本地的  bcd  改名了,一样可以。

点评

ntloader加载的bootmgfw.efi和bcd在initrd文件里面.  详情 回复 发表于 2021-2-9 09:43
回复

使用道具 举报

 楼主| 发表于 2021-2-9 09:43:33 | 显示全部楼层
dos时代菜鸟 发表于 2021-2-9 09:16
为啥呢?
开始我以为是  本地 bootmgfw.efi 调用了本地的 bcd ,我把 本地的  bcd  改名了,一样可以。
...

ntloader加载的bootmgfw.efi和bcd在initrd文件里面.

点评

可是 提示 no bootmgfw.efi ,也不知道为啥。 先chainloader bootmgfw.efi 加载了以后,就没这提示了。调用的也是 initrd.lz1 里的 bcd  详情 回复 发表于 2021-2-9 22:09
回复

使用道具 举报

 楼主| 发表于 2021-2-9 11:31:44 | 显示全部楼层
本帖最后由 wintoflash 于 2021-2-9 11:55 编辑

v1.0.5
增加 win7 bootmgfw.efi 和 uefiseven
添加 win7 和 vgashim 参数以模拟 int10h 启动 Win7
  1. kernel /ntloader %?_UUID% win7 vgashim
复制代码


仅供测试

点评

1.05版本,启动svbus内存系统还是7B蓝屏。菜单前面有贴出来。  详情 回复 发表于 2021-2-9 17:42
启动win7vhd出错:Fatal no bootmgfw.efi  详情 回复 发表于 2021-2-9 13:24
回复

使用道具 举报

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

启动win7vhd出错:Fatal no bootmgfw.efi
win7vhd1.jpg

点评

抱歉,提交源码的时候漏了点东西。请重新下载。  详情 回复 发表于 2021-2-9 14:00
回复

使用道具 举报

 楼主| 发表于 2021-2-9 14:00:24 | 显示全部楼层
hiluo 发表于 2021-2-9 13:24
启动win7vhd出错:Fatal no bootmgfw.efi

抱歉,提交源码的时候漏了点东西。请重新下载。

点评

新下载,启动win7vhd黑屏无提示(win10台式机不支持?)  详情 回复 发表于 2021-2-9 14:32
回复

使用道具 举报

发表于 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了。
最近很懒,什么都不想干。

点评

试试。 这个只能用 不能 chainloader。  详情 回复 发表于 2021-6-16 10:33
回复

使用道具 举报

发表于 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类似
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2022-7-1 05:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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