无忧启动论坛

标题: 为何 10pe.iso 能直接仿真启动? [打印本页]

作者: 不点    时间: 2018-1-22 09:52
标题: 为何 10pe.iso 能直接仿真启动?
我不知道究竟是什么情况,tools241 制作的 10PE 就能这样启动:

map  (...)/.../10PE17046x64_C.iso  (0xff)
chainloader (0xff)
boot

这究竟是 iso 制作者添加了什么工具呢?还是 win10 本来就可以这么启动?

要知道,以前如果没有 firadisk 和 winvblock,那是不能从 iso 随便就启动 Windows 的。

我觉得很蹊跷。谁知道情况的,请说说。



作者: ge    时间: 2018-1-22 10:52
帮大师往上顶!我是什么都不会!就做点力所能及的!期待高人解答!
作者: 江南一根葱    时间: 2018-1-22 11:01
呃,win8以上都可以,不对啊,不是7也可以么
作者: 不点    时间: 2018-1-22 11:23
江南一根葱 发表于 2018-1-22 11:01
呃,win8以上都可以,不对啊,不是7也可以么

我不记得有这事。如果不经过 firadisk 、winvblock,那么实模式建立的 grub4dos 虚拟光盘就没法被 Windows 认可。

有可能是 ISO 制作者在实模式加载了只有 Windows 可以识别的内存盘(不是由 grub4dos 建立的),这样 Windows 在内存盘上运行。

具体是什么技术,我想了解。请知情者解答一下。


作者: 江南一根葱    时间: 2018-1-22 11:33
不点 发表于 2018-1-22 11:23
我不记得有这事。如果不经过 firadisk 、winvblock,那么实模式建立的 grub4dos 虚拟光盘就没法被 Window ...

哦,现在8以上的pe很多都是用了ipxe的wimboot文件来启动wim的
作者: 求道者    时间: 2018-1-22 12:34
本帖最后由 求道者 于 2018-1-22 12:41 编辑

应该说是bootmgr开始就内建了ramdisk
所以说
有可能是 ISO 制作者在实模式加载了只有 Windows 可以识别的内存盘(不是由 grub4dos 建立的),这样 Windows 在内存盘上运行。

不全对
但是确实是在实模式阶段创建了一个只有win认可的ramdisk
假如grub4dos能创建这个东西的话倒是会方便许多

winboot如果能移植到grub4dos的话
我就也不用那个兼容性差的要死的xorboot了

作者: captain_g    时间: 2018-1-22 12:47
grldr很早就有命令支持wimboot的,只不过需要额外准备wimboot这个文件;
作者: 红毛樱木    时间: 2018-1-22 12:50
firadisk 和 winvblock只是用来在windows下识别读取grldr map的iso,和启动无任何关系呀。
作者: yjqd    时间: 2018-1-22 13:47
记得Windows的系统安装镜像或是PE如果是ISO格式的,都能用grub4dos直接map启动

win7及win7以上的pe系统如果是wim打包成ISO的,grub4dos加载后,就是bootmgr和boot.sdi的事了,会创建 RAMDISK

你自己可从Windows的系统安装镜像中提取一个wim文件、BOOTMGR和boot文件夹出来,用微软的oscdimg.exe打包ISO镜像(也可用mkisofs打包ISO镜像),引导文件用BOOTMGR或ETFSBOOT.COM,不需要第三方的文件就可用grub4dos启动

引导至引导映像的工作原理
https://technet.microsoft.com/zh-cn/library/cc771845(v=ws.10).aspx
作者: tools241    时间: 2018-1-22 13:57
本帖最后由 tools241 于 2018-1-22 14:39 编辑

本人打包的Grub4DOS范例.rar有许多创举, 但大大所提的 "特异功能" 其实不在其中,
主要为:
1.不参照BOOT.ini,直接启动第一个XP,
2.可直接启动(多个)Win7,...(多个)Win10
3.提供多种 ???BOOTMGR , 只要将 *boot.WIM 改名为对应的 ???boot.WIM 便可启动此 ???boot.WIM
4.由U盘或硬盘启动的效果一致


