无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 23680|回复: 44

[求助] 请问GRUB4如何启动WIM格式的win8PE!

[复制链接]
发表于 2015-10-19 17:35:41 | 显示全部楼层 |阅读模式
本帖最后由 usb2008 于 2015-10-19 17:42 编辑

menu.lst这个如何编写 希望给一个例子!用这个 wimboot 引导 就是不会写!谢谢先了 我的是PXE 启动 我之前是这样写的

title  [1]  WIN8PE
kernel (pd)/wimboot
initrd (pd)/bcd
initrd (pd)/boot.sdi
initrd (pd)/bootmgr.exe
initrd (pd)/win8pe.WIM
boot

就是不成功 !望指引 谢谢
发表于 2015-10-19 19:12:16 | 显示全部楼层
        我的一点经验,仅供你参考:
        
        在根目录下——或是硬盘,或是启动U盘兴建一个boot文件夹,把你的bcd 、boot.sdi、bootmgr、win8pe.WIM放进去,如果没有bootmgr,

从一个win8pe的ISO文件中提取一个就行,你是32位的win8pe就从其它的32位的win8pe的ISO文件中提取;你是64位的win8pe就从其它的64位

的win8pe的ISO文件中提取,然后再填写menu.lst菜单:

title 运行Win8  PE  
find --set-root /boot/bootmgr
chainloader /boot/bootmgr

       应该就能启动。
回复

使用道具 举报

发表于 2015-10-19 21:27:21 | 显示全部楼层
把initrd命令写成一行
参考这里的语法.
http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2014-11-10/

点评

这是一个老版本的grldr 报错 这是一个新版的grldr 报错  详情 回复 发表于 2015-10-20 21:11
谢谢 我明天试试先!不过我是网启环境 不知道有没有影响  详情 回复 发表于 2015-10-19 21:51
回复

使用道具 举报

 楼主| 发表于 2015-10-19 21:51:28 | 显示全部楼层
chenall 发表于 2015-10-19 21:27
把initrd命令写成一行
参考这里的语法.
http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2014-11 ...

谢谢 我明天试试先!不过我是网启环境 不知道有没有影响
回复

使用道具 举报

发表于 2015-10-20 08:02:52 | 显示全部楼层
如果你网启是使用 grldr + menu.lst 的,菜单可以这样写:

title [0]  Boot 8x86PE via WIMBOOT
kernel /boot/wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgr @boot.wim=/boot/WIN8PE.WIM

如果服务端根下的菜单是外置的,前面不要加 pxe detect
回复

使用道具 举报

发表于 2015-10-20 08:09:21 | 显示全部楼层
还有

bcd boot.sdi bootmgr

这三个文件直接用微软原版的文件,无需进行修改。
回复

使用道具 举报

发表于 2015-10-20 09:16:13 | 显示全部楼层
请问一下:我制作了UD分区的启动U盘,WIMBOOT启动U盘UD分区的WIN8PE.W,启动动画变成了滚动条,怎样才能恢复原来的启动动画
我的命令如下:
pxe detect
configfile
default 0
timeout 10
terminal console
fontfile (ud)/muifont.gz
graphicsmode -1 640:480
splashimage (ud)/bj2008.xpm.gz

title 启动WIN8PE
kernel /wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/bootmgr @boot.wim=/boot.WIM
boot

点评

你换一下,就应该正常了: title 启动WIN8PE find --set-root /boot/bootmgr chainloader /boot/bootmgr  详情 回复 发表于 2015-10-20 10:03
回复

使用道具 举报

发表于 2015-10-20 10:03:13 | 显示全部楼层
yjqd 发表于 2015-10-20 09:16
请问一下:我制作了UD分区的启动U盘,WIMBOOT启动U盘UD分区的WIN8PE.W,启动动画变成了滚动条,怎样才能恢 ...

你换一下,就应该正常了:

title 启动WIN8PE
find --set-root /boot/bootmgr
chainloader /boot/bootmgr
回复

使用道具 举报

发表于 2015-10-20 10:30:45 | 显示全部楼层
在UD分区用
find --set-root /boot/bootmgr
chainloader /boot/bootmgr
启动不了win8pe吧,bcd所指向目标在windows环境才行

点评

你试过了吗?  详情 回复 发表于 2015-10-20 10:42
回复

使用道具 举报

发表于 2015-10-20 10:42:20 | 显示全部楼层
本帖最后由 有阴也有阳 于 2015-10-20 10:51 编辑
yjqd 发表于 2015-10-20 10:30
在UD分区用
find --set-root /boot/bootmgr
chainloader /boot/bootmgr


你试过了吗?

这种用法在grub4dos环境下没有问题。

