无忧启动论坛

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

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

[复制链接]
发表于 2012-10-28 22:27:49 | 显示全部楼层 |阅读模式
pxe引导,win7或win8的pxeboot.n12为引导文件,如何启动G4D?
搜索了一段时间,一片茫然,不得要领,真心求教
BCD如何配置,才能引导GRLDR?--此句说错了,改为:
如何配置,才能启动G4D
网上基本上是讲如何引导PE,我不想引导PE,只想引导G4D!
有了G4D,引导什么无所谓,所以谢绝回复如何引导PE
--------------
有表述不清楚的,请包涵,想解决技术问题,不想吵架

[ 本帖最后由 hnzz110 于 2012-11-3 04:23 编辑 ]
发表于 2012-10-29 07:26:29 | 显示全部楼层
用BOOTICE之类,在查看修改BCD中加入GRLDR项目。或者,直接用GRLDR作第一引导。
回复

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2012-10-29 09:09:54 | 显示全部楼层
原帖由 zhaohj 于 2012-10-29 08:10 发表
这个还真不行。
pxe启动(grldr引导),进入pxeboot.n12->bootmgr.exe 后要再引导grldr,必须先引导grldr.mbr
但grldr.mbr必须在硬盘或U盘等物理介质上。
-----------------------
但楼主的前提,有点奇怪。 ...


感谢回复,可能还是没有说清楚
PXE引导文件是win7或win8的PXEBOOT.n12,然后如何直接引导G4D
这句话很对路:
“pxeboot.n12->bootmgr.exe 后要再引导grldr,必须先引导grldr.mbr“,该如何配置
多谢了

另,标题和内容根据回复修改了

[ 本帖最后由 hnzz110 于 2012-10-29 09:11 编辑 ]
回复

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2012-10-29 09:41:42 | 显示全部楼层
问这个问题,一是想学习PXE相关知识,二是验证G4D与其他引导器的相互引导,三是据说用win8的引导文件传输速度快,并且,大多数机器都不与微软做对,因此有了了解PXE环境下,win8引导G4D的想法
回复

使用道具 举报

发表于 2012-10-29 09:48:53 | 显示全部楼层
BCD如何配置,才能引导GRLDR?


你的 BCD 是如何配置的?它能引导什么?你能否配置你的 BCD,让它引导 GRLDR 文件?比如说,类似于 boot.ini 中的 c:\grldr="grldr" ?
回复

使用道具 举报

 楼主| 发表于 2012-10-29 09:55:43 | 显示全部楼层
不点大师也出来训话了,洗耳恭听
发贴时有些话并不严谨,继续编辑修改
目的简而言之,就是,PXE环境,先win8,再grldr,想知道实现方法
回复

使用道具 举报

发表于 2012-10-29 10:12:26 | 显示全部楼层
此话言之过甚。

我是来学习的。我从不使用 PXE,没有相关经验。

最近我有新的认识,我认识到,凡是听说过 grub4dos 的,都值得尊重,这些人不是一般人。进一步认识到,凡是来论坛提问和讨论 grub4dos 的,也基本都是高手。这些高手与 grub4dos 的开发者的电脑技术知识相比,并无逊色,也许技术更加全面、精湛。只是,这些高手都有自己的事情要做,无暇参与开发 grub4dos 而已。他们只是在使用 grub4dos 的时候遇到问题,才来这里讨论的。

根据这个新认识,我对我自己过去曾经出口不逊感到丢脸。有些话还可能伤害了一些朋友。公开道歉。

[ 本帖最后由 不点 于 2012-10-29 10:24 编辑 ]
回复

使用道具 举报

发表于 2012-10-29 11:29:39 | 显示全部楼层
BCD可以直接用GRLDR来启动G4D,而无需要GRLDR.MBR来中转,这一点我已经在实机上试过成功了。
回复

使用道具 举报

 楼主| 发表于 2012-10-30 02:25:35 | 显示全部楼层
希望有人提供解决方案
多谢了
回复

使用道具 举报

发表于 2012-10-30 08:55:43 | 显示全部楼层
我都是用GRLDR做PXE引导文件的. 然后通过GRLDR再去引导BOOTMGR.EXE

没试过用BOOTMGR去引导GRLDR.

另外,我的PXE在短时间内重启时,总会卡住.这个问题一直没有解决.
回复

使用道具 举报

发表于 2012-10-30 09:03:07 | 显示全部楼层
经过我的测试,我觉得通过修改GRLDR.MBR应该可以获得成功.

通过修改GRLDR.MBR让它直接寻找 当前 /  根下的GRLDR文件以加载,应该会成功的.

[ 本帖最后由 sgw888 于 2012-10-30 09:09 编辑 ]
回复

使用道具 举报

发表于 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 编辑 ]
回复

使用道具 举报

发表于 2012-10-30 17:59:21 | 显示全部楼层

回复 #14 zhaohj 的帖子

应该有第二个办法也可以成功:
pxe引导文件pxeboot.n12->grldr.0

bcd里面这么写(举例):
set d00=grldr.0 (linux)
set f00=\grldr.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

如果成功,则不需要 grldr.mbr

