无忧启动论坛

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

[分享] grldr + wimboot

    [复制链接]
跳转到指定楼层
#
发表于 2014-11-12 09:51:48 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
试用 2014-11-10 0.46a 版的 grldr
在菜单中通过
kernel /boot/wimboot
initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgr @boot.wim=/boot/WIN8164PE.WIM
启动 U 盘可见分区中 WIM 格式的 WIN8164 PE 成功。
如果 bcd 中没有其他选项,则在以 8M 间隔读完 WIN8164PE.WIM 文件后,应该是直接加载进入 PE 系统;
但是,我的 bcd 文件中不止一个选项。实测时,在读完 WIN8164PE.WIM 后,出现了选项菜单,这时我可以选择进入(其他) PE 系统。
我的想法是:是否可以不先读取 WIM 文件。

另外,尝试用这样的菜单命令进行网启,但没有成功。在成功读完 WIM 文件后,客户端屏幕提示 PXE UNLOADED,再无其他反应,只能 RESET 重启。
推荐
 楼主| 发表于 2014-11-12 11:13:09 | 只看该作者
谢谢 chenall !我再仔细研究一下。
回复

使用道具 举报

推荐
发表于 2014-11-12 11:12:19 | 只看该作者
沙发啊,支持一个,学习了。
回复

使用道具 举报

推荐
发表于 2014-11-12 10:25:12 | 只看该作者
用wimboot应该和位置无关呀,只要grub4dos能访问到的就可以了比如fb上面也是一样的.

用wimboot建议使用未经修改的BCD文件.直接从光盘提取的.另外用WIMBOOT
wimboot 支持指定 index,这样就可以把多个WIM PE整在一个WIM上面,通过指定index 来启动.

用WIMBOOT就是可以简化WIMPE的启动,不需要修改BCD文件等,只要处理好WIM文件就行了.
回复

使用道具 举报

推荐
发表于 2014-11-13 08:54:41 | 只看该作者
zhaohj 发表于 2014-11-13 08:32
使用win8原版的bcd、boot.sdi、bootmgr ,也无法进入PE,虚拟机自动重启了。能见到加载的进度条,
:w8pe
...

我用QEMU测试正常,不过我是使用GRUB4DOS测试的.
WIN8的BCD/BOOTMGR/BOOT.SDI + WIN7PE
回复

使用道具 举报

推荐
发表于 2014-11-16 13:06:07 | 只看该作者

感谢提供,除bbb外其他几个bcg等等文件能否一起分享?
回复

使用道具 举报

推荐
发表于 2014-11-13 08:32:27 | 只看该作者
本帖最后由 zhaohj 于 2014-11-13 08:45 编辑

使用win8原版的bcd、boot.sdi、bootmgr ,也无法进入PE,虚拟机自动重启了。能见到加载的进度条,
:w8pe
  kernel http://${next-server}:81/wimboot pause
  initrd http://${next-server}:81/boot/bcd bcd
  initrd http://${next-server}:81/boot/boot.sdi boot.sdi
  initrd http://${next-server}:81/bootmgr bootmgr
  initrd http://${next-server}:81/w8pe/w8pe1.wim boot.wim
  boot

Snap1.jpg (58.21 KB, 下载次数: 282)

Snap1.jpg

Snap2.jpg (17.1 KB, 下载次数: 285)

Snap2.jpg
回复

使用道具 举报

推荐
发表于 2014-11-12 18:39:01 | 只看该作者
chenall 发表于 2014-11-12 18:08
估计WIMBOOT不支持这些修改的特殊BCD/BOOTMGR

建议直接使用原版BCD+BOOTMGR

不同版本能混用吗  比如win7的bcd+bootmgr启动win8的wim
回复

使用道具 举报

推荐
发表于 2014-11-12 18:08:57 | 只看该作者
zhaohj 发表于 2014-11-12 17:40
:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd w8pe/bc ...

估计WIMBOOT不支持这些修改的特殊BCD/BOOTMGR

建议直接使用原版BCD+BOOTMGR
回复

使用道具 举报

推荐
发表于 2014-11-12 17:40:55 | 只看该作者
本帖最后由 zhaohj 于 2014-11-12 17:45 编辑

