无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 13280|回复: 44
打印 上一主题 下一主题

[求助] (已解决)pxe引导,win7或win8的pxeboot.n12为引导文件,如何启动G4D?

[复制链接]
1#
发表于 2012-10-29 08:10:17 | 显示全部楼层
这个还真不行。
pxe启动(grldr引导),进入pxeboot.n12->bootmgr.exe 后要再引导grldr,必须先引导grldr.mbr
但grldr.mbr必须在硬盘或U盘等物理介质上。
-----------------------
但楼主的前提,有点奇怪。pxe引导文件是什么?
回复

使用道具 举报

2#
发表于 2012-10-29 09:30:55 | 显示全部楼层
别搞复杂了,把pxe的引导文件改成grldr,不是更加简单?!
再grldr引导pxeboot.n12
回复

使用道具 举报

3#
发表于 2012-10-30 16:50:25 | 显示全部楼层
有一个办法可以成功:
pxe引导文件pxeboot.n12->pxelinux.0->grldr.0

bcd里面怎么写(举例):
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
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

pxelinux.0转grldr.0很简单,google一下
当然如果grldr.mbr如果支持pxe设备那更简单了,不知不点大会不会......

[ 本帖最后由 zhaohj 于 2012-10-30 17:02 编辑 ]
回复

使用道具 举报

4#
发表于 2012-10-31 09:05:26 | 显示全部楼层
grldr(grldr.0)太大,用pxelinux.0中转成功的例子:

Snap1.jpg (71.27 KB, 下载次数: 89)

Snap1.jpg
回复

使用道具 举报

5#
发表于 2012-11-1 09:33:45 | 显示全部楼层
虚拟机就不提供了,太大。
把下面文件释放到tftp下
测试:pxe引导grldr,grldr引导w8pe/pxeboot.bcd。
mybcd.cmd修改一下,把pxelinux.0替换成grldr.0,重新生成bcd(我测试黑屏)

[ 本帖最后由 zhaohj 于 2012-11-2 08:23 编辑 ]

tftp.part1.rar

495 KB, 下载次数: 45, 下载积分: 无忧币 -2

tftp.part2.rar

256.25 KB, 下载次数: 45, 下载积分: 无忧币 -2

回复

使用道具 举报

6#
发表于 2012-11-1 09:58:44 | 显示全部楼层
现在yaya已经提供grldr.mbr、grldr.pbr、grldr.bin(光盘)引导文件,都是物理介质上的。
grldr.pd是否中转必须的?
回复

使用道具 举报

7#
发表于 2012-11-1 10:25:18 | 显示全部楼层
pxeboot.bcd 是 pxeboot.n12 改名而来
w8bcd         是 bootmgr.exe 改名而来,修改了pxeboot.bcd文件引导w8bcd(bootmgr.exe改名)。
mybcd.cmd是为了修改不同的BCD参数重新生成bcd,是批处理。
tftp无所谓,哪个都行
回复

使用道具 举报

8#
发表于 2012-11-1 15:26:35 | 显示全部楼层
bcdedit /create [{<id>}] /d <description> [-application <apptype> |
    /inherit [<apptype>] | /inherit DEVICE | /device]
----------------------------------
已知标识符如下所示{<id>}:

BOOTAPP     启动应用程序。这些类型也应用于启动管理器、
            内存诊断应用程序、Windows OS 加载器和恢复
            应用程序。
BOOTMGR     启动管理器。
BOOTSECTOR  启动扇区应用程序。
CUSTOMTYPES 自定义类型。
DEVOBJECT   设备对象附加选项。
FWBOOTMGR   固件启动管理器
MEMDIAG     内存诊断应用程序
NTLDR       以前的 Windows OS 版本附带的 OS 加载器
OSLOADER    Windows Vista OS 加载器
RESUME      恢复应用程序
-----------------------------------------
application <apptype> 可以是下列类型之一:

                                BOOTSECTOR
                                OSLOADER
                                RESUME
                                STARTUP


---------------------------------------
测试:
使用{ntldr}标识符,确实可以引导grldr,但pxe丢失;
使用 /application BOOTSECTOR也一样,可以引导grldr,但pxe丢失;

------------------------
/application startup是real-mode application
可以使用参数pxesoftreboot,相当于pxe keep
但很不幸,测试黑屏。