在我的grub4dos0.4.6a的启动U盘中成功运行Win10PEX64.WIM。

在grub4dos0.4.6a的启动U盘中成功运行Win10PEX64.WIM

在grub4dos0.4.6a的启动U盘中成功运行Win10PEX64.WIM
回复

使用道具 举报

发表于 2015-10-20 11:02:02 | 显示全部楼层
谢谢!
find --set-root /boot/bootmgr
chainloader /boot/bootmgr
在可见分区能够启动,但在UD分区(隐藏分区)不行

点评

坛里找 零+十pe 把你的boot.wim放入efi文件夹替换同名文件,efi文件夹放入ud内,可以不用wimboot启动。 efi文件夹打包在0pe.iso内或移出iso外都行,在ud内或外都行,在可见区或非可见区都行。  详情 回复 发表于 2015-10-21 01:19
回复

使用道具 举报

发表于 2015-10-20 11:03:36 | 显示全部楼层
也就是U盘用FbinstTool格式化后产生的UD分区
回复

使用道具 举报

发表于 2015-10-20 11:52:24 | 显示全部楼层
你的 ud 区有 bootmgr 这个文件吗?就是说,有 (ud)/boot/bootmgr 吗?不应该有啊。如果有的话,你先删除它,再用

find --set-root /boot/bootmgr
chainloader /boot/bootmgr

就是启动别的 bootmgr 了。

另外,bootmgr 需要与其他文件(例如 BCD)配合才能真正启动成功。

回复

使用道具 举报

发表于 2015-10-20 12:20:12 | 显示全部楼层
bootmgr、boot文件夹、boot.wim如果没有制作成iso,而是直接放在UD分区根目录,
find --set-root /boot/bootmgr
chainloader /boot/bootmgr
启动了bootmgr,如果bootmgr找了到UD分区的boot中的bcd,但bcd也不能识别UD分区目录结构,找不到boot.wim
回复

使用道具 举报

发表于 2015-10-20 13:27:36 | 显示全部楼层
你的逻辑好像不对劲。bootmgr 是微软的文件,它怎会承认 ud 区?你把微软的一整套启动文件放在 ud 区,肯定不行的。

但是如果是放在 fat32、ntfs 这样的分区里面,则是有可能成功的。

find 命令不只是查找 ud 区的文件,而是查找所有设备上的文件。

不要有误区,不要以为 find 命令只能找到当前分区的文件。

find 命令可以找到别的设备上的文件。

回复

使用道具 举报

发表于 2015-10-20 14:30:17 | 显示全部楼层
我的意思是:
bootmgr、boot文件夹、boot.wim如果没有制作成iso,而是直接放在UD分区根目录,
find --set-root /boot/bootmgr
chainloader /boot/bootmgr
上面命令执行后无法启动boot.wim,不是说能启动boot.wim,可能刚才没说清楚。
要用下面的命令:
kernel /wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/bootmgr @boot.wim=/boot.WIM
boot

点评

title 启动WIN8PE find --set-root /boot/bootmgr chainloader /boot/bootmgr 在UD分区用这种调用方式你试过了吗?如果你没有试过,就坚持说不行,未免太武断,不信你试试,我有把握能成功。  详情 回复 发表于 2015-10-20 15:12
回复

使用道具 举报

发表于 2015-10-20 15:12:24 | 显示全部楼层
yjqd 发表于 2015-10-20 14:30
我的意思是:
bootmgr、boot文件夹、boot.wim如果没有制作成iso,而是直接放在UD分区根目录,
find --set ...

title 启动WIN8PE
find --set-root /boot/bootmgr
chainloader /boot/bootmgr

在UD分区用这种调用方式你试过了吗?如果你没有试过,就坚持说不行,未免太武断,不信你试试,我有把握能成功。
回复

使用道具 举报

发表于 2015-10-20 15:32:16 | 显示全部楼层
谢谢!
我UD分区文件是这样的:
bootmgr、boot文件夹、boot.wim直接放在UD分区根目录
grldr菜单内容如下:

title 启动WIN8PE
find --set-root /boot/bootmgr
chainloader /boot/bootmgr
刚才测试了,没能成功启动,直接又返回菜单界面了,请问你的文件是怎么放置的,grldr菜单是怎么写的

回复

使用道具 举报

发表于 2015-10-20 15:41:09 | 显示全部楼层
bootmgr、boot.wim放在boot文件夹里测试了下也没成功
回复

使用道具 举报

发表于 2015-10-20 16:00:45 | 显示全部楼层
本帖最后由 有阴也有阳 于 2015-10-20 16:48 编辑
yjqd 发表于 2015-10-20 15:41
bootmgr、boot.wim放在boot文件夹里测试了下也没成功