:w8pe
  kernel http://${next-server}:81/wimboot
  initrd http://${next-server}:81/w8pe/bcd w8pe/bcd
  initrd http://${next-server}:81/w8pe/w8pe.sdi w8pe/w8pe.sdi
  initrd http://${next-server}:81/w8pe/W8BCD bootmgr.exe
  initrd http://${next-server}:81/w8pe/w8pe1.wim w8pe/w8pe1.wim
  boot
与上图一样效果
是否是这个bcd只能包含wim文件的菜单?
原来的bcd是这样生成的:
echo off

set d01=Windows8 PE (w8pe.wim)  by one1
set f01=ramdisk=[boot]\w8pe\W8pe.WIM,{ramdiskoptions}

set d02=Windows8 PE (w8pe1.wim) by one2
set f02=ramdisk=[boot]\w8pe\W8pe1.WIM,{ramdiskoptions}

set d03=Windows8 PE (w8pe2.wim) by coolg
set f03=ramdisk=[boot]\w8pe\W8pe2.WIM,{ramdiskoptions}

set d04=grub4dos
set f04=\grldr

set d05=Local system
set f05=\boot\startrom.com

set d06=mem test
set f06=\boot\memtest.exe

set d00=pxelinux.0 (linux)
set f00=\pxelinux.0

del bcd
bcdedit /createstore bcd

bcdedit /store bcd /create {bootmgr} /d "Windows Boot Manager"
bcdedit /store bcd /set {bootmgr} timeout 10
rem bcdedit /store bcd /set {bootmgr} graphicsmodedisabled yes
bcdedit -store bcd /set {bootmgr} locale zh-CN
rem 数字签名
bcdedit /store bcd /set {bootmgr} nointegritychecks yes

