无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)最好用的系统一键装机工具广告联系 QQ:184822951 微信:wuyouceo
查看: 7554|回复: 103

[原创] NTBOOT for UEFI GRUB2

    [复制链接]
发表于 2019-11-20 17:40:12 | 显示全部楼层 |阅读模式
本帖最后由 wintoflash 于 2020-5-10 14:58 编辑

本帖内容不再更新,项目中止。愿意接手的可以到GitHub发PR和issue。

----------------------------

根据 chenall 的 GRUB4DOS NTBOOT 移植的模块,适用于UEFI,可以启动 Windows WIM/VHD。
使用方法
  1. ntboot [-v|-w] [--efi=FILE] [--sdi=FILE] FILE
  2.     -g, --gui 显示图形界面启动信息
  3.     -p, --pause 启动过程中暂停以查看调试信息
  4.     -v, --vhd 指定启动类型为 VHD
  5.     -w, --wim 指定启动类型为 WIM
  6.     -e, --efi=FILE 指定 bootmgfw.efi 文件, 默认加载路径为 /efi/microsoft/boot/bootmgfw.efi
  7.     -s, --sdi=FILE 指定 boot.sdi 文件, 默认加载路径为 /boot/boot.sdi
复制代码

示例1: 启动WIM,bootmgfw.efi 和 boot.sdi 位于默认加载路径

  1. ntboot --gui (hd1,2)/test/wepe64.wim
复制代码


示例2: 启动VHD,bootmgfw.efi 和 boot.sdi 位于默认加载路径
  1. ntboot --gui (hd0,1)/boot/win10.vhd
复制代码


示例3: 启动WIM,指定 bootmgfw.efi 和 boot.sdi 的位置
  1. ntboot --gui --efi=/a/bootx64.efi --sdi=/a/boot.sdi (hd1,gpt4)/test/test.vhd
复制代码


深度录屏_vmware_20191120170611.gif
下载
https://github.com/a1ive/grub/releases/tag/latest

  1. grub-mkimage -d x86_64-efi -p /boot/grub -o grubx64.efi -O x86_64-efi acpi affs afs all_video bfs bitmap bitmap_scale blocklist boot bsd btrfs cat chain cmp commandline configfile cpio crc date datehook dd disk dm_nv echo efi_gop efi_uga efifwsetup efiload eval exfat expr ext2 extcmd f2fs fat fb file font fshelp getenv getkey gfxmenu gfxterm gfxterm_background gfxterm_menu gptsync gzio halt hashsum help hexdump hfs hfsplus iso9660 jfs jpeg keystatus legacycfg linux linuxefi loadbios loadenv loopback ls lsacpi lua lvm lzopio mdraid09 mdraid09_be memdisk minicmd multiboot multiboot2 newc normal ntfs part_apple part_bsd part_gpt part_msdos partnew parttool png probe progress raid5rec raid6rec random read reboot regexp reiserfs sbpolicy search setenv shell sleep squash4 syslinuxcfg tar terminal terminfo test tga time true udf vhd video video_colors video_fb videoinfo wimboot xfs xnu xzio zfs map ntboot
复制代码
注意事项
只支持硬盘分区(mbr/gpt)上的WIM和VHD。
要确保bootmgfw.efi能认这个分区(FAT/NTFS/exFAT)。
启动VHD如果不加--gui选项,可能会有个错误(如下图),不过不要慌,按两遍回车就可以了。
深度截图_plasmashell_20191120170659.png

技术细节
虚拟盘是借用wimboot的功能生成的单分区FAT盘, bootmgfw.efi, boot.sdi都会被加入到盘里面。
使用vfat命令可以向盘中添加文件。如果想了解更多关于这个盘的信息,可以参考源码或输入 vfat --help。

BCD是内置的特殊文件,里面有标记方便修改,细节参考 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417518

参考
本模块参考了以下项目的代码,感谢开源
https://github.com/ipxe/wimboot
http://chenall.net/post/ntboot/

源码
https://github.com/a1ive/grub 许可协议 GPLv3




评分

参与人数 15无忧币 +78 收起 理由
cuicongyuan + 5 赞一个!
johnyou + 3 赞一个!
sghihor + 5
2011yaya2007777 + 5 很给力!
Climbing + 5 赞一个!
826773297 + 5 很给力!
chenall + 5 很给力!
liuzhaoyzz + 10 很给力!
liaonf + 5 赞一个!
2010sya + 5 赞一个!
hilsonma + 5 很给力!
freesoft00 + 5
ksafei + 5 很给力!
江南一根葱 + 5 努力秒杀xorboot 踏平udm
bardlet + 5 赞一个!

查看全部评分

发表于 2019-11-20 17:51:59 | 显示全部楼层
前排支持一下
回复

使用道具 举报

发表于 2019-11-20 18:01:40 | 显示全部楼层
LZ最近移植的功能多,要升仙封神了

点评

红毛改个磁盘驱动出来,让瘟哆撕能认到grub2的内存盘  详情 回复 发表于 2019-11-20 19:18
回复

使用道具 举报

发表于 2019-11-20 18:49:54 | 显示全部楼层
支持一下支持一下支持一下
回复

使用道具 举报

发表于 2019-11-20 19:18:39 | 显示全部楼层
红毛樱木 发表于 2019-11-20 18:01
LZ最近移植的功能多,要升仙封神了

红毛改个磁盘驱动出来,让瘟哆撕能认到grub2的内存盘
回复

使用道具 举报

发表于 2019-11-20 19:25:25 | 显示全部楼层
期待支持 差分及VHDX

点评

同求  详情 回复 发表于 2020-1-11 21:09
如果bootmgfw.efi能直接启,那就行,否则,不行.  详情 回复 发表于 2019-11-20 21:27
回复

使用道具 举报

发表于 2019-11-20 20:36:16 | 显示全部楼层
很给力!
回复

使用道具 举报

发表于 2019-11-20 20:52:48 | 显示全部楼层
可以写一个,UEFI GRUB2  PXE引导 的事例吗?

点评

@江南一根葱  详情 回复 发表于 2019-11-20 21:27
回复

使用道具 举报

发表于 2019-11-20 21:01:49 | 显示全部楼层
本帖最后由 wuwuzz 于 2019-11-20 21:03 编辑

启动U盘上的固定wtg.vhd成功。

红毛说的没错,LZ最近功劳很大,要升仙
封神了。

下一步,需要有人写识别虚拟盘的win驱动,
以充分发挥MAP的作用。



回复

使用道具 举报

发表于 2019-11-20 21:04:37 来自手机 | 显示全部楼层
某些绕过安全打包的grub2版本为2.02,楼主的grub2为2.05版,且某些模块还是特制的,请问如何兼容?如果出现某mod已加载的提示,该如何处理?

点评

没看我的帖子? http://bbs.wuyou.net/forum.php?mod=viewthread&tid=416924  详情 回复 发表于 2019-11-20 21:21
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-6-2 19:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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