[分享]Grub4Dos - 直接启动Win10,...,Win7, 第1个XP, XP.VHD, ISO, WIM, PE ==>
    http://bbs.wuyou.net/forum.php?mod=viewthread&tid=380990

作者: tools241    时间: 2018-1-22 13:59
本帖最后由 tools241 于 2018-1-22 14:03 编辑

1.关于本人发布的 10PE17046_C.ISO, 10PE17046x86_C.ISO 采用的是WinPE生成器本身的ISO模组.
2.用本人打包的Grub4DOS范例.rar已内含 \boot\winvblock.img.gz 及 \boot\grub\vboot.mod

所以一般 menu.lst 的内容如下:
......
title [08] 简体 10PE17046x64_C 稳定版
fallback 6
find --set-root /boot/10PE17046x64_C.iso
map --mem /boot/winvblock.img.gz (fd0)
map --mem /boot/10PE17046x64_C.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
......
____________________________

大大可做交叉测试:
test 1.试他人发的10PE*.ISO 看能否正常启动.

test 2.将 \boot\winvblock.img.gz 改名为 \boot\winvblock.img.gz.old
改menu.lst :
title [08] 简体 10PE17046x64_C 稳定版
fallback 6
find --set-root /boot/10PE17046x64_C.iso
map --mem /boot/10PE17046x64_C.iso (0xff)
map --hook
chainloader (0xff)

作者: 不点    时间: 2018-1-22 14:04
我看到 chenall 有一篇文章提到 wimboot。但 chenall 似乎是用微软的 wimboot.exe,不是 ipxe 里面的 wimboot。

ipxe 中的 wimboot 用是 kernel 命令加载的。我猜 wimboot 文件是 Linux 内核格式。

如果 wimboot 确实是 Linux 内核格式,那么,不需要移植到 grub4dos,因为 grub4dos 也支持加载 Linux 内核格式,我想,应该直接可以加载 wimboot。但可能需要修改 grub4dos 的 initrd 命令,以便配合 wimboot 来启动 WIM 文件。

建议 chenall 或 yaya 来做这个工作。


作者: liuzhaoyzz    时间: 2018-1-22 14:12
与firadisk或者winvblock关系不大吧?就是XPPE.ISO也能够直接map启动啊?只不过不加firadisk或者winvblock没有外置程序罢了,如果把所有的外置程序都内置到内核里面,那么外置也能看到了。
map  (...)/.../XPPE.iso  (0xff)
chainloader (0xff)
boot
XPPE.ISO里面有个WINPE.IS_这样子的文件,解压缩后就是WINPE.IMG,把外置程序放到里面不用firadisk/winvblock也能看到外置程序。
10PE.iso很多是WIM格式,直接挂载到某个目录,不需要firadisk/winvblock。

作者: 江南一根葱    时间: 2018-1-22 14:49
不点 发表于 2018-1-22 14:04
我看到 chenall 有一篇文章提到 wimboot。但 chenall 似乎是用微软的 wimboot.exe,不是 ipxe 里面的 wimbo ...

新的g4d可以用wimboot的,
kernel (bd)/wimboot/wimboot

initrd @bcd=(bd)/wimboot/bcd @boot.sdi=(bd)/wimboot/boot.sdi @bootmgr=(bd)/wimboot/bootmgr @boot.wim=(bd)/boot/pe32.wim

wim可以在任意位置,包括在cd,好像wimboot就是个ramdisk之类的?
不过如果能集成到g4d里的话就更方便了,不用写这么长了

作者: 不点    时间: 2018-1-22 15:02
江南一根葱 发表于 2018-1-22 14:49
新的g4d可以用wimboot的,
kernel (bd)/wimboot/wimboot