bcdedit /store bcd /create {ramdiskoptions}
bcdedit /store bcd /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store bcd /set {ramdiskoptions} ramdisksdipath \w8pe\w8pe.sdi
rem TFTP传输块大小
rem bcdedit /store bcd /set {ramdiskoptions} ramdisktftpblocksize 2048
rem TFTP窗口大小
rem bcdedit /store bcd /set {ramdiskoptions} ramdisktftpwindowsize 100

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "%d01%" /application osloader ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} systemroot  \windows
bcdedit -store bcd /set {%GUID1%} path  \windows\system32\boot\winload.exe
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set {%GUID1%} winpe  yes
bcdedit -store bcd /set {%GUID1%} detecthal yes
bcdedit -store bcd /set {%GUID1%} device  %f01%
bcdedit -store bcd /set {%GUID1%} osdevice  %f01%
bcdedit  -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('bcdedit -store bcd -create /d "%d02%" /application osloader ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} systemroot  \windows
bcdedit -store bcd /set {%GUID1%} path \windows\system32\boot\winload.exe
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set {%GUID1%} winpe  yes
bcdedit -store bcd /set {%GUID1%} detecthal yes
bcdedit -store bcd /set {%GUID1%} device  %f02%
bcdedit -store bcd /set {%GUID1%} osdevice  %f02%
bcdedit  -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('bcdedit -store bcd -create /d "%d03%" /application osloader ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} systemroot  \windows
bcdedit -store bcd /set {%GUID1%} path \windows\system32\boot\winload.exe
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set {%GUID1%} winpe  yes
bcdedit -store bcd /set {%GUID1%} detecthal yes
bcdedit -store bcd /set {%GUID1%} device  %f03%
bcdedit -store bcd /set {%GUID1%} osdevice  %f03%
bcdedit  -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "%d04%" /application bootsector ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH %f04%
bcdedit -store bcd /set {%GUID1%} graphicsmodedisabled yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create /d "%d05%" /application startup ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH %f05%
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit -store bcd /set  {%GUID1%} pxesoftreboot yes
bcdedit /store bcd /set {%GUID1%} nointegritychecks yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store bcd -create {memdiag} /d "%d06%" ') do SET GUID1=%%j
bcdedit -store bcd /set {%GUID1%} device boot
bcdedit -store bcd /set {%GUID1%} PATH %f06%
bcdedit -store bcd /set {%GUID1%} locale zh-CN
bcdedit /store bcd /set {%GUID1%} nointegritychecks yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

for /f "tokens=1,2 delims={}" %%i in ('Bcdedit -store BCD -create /d "%d00%" /application startup ') do SET GUID1=%%j
bcdedit -store BCD /set {%GUID1%} device boot
bcdedit -store BCD /set {%GUID1%} PATH %f00%
bcdedit -store bcd /set {%GUID1%} pxesoftreboot yes
bcdedit -store bcd /displayorder {%GUID1%} /addlast

pause
bcdedit /enum all /store bcd
del /a:h bc?.log
pause
回复

使用道具 举报

35#
发表于 2021-3-29 19:00:26 | 只看该作者
wimboot引导正常的WINODWS可以不?“”
回复

使用道具 举报

34#
发表于 2020-10-5 21:44:03 | 只看该作者
yjqd 发表于 2019-6-6 14:56
问一下:

grldr版本是046a

initrd /boot/bcd bcd
initrd /boot/boot.sdi boot.sdi
initrd /bootmgr bootmgr.exe
initrd /WINPE.WIM boot.wim

这个是你bcd 里面名字是boot.wim,还有应该是 bootmgr.exe, 前面是真实文件,后面是wimboot的。更grub4dos @后面那个一样。
回复

使用道具 举报

33#
发表于 2020-3-3 12:30:05 | 只看该作者
回复

使用道具 举报

32#
发表于 2020-1-26 20:08:06 | 只看该作者
学习了谢谢
回复

使用道具 举报

31#
发表于 2019-6-6 15:07:46 | 只看该作者
captain_g 发表于 2019-6-6 15:01
这个应该问C大啊!

应该语法就是这样规定的。

我以为你这样写过菜单

看来只能按C大说的:
“以上是ipxe的原生方法来启动wimboot,也可以使用grub4dos内置的用法(目前不稳定有时会导致重启).

title Wimboot
kernel /wimboot
initrd @bcd=/boot/bcd @bootmgr=/boot/bootmgr @boot.sdi=/boot/boot.sdi @boot.wim=/boot/boot.wim
boot”
回复

使用道具 举报

30#
 楼主| 发表于 2019-6-6 15:01:45 | 只看该作者
yjqd 发表于 2019-6-6 14:56
问一下:

grldr版本是046a

这个应该问C大啊!

应该语法就是这样规定的。

点评

我以为你这样写过菜单 看来只能按C大说的: “以上是ipxe的原生方法来启动wimboot,也可以使用grub4dos内置的用法(目前不稳定有时会导致重启). title Wimboot kernel /wimboot initrd @bcd=/boot/bcd @bootm  详情 回复 发表于 2019-6-6 15:07
回复

使用道具 举报

29#
发表于 2019-6-6 14:56:57 | 只看该作者
问一下:

grldr版本是046a

initrd 后面的内容写成下面的格式:

initrd /boot/bcd
initrd /boot/boot.sdi
initrd /bootmgr
initrd /WINPE.WIM

启动报错:
bad cpio magic
FATAL: could not extract initrd files
press a key to  reboot...

initrd后面这样写:@bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgr=/bootmgr @boot.wim=/WINPE.WIM
又能正常启动WINPE.WIM

是怎么回事

点评

这个应该问C大啊! 应该语法就是这样规定的。  详情 回复 发表于 2019-6-6 15:01
回复

使用道具 举报

28#
发表于 2014-11-18 21:26:21 | 只看该作者
問 為何是以  8M 間隔 來載入,能否加大或加快?
回复

使用道具 举报

27#
发表于 2014-11-18 15:44:51 | 只看该作者
这个学习了,谢谢分享。
回复

使用道具 举报

26#
发表于 2014-11-16 23:34:44 | 只看该作者
chenall 发表于 2014-11-16 13:55
使用wimboot的话,直接用一个原版的BCD/BOOTMGR就行了,都是通用的.

好像只用原版的bootmgr就可以了,我在vm中测试,可以用w8x64的bootmgr启动包含32位和64位的bcd(修改了数字签名和测试模式)。
回复

使用道具 举报

25#
 楼主| 发表于 2014-11-16 14:05:40 | 只看该作者
2011bm 发表于 2014-11-16 13:14
是不是bbb改名其他例如改名bcg文件即可使用相应的bootmgr文件?谢谢。

对的。这个BBB实际上就是原版的BCD,只禁用了数字签名,可以将文件名再改成其他名字使用,最主要的是要和相应的BOOTMGR 配对 使用。
回复

使用道具 举报

24#
发表于 2014-11-16 13:55:08 | 只看该作者
2011bm 发表于 2014-11-16 13:14
是不是bbb改名其他例如改名bcg文件即可使用相应的bootmgr文件?谢谢。

使用wimboot的话,直接用一个原版的BCD/BOOTMGR就行了,都是通用的.

点评

好像只用原版的bootmgr就可以了,我在vm中测试,可以用w8x64的bootmgr启动包含32位和64位的bcd(修改了数字签名和测试模式)。  详情 回复 发表于 2014-11-16 23:34
回复

使用道具 举报

23#
发表于 2014-11-16 13:14:55 | 只看该作者

是不是bbb改名其他例如改名bcg文件即可使用相应的bootmgr文件?谢谢。

点评

对的。这个BBB实际上就是原版的BCD,只禁用了数字签名,可以将文件名再改成其他名字使用,最主要的是要和相应的BOOTMGR 配对 使用。  详情 回复 发表于 2014-11-16 14:05
使用wimboot的话,直接用一个原版的BCD/BOOTMGR就行了,都是通用的.  详情 回复 发表于 2014-11-16 13:55
回复

使用道具 举报

22#
 楼主| 发表于 2014-11-16 12:41:35 | 只看该作者
修改过的BOOTMGR

修改过的BOOTMGR.7z

477.23 KB, 下载次数: 40, 下载积分: 无忧币 -2

点评

是不是bbb改名其他例如改名bcg文件即可使用相应的bootmgr文件?谢谢。  详情 回复 发表于 2014-11-16 13:14
感谢提供,除bbb外其他几个bcg等等文件能否一起分享?  详情 回复 发表于 2014-11-16 13:06
回复

使用道具 举报

21#
 楼主| 发表于 2014-11-16 12:37:36 | 只看该作者
2011bm 发表于 2014-11-15 21:16
能否提供你修改后的BCD套件?谢谢。

请见附件。
回复

使用道具 举报

20#
发表于 2014-11-15 21:16:21 | 只看该作者
captain_g 发表于 2014-11-15 15:49
PXE GRLDR 网启转 iPXE 实机测试结果:

从 WIN 8.1 光盘提取的 BCD 与 BOOTMGR 支持 WIN7/8/8.1 PE 的 W ...

能否提供你修改后的BCD套件?谢谢。
回复

使用道具 举报

19#
 楼主| 发表于 2014-11-15 15:49:48 | 只看该作者
PXE GRLDR 网启转 iPXE 实机测试结果:

从 WIN 8.1 光盘提取的 BCD 与 BOOTMGR 支持 WIN7/8/8.1 PE 的 WIM 文件。

可以使用破解后的 BOOTMGR,相应的 BCD 也可以改名(除禁用数字签名外,不要修改BCD里面的内容)。

注意在下面的命令中:
  kernel http://${next-server}/BOOT/wimboot
  initrd http://${next-server}/BOOT/bootmgx        bootmgr
  initrd http://${next-server}/BOOT/bbb        bcd
  initrd http://${next-server}/BOOT/boot.sdi        boot.sdi
  initrd http://${next-server}/BOOT/WIN886PE.WIM        BOOT.WIM

bootmgx/bbb/WIN886PE.WIM 是真实存在的文件的名称,它们后边的 bootmgr/bcd/boot.wim 必须有。

这样,使用一个 BCD 文件和一个 BOOTMGR 即可以通过 WIMBOOT 加载多个 PE WIM。
回复

使用道具 举报

18#
发表于 2014-11-14 07:54:29 | 只看该作者
实机测试一点问题都没有,是虚拟机vm的问题(vmplayer 6.0.0 build-1295980)。
我百度查一下能否解决这个问题。
回复

使用道具 举报

17#
发表于 2014-11-13 15:41:06 | 只看该作者
zhaohj 发表于 2014-11-13 15:30
是这样的,如果pxe的启动文件用grldr,可以转 ipxe启动,menu.lst启动IPXE菜单:
title  IPXE
pxe keep
...

这个就不清楚原因了,我用ipxe/grub4dos可以随意切换,启动一切正常.

不能启动,你可以在命令行下输入命令看提示.可能是文件位置等错误.
回复

使用道具 举报

16#
发表于 2014-11-13 15:30:17 | 只看该作者
是这样的,如果pxe的启动文件用grldr,可以转 ipxe启动,menu.lst启动IPXE菜单:
title  IPXE
pxe keep
kernel /IPXE.KRN
initrd /myscript.ipxe
其中的myscript.ipxe中启动grldr菜单:
:grub4dos
  chain http://${next-server}:81/grldr || goto failed
  goto start
也可以顺利启动grldr
但这样启动的IPXE无法引导win7/win8pe
------------------------------------------------------
如果pxe的启动文件使用undionly.kpxe(dhcp67选项添加id为ipxe,见21楼)
IPXE可以顺利启动win7/win8pe,但无法在配置文件中返回grldr
回复

使用道具 举报

15#
发表于 2014-11-13 14:43:06 | 只看该作者
zhaohj 发表于 2014-11-13 14:31
新版的grub4dos因为支持带路径启动,这个怎么办?

这个我不知道你是如何启动的,

不过可以使用
pxe basedir 修改基本路径

grub4dos也不支持http,只能用tftp方式启动.
回复

使用道具 举报

14#
发表于 2014-11-13 14:31:05 | 只看该作者
新版的grub4dos因为支持带路径启动,这个怎么办?

Snap2.jpg (33.92 KB, 下载次数: 234)

Snap2.jpg
回复

使用道具 举报

13#
发表于 2014-11-13 13:39:28 | 只看该作者
zhaohj 发表于 2014-11-13 12:39
成功了,直接pxe启动文件用 IPXE的undionly.kpxe作为启动文件(dhcp67选项,并添加类别 ipxe)成功启动win7pe ...

用http的话速度是比tftp快多了.

我是直接使用纯GRUB4DOS启动的,没有用http和tftp

目前grub4dos只能间接通过ipxe来启动http上的文件(我那个PXEBoot里面的例子,都是网络启动的)
回复

使用道具 举报

12#
发表于 2014-11-13 12:39:20 | 只看该作者
成功了,直接pxe启动文件用 IPXE的undionly.kpxe作为启动文件(dhcp67选项,并添加类别 ipxe)成功启动win7pe win8pe,速度确实很爽!
看来目前只能 ipxe启动,要使用grub4dosr的话用 IPXE转grldr

Snap1.jpg (11.89 KB, 下载次数: 230)

Snap1.jpg
回复

使用道具 举报

11#
发表于 2014-11-13 11:36:00 | 只看该作者
captain_g 发表于 2014-11-13 11:25
http://pan.baidu.com/s/1mgj0Y2s

谢谢。我去下载。
回复

使用道具 举报

10#
 楼主| 发表于 2014-11-13 11:25:16 | 只看该作者
2012zhd 发表于 2014-11-13 11:05
请分享一下w8.1 64位光盘中的bootmgr,bcd,boot.sdi。

http://pan.baidu.com/s/1mgj0Y2s
回复

使用道具 举报

9#
发表于 2014-11-13 11:05:12 | 只看该作者
captain_g 发表于 2014-11-13 10:35
我的BOOTMGR是按无忧网友迷离境界提供的方法破解过的文件,文件名改为了BOOTMGX;
我的BCD文件是从WIN8.1 ...

请分享一下w8.1 64位光盘中的bootmgr,bcd,boot.sdi。
回复

使用道具 举报

8#
发表于 2014-11-13 10:58:27 | 只看该作者
请问对于指针文件在vhd里面的wimboot,菜单该怎么写呢?
如果是wimboot+vhd做成ramos又该怎么写呢?
回复

使用道具 举报

7#
 楼主| 发表于 2014-11-13 10:35:56 | 只看该作者
我的BOOTMGR是按无忧网友迷离境界提供的方法破解过的文件,文件名改为了BOOTMGX;
我的BCD文件是从WIN8.1原版关盘提取的文件,按迷离境界提供批处理命令法,只禁用了数字签名验证并改名为BBB使用;
几个必须的文件均放在UD中的BOOT文件夹下;
使用2014-11-11 0.46a版的GRLDR,菜单为:
kernel /boot/wimboot
initrd @bcd=/boot/bbb @boot.sdi=/boot/boot.sdi @bootmgr=/boot/bootmgx @boot.wim=/boot/WIN786PE.WIM
boot
实机本地U启测试,成功进入WIN786PE;
先前以成功启动过WIN8164PE,只是没有测试过WIN8PE。
据此估计WIN8.1光盘中的BOOTMGR及BCD是可以同时支持WIN7/8/81PE的。
IPXE网启还没有试过。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 20:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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