关于bcd参数详见:http://www.geoffchappell.com/notes/windows/boot/bcd/elements.htm

[ 本帖最后由 zhaohj 于 2012-11-1 15:44 编辑 ]
回复

使用道具 举报

9#
发表于 2012-11-1 16:10:39 | 显示全部楼层
用{ntldr} 或 /application bootsectot 都可以

Snap1.jpg (23.25 KB, 下载次数: 79)

Snap1.jpg
回复

使用道具 举报

10#
发表于 2012-11-1 17:50:55 | 显示全部楼层
不点大效率太高了,竟然一次成功!
---------------------------
另外,硬盘上我没有测试,那硬盘启动引导bootmgr也可以直接转grldr,无需grldr.mbr中转?
回复

使用道具 举报

11#
发表于 2012-11-2 08:08:40 | 显示全部楼层
pxe启动文件pxeboot.n12(最好是win8的pxe引导文件,可以通吃,对应版本bootmgr.exe)配置文件bcd:
(21楼下载)
makebc8.cmd:

echo off
set d01=Windows8 PE (w8pe.wim)  by one1
set f01=ramdisk=[boot]\w8pe\W8pe.WIM,{ramdiskoptions}
......
set d04=Grub4dos
set f04=\grldr
del bc8
bcdedit /createstore bc8

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

bcdedit -store bc8 /create {ramdiskoptions}
bcdedit -store bc8 /set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store bc8 /set {ramdiskoptions} ramdisksdipath \w8pe\w8pe.sdi
rem TFTP传输块大小,千兆网可改成8192
bcdedit -store bc8 /set {ramdiskoptions} ramdisktftpblocksize 2048
rem 窗口大小
bcdedit -store bc8 /set {ramdiskoptions} ramdisktftpwindowsize 8192

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

pause
bcdedit /enum all /store bc8
pause

[ 本帖最后由 zhaohj 于 2012-11-2 08:23 编辑 ]
回复

使用道具 举报

12#
发表于 2012-11-2 09:09:43 | 显示全部楼层
用原版的win8光盘,修改bcd,加入grldr及menu.lst到光盘
可以启动grldr,但菜单出不来。ls ()/ 也没文件显示。
不知win8的光盘文件怎么生成的,我想是光盘模式问题,grldr不支持。

另,我pxeboot.n12直接转硬盘的ntldr不成功。这很奇怪,转不到硬盘上。

[ 本帖最后由 zhaohj 于 2012-11-2 10:18 编辑 ]
回复

使用道具 举报

13#
发表于 2012-11-2 11:36:33 | 显示全部楼层
cat 命令列出 0000:7C00 处的4个扇区,换成扇区序列是(md)0x3e+4
dd if=(md)0x3e+4 of=(hd0,4)/1.txt bs=512 count=4

[ 本帖最后由 zhaohj 于 2012-11-2 11:44 编辑 ]

Snap0.jpg (44.81 KB, 下载次数: 81)

Snap0.jpg

1.rar

1.24 KB, 下载次数: 14, 下载积分: 无忧币 -2

回复

使用道具 举报

14#
发表于 2012-11-2 13:55:47 | 显示全部楼层
按你上面说的截几个图:

Snap1.jpg (11.58 KB, 下载次数: 76)

Snap1.jpg

Snap2.jpg (159.67 KB, 下载次数: 75)

Snap2.jpg

Snap3.jpg (68.38 KB, 下载次数: 89)

Snap3.jpg
回复

使用道具 举报

15#
发表于 2012-11-3 16:27:10 | 显示全部楼层
今天有空再次测试光盘引导的问题,一次成功。
win8的bios光盘引导文件是etfsboot.com,使用oscdimg.exe来生成光盘:
如我把要合成的文件全部放在boot下,bin下放oscdimg.exe
@echo off
path %path%;"%~dp0bin"
oscdimg.exe -n -m -o -b%~dp0boot/boot/etfsboot.com %~dp0boot %~dp0win8pe.iso

也可以写成同时支持uefi的,太复杂!

[ 本帖最后由 zhaohj 于 2012-11-3 16:54 编辑 ]

Snap0.jpg (39.33 KB, 下载次数: 87)

Snap0.jpg

Snap1.jpg (36.28 KB, 下载次数: 76)

Snap1.jpg
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-13 20:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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