哦,原来 chenall 早做了这个工作。你提醒得很及时。

这样就很好了,没必要把 wimboot 也集成进来。保持各个功能模块的独立性,这样很好。

关键是大家都不那么有热情了,都不愿意费劲去开发了,尤其是在已经有某种现成的办法存在的情况下。


作者: fuldho    时间: 2018-1-22 15:06
能直接仿真启动bootmgr启动的iso,一直都是这样做到


作者: 江南一根葱    时间: 2018-1-22 15:07
不点 发表于 2018-1-22 15:02
哦,原来 chenall 早做了这个工作。你提醒得很及时。

这样就很好了,没必要把 wimboot 也集成进来。保 ...

嗯,都老了呗,我也是拿着保温杯,一把枸杞的中老年人了。
作者: 江南一根葱    时间: 2018-1-22 16:13
话说哪位技术老前辈出来把grub2整一下,让它能支持wimboot,造福下人类。。
作者: nf17b    时间: 2018-1-22 16:21
關鍵是 iso 檔內沒有外置程序

map  (...)/.../10PE17046x64_C.iso  (0xff)
chainloader (0xff)
boot
很早的 g4d 版本就可以 , 只是如果 iso 檔有外置程序 , 加載不到

作者: 求道者    时间: 2018-1-22 19:02
江南一根葱 发表于 2018-1-22 16:13
话说哪位技术老前辈出来把grub2整一下,让它能支持wimboot,造福下人类。。

是啊EFI下就很难受了
作者: 江南一根葱    时间: 2018-1-22 20:36
求道者 发表于 2018-1-22 19:02
是啊EFI下就很难受了

哎,现在efi启动多个wim很不方便,xorboot我试了兼容性不好,各种灰屏不断,ipxe启动就没问题,
有牛人能改下ipxe的源码也很不错,速度快,轻巧,很多启动都支持
作者: dos时代菜鸟    时间: 2018-1-24 23:39
grub 的 mem 内存盘 for win驱动 必须用到pe ,不然,进入pe 就看不到 虚拟盘上的东西。 bcd 里面还要 搞 关闭驱动签名啥的。
我弄过 win8 pe  的 x86 和 x64 版本,都是如此,话说  wim  也要装入内存 ,所以 我当时 考虑 用grub 虚拟 盘 加上  native 模式,这个在  x86 上 可以实现,但是 因为 没有 native.exe 的 x64位程序,也就 没有意义了。

win8pe x86 通过 grub4dos 的 map mem 整个 iso 装入,然后 在 native 启动 win8pe ,这个 xpe 上用 着 还挺爽。适用于 iso 中存有少量外置程序的情况。
作者: 求道者    时间: 2018-1-27 21:52
江南一根葱 发表于 2018-1-22 20:36
哎,现在efi启动多个wim很不方便,xorboot我试了兼容性不好,各种灰屏不断,ipxe启动就没问题,
有牛人能 ...

放弃xorboot那个倒霉玩意了
本身就是打算用来解决PE在mac下的启动问题
现在倒好

反正usb2.0的bug解决了
那就直接解开引导bootmgr吧……
作者: 江南一根葱    时间: 2018-1-27 22:18
求道者 发表于 2018-1-27 21:52
放弃xorboot那个倒霉玩意了
本身就是打算用来解决PE在mac下的启动问题
现在倒好

mac的话我试过用ipxe很好,编译一个efi指向ipxe菜单,菜单指向本地wim来wimboot是可以秒启的
作者: 不点    时间: 2018-1-29 05:54
最新的 wimboot 2.6 遇到问题了!请留意!

在以下的报告中(17楼 ktp 的发言),wimboot 2.5.2 没问题,但 2.6 不正常。

http://reboot.pro/topic/21614-ipxe-wimboot-and-multi-platform-pcbiosefii386x86-64/






欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3