抱歉!我对UD分区不太了解,在UD分区的确不能用:
title 启动WIN8PE
find --set-root /boot/bootmgr
chainloader /boot/bootmgr

否则,即有如下之错误提示:

No such partition

没有这样的分区

看来我是经验主义+想当然了,你是对的,抱歉!没能帮你解决问题,还误导了你......

不过你可以变通一下,把你的WIN8PE的boot.wim文件制作成ISO文件,再放进UD分区里,就要方便多了,用另外一个WIN8PE的ISO文件,把里面的

boot.wim替换成你的boot.wim就OK了......,用软碟通替换、保存,用相同位数(32位/64位)的WIN8PE的ISO文件来替换。

图一

图一

图二

图二

图三

图三
回复

使用道具 举报

发表于 2015-10-20 16:12:16 | 显示全部楼层
谢谢!
以前我应该是用find --set-root /boot/bootmgr
chainloader /boot/bootmgr这些命令测试过,文件位置也交换过多次,都不行,后来隔了很久了,在无忧上找到如下命令,并且还要wimboot文件,grldr版本也有要求(从某一版本起才行),
kernel /wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/bootmgr @boot.wim=/boot.WIM
boot
就成功了

如果用find --set-root /boot/bootmgr
chainloader /boot/bootmgr能成功启动就更好,就不需要另外下载wimboot文件,对grldr版本要求也没那么严


回复

使用道具 举报

发表于 2015-10-20 16:22:08 | 显示全部楼层
应该是从grub4dos-0.4.6a-2014-11-10.7z起就可以了吧
chenall的介绍
http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2014-11-10/
回复

使用道具 举报

发表于 2015-10-20 16:29:29 | 显示全部楼层
grub4dos 0.4.6a ipxegrldr 功能介绍
http://chenall.net/post/grub4dos_ipxe/
回复

使用道具 举报

发表于 2015-10-20 16:38:13 | 显示全部楼层
yjqd 发表于 2015-10-20 16:12
谢谢!
以前我应该是用find --set-root /boot/bootmgr
chainloader /boot/bootmgr这些命令测试过,文件 ...

wimboot你是放在UD分区的根目录吗?还是放到boot文件夹中?还是其它什么地方?
回复

使用道具 举报

发表于 2015-10-20 16:39:57 | 显示全部楼层
我以前就是用的iso格式,但更换boot.wim文件麻烦(因为有时在boot.wim里增添工具),为了学习了UltraISO命令和fbist命令,目的是制作批处理自动更换iso里面的boot.wim,并且把iso导入UD分区,方便多了,但是学习命令也够麻烦的,特别是UltraISO命令网上资料比较少,但总归学到了它们的命令

后来就想在UD分区直接启动boot.wim,还终于找到命令了
回复

使用道具 举报

发表于 2015-10-20 16:48:27 | 显示全部楼层
wimboot、bootmgr、boot文件夹、boot.wim放在UD分区根目录
bcd、boot.sid在boot文件夹里面
其实wimboot、bootmgr、boot.wim都可以放在boot文件夹里面,当然grldr菜单内容也要变

boot文件夹名不能改吧,bcd、boot.sid也必须要放在boot文件夹里吧
回复

使用道具 举报

发表于 2015-10-20 16:54:50 | 显示全部楼层
yjqd 发表于 2015-10-20 16:48
wimboot、bootmgr、boot文件夹、boot.wim放在UD分区根目录
bcd、boot.sid在boot文件夹里面
其实wimboot、 ...

谢谢!!!又学了一手。
回复

使用道具 举报

发表于 2015-10-20 16:56:59 | 显示全部楼层
测试了,boot文件夹名称改了也能启动
回复

使用道具 举报

发表于 2015-10-20 16:59:34 | 显示全部楼层
又测试了,bcd、boot.sid放在根目录也行
回复

使用道具 举报

发表于 2015-10-20 17:16:12 | 显示全部楼层
fbinst (hd1) export win8pe.iso %cd%\win8pe.iso
echo 从ud分区导出win8pe.iso
pause


ultraiso -in WIN8PE.ISO -rm /boot/boot.wim -out lsWIN8PE.ISO
pause
echo 更换iso中的boot.wim
ultraiso -in lsWIN8PE.ISO -chdir /boot -f %cd%\boot.wim
pause

fbinst (hd1) remove WIN8PE.ISO
echo 删除ud分区的WIN8PE.ISO
pause
echo --------50%%---------100%%
fbinst (hd1) add -e WIN8PE.ISO %cd%\lsWIN8PE.ISO
del /a /f lsWIN8PE.ISO
echo 把win8pe.iso导入到ud分区
echo 完成
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-14 17:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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