[ 本帖最后由 不点 于 2012-10-30 18:01 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2012-10-31 06:35:55 | 显示全部楼层
感谢楼上几位的指点
1、pxe引导文件pxeboot.n12->pxelinux.0->grldr.0
     这种方法没有实验,觉得麻烦
2、pxe引导文件pxeboot.n12->grldr.0
     grldr、grldr.mbr使用grub4dos-0.4.5c-2012-06-19版本,分别将grldr、grldr.mbr改名为grldr.0
错误信息如下:
------grldr改名grldr.0,grldr.mbr不改
Windows failed to start. A recent hardware or software change might be the cause. t fix this problem:
1. Insert your Windows installation disk and restart your computer.
2. Choose your language settings,and then click "Next."
3. Click "Repair your computer."
if you do net have this disk,contact your system administrator or computer manufacturer for assistance
Status: 0xc0000001
info:An unexpected error has occurred.
-------grldr.mbr改名grldr.0,grldr不改
Try (hd0,0):NTFS5:No grldr
Try (hd0,1):Extended
Try (hd0,2):invalid or bull
Try (hd0,3):invalid or bull
Try (hd0,4):NTFS5:No grldr
BIOS:Drive=0x0,H=0,S=0
Try (fd0):NTFS5:0
Press apsce bar to hold the screen,any other key to boot previus MBR ...
觉得离成功很近了

[ 本帖最后由 hnzz110 于 2012-10-31 06:37 编辑 ]
回复

使用道具 举报

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

使用道具 举报

发表于 2012-10-31 09:52:26 | 显示全部楼层
16楼使用的 grldr 太旧了。bootmgr 也可能太旧了。
回复

使用道具 举报

 楼主| 发表于 2012-11-1 05:14:42 | 显示全部楼层
为了检验,下载了本论坛中的10.22日版本的G4D,查看pxeboot.n12、bootmgr.exe、boot.sdi等文件,时间都是‎2012‎年‎7‎月‎26‎日,从微软msdn上下载最新文件对比,目前没有发现最新版本,
结果,出错信息是一致的。(前面记录的鸟文出错信息,存在拼写错误,抱歉)

想要的效果是PXE启动,win8相关文件直接引导G4D,想验证互相引导的便利性和正确性,不想利用第三方软件周转

......
回复

使用道具 举报

发表于 2012-11-1 08:28:15 | 显示全部楼层
能不能教一教,给我一个环境?让我来测试一下。

如果能够给个现成的虚拟机镜像更好。
回复

使用道具 举报

发表于 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

回复

使用道具 举报

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

使用道具 举报

发表于 2012-11-1 10:13:57 | 显示全部楼层
grldr.pd 的任务,还是由 yaya 来完成比较合适。但不知 yaya 是否对 pxe 感兴趣。

目前我觉得让 bootmgr 在 PXE 环境下直接启动 grldr 是能够实现的。

zhaohj 在 21楼说的有些简单了,我还没能看明白其过程。你需要再详细一些,因为我不曾接触 PXE ,不明白来龙去脉,比如说,我不知道 pxeboot.bcd 是不是微软的。

tftp 服务器用 tftpd 吗?

你最好能做个极小的虚拟机镜像,让我直接能开始工作。我的主要手段是变换不同的 BCD 参数,让它加载完整的 grldr 文件。
回复

使用道具 举报

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

使用道具 举报

发表于 2012-11-1 12:00:07 | 显示全部楼层
我从这里 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=160830

抄来一段代码:

  1. @echo off
  2. set TP=%~DP0
  3. bcdedit /createstore %TP%bcd
  4. bcdedit /store %TP%bcd /create {ntldr} /d "Windows XP sp2"
  5. bcdedit /store %TP%bcd /set {ntldr} device partition=c:
  6. bcdedit /store %TP%bcd /set {ntldr} path \ntldr
  7. rem bcdedit /store %TP%bcd /displayorder {ntldr} /addlast
  8. bcdedit /store %TP%bcd /create /d "GRUB for DOS" /application bootsector >log.txt
  9. for /f "tokens=1,2,3,4* delims= " %%i in (log.txt) do set id=%%k
  10. bcdedit /store %TP%bcd /set %id% device partition=C:
  11. bcdedit /store %TP%bcd /set %id% path \grldr.mbr
  12. bcdedit /store %TP%bcd
复制代码


注意,其他项目没有太大用处,把焦点放在 ntldr 上。

我只改动了一处,把 path \ntldr 改成了 path \grldr:

  1. bcdedit /store %TP%bcd /create {ntldr} /d "Windows XP sp2"
  2. bcdedit /store %TP%bcd /set {ntldr} device partition=c:
  3. bcdedit /store %TP%bcd /set {ntldr} path \grldr
  4. rem bcdedit /store %TP%bcd /displayorder {ntldr} /addlast
复制代码


我不太懂这方面的知识,但相信 zhaohj 可以借鉴这段代码,并把它用于 pxe 启动的情况。
回复

使用道具 举报

发表于 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 编辑 ]
回复

使用道具 举报

发表于 2012-11-1 15:37:10 | 显示全部楼层

回复 #26 zhaohj 的帖子

成功了,很棒!贡献大大的。

pxe 丢失的问题,属于 grldr 的问题,我稍后即可解决。

现在你只需要确定究竟有多少个 apptype 以及多少个 /application 参数可以成功加载 grldr 进入命令行(暂时不管 PXE 是否丢失)。

[ 本帖最后由 不点 于 2012-11-1 15:41 编辑 ]
回复

使用道具 举报

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

使用道具 举报

发表于 2012-11-1 17:35:31 | 显示全部楼层
上载了。试试看,问题应该都解决了。
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 01:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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