切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 12523阅读
  • 8回复

WIN PE->WINPE_PELDR基础知识 [转] [复制链接]

上一主题 下一主题
离线xmmz
 

发帖
4972
M币
-6663
专家
-32
粉丝
382
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2008-03-06
关于光盘启动后加载光盘上winpe.iso文件,进入一个虚拟内存盘运行的解说

一、windows xp 安装盘启动过程

原于最广泛使用的 xp 系统安装盘,在此有必要简要说明其启动过程。

光盘引导信息boot.bin (被写入光盘引导轨道中)引导光盘启动后,调用光盘:\i386\setupldr.bin 和 ntdetect.com 并根据winnt.sif文本配置文件侦测安装文件并将系统安装到硬盘。

二、WIN_PE_LOADER 光盘启动过程

(一) WIN_PE_LOADER 文件列表

PE毕竟是MS 的附属产品,包含文件如下(分别对应XP启动盘中的那几个文件):

1.PEBOOT.BIN;2.SETUPLDR.BIN(PELDR);3.NTDETECT.COM;4.WINNT.SIF(WINNT.XPE) 必须放在根目录;

另外还要附带WINPE的 ISO文件 WINPE.ISO,此文件被CAB压缩后仍然可以被PELDR调用。

具体启动过程是:PEBOOT.BIN在制作光盘时被写入光盘引导轨道,光盘启动后调用 光盘:\I386\SETUPLDR.BIN 找到根目录下的 WINNT.SIF ,根据WINNT.SIF 文本中的配置信息 找到 WINPE.ISO 并将WINPE.ISO载入一个内存虚拟盘X:.在此过程中,要求 WINNT.SIF(WINNT.XPE)必须放在根目录。SETUPLDR.BIN(PELDR)和NTDETECT.COM 必须在同一个目录中,如果要将此两个文件放在wxpe目录中,必须同时修改 peboot.bin 和 setupldr.bin 的内容,通过ASCII编辑器将其中的 i386 改成 wxpe;同样地如果需要修改 winnt.sif(winnt.xpe)文件名也要通过这个办法修改setupldr.bin的内容。

(二)WINNT.SIF(WINNT.XPE)的文本内容举例如下:

[SetupData]

BootDevice="ramdisk(0)"

BootPath="\WXPE\SYSTEM32\"

OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"

其中第3 行表示 winPE.iso被启动载入后 RAMDISK.SYS 等文件在WINPE.ISO中的位置;

第4 行表示WINPE.ISO 文件在光盘/硬盘的调用位置,可以通过类似 ntldr 中boot.ini的硬盘分区表示方法跨分区调用,

比如:
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(1)\winpe\winpe.is_"。

(三)其他说明

一些 PE 文档中还提到 XPEMENU.INI(PEinstall.log) 文件。这是必须存放在根目录下的pe调用文件,用来描述pe外置程序的位置,以老毛桃pe为例外置程序必须放在某个盘的根目录,如果pe外置程序与winpe.iso不在同一个分区中,就必须通过 xpemenu.ini(peinstall.log)进行指引。但,在光盘中,就不必有这个文件的顾虑了,因为所有文件都要放到一个盘—光盘中。

三、通过 c:盘(hd0,0) NTLDR(NT/2K/XP/2K03) 调用 winpe.iso 的方法

(一)这里需要 使用第三方 引导器 grub4dos 中的几个文件:

Grldr(中文版) menu.lst(启动菜单配置文件)  c:\

fonts(中文字体)  c:\winpe

GRUB 是一个非常不错的软件,它可以被多个系统载入,同时可以引导多种格式的启动文件。基本上可以满足目前制作系统引导/光盘引导方面的各种需求。

(二)peldr 文件

Setupldr.bin(peldr)    c:\winpe

winnt.sif(winnt.xpe)    c:\

(三)winpe.iso及其附属文件

Winpe.iso  c:\winpe

Peinstall.log(xpemenu.ini)  c:\

(四)有关NTLDR

NTLDR 是NT/2K/XP/2K03 系统安装时直接安装到系统盘上的MS引导器,安装过程中系统盘BOOT区被存储了NTLDR引导调用信息,就如同光盘引导轨道中存储CDBOOT.BIN 内容一样。当硬盘启动后最先调用的就是硬盘的BOOT区信息,然后通过这段引导代码引导电脑找到 C:\NTLDR 再进一步启动到 NT系列系统。

NTLDR 具体包括如下文件,需要存放在系统引导盘根目录

NTLDR          NTDETECT.COM  BOOT.INI  BOOTFONT.BIN

其中BOOT.INI 是NTLDR引导器的文本配置文件,用于通过NTLDR引导NT/2K/XP/2K03系统。

NTLDR 也可以通过调用 BOOT区信息文件或其他可挂接的引导器引导进入另一个系统。

(五)配置文件的内容:

1.Winnt.sif(winnt.xpe)内容如下:

[SetupData]

BootDevice="ramdisk(0)"

BootPath="\WXPE\SYSTEM32\"

OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"

2.Menu.lst 内容如下:

color black/cyan yellow/cyan

timeout 10

default 调用 WINXPE iso

fontfile (hd0,0)/winpe/fonts

title 搜索硬盘 NTLDR 启动 MS_WINDOWS NT/2K/XP/2K03

find --set-root /ntldr

chainloader /ntldr

savedefault --wait=2

title 调用 WINXPE iso

root (hd0,0)

chainloader (hd0,0)/winpe/setupldr.bin

savedefault --wait=2

title 重新启动

savedefault --wait=2

reboot

title 关闭电脑

Halt

savedefault --wait=2

3.xpemenu.ini(peinstall.log) 文件名大概由 winpe.iso 中的配置决定

内容如下:

WinPE镜像文件=WinPE.IS_

WinPE外挂位置=c:

WinPE安装日期=2007-11-14 星期三
9:01:32.17

4.
Boot.ini文件中添加如下一行内容:

c:\grldr="Grub Loader for WINPE_ISO"

四、通过 c:盘(hd0,0) MSDOS_IO.SYS 调用 winpe.iso 的方法

(一)这里需要 使用第三方 引导器 grub4dos 中的几个文件:

Grldr.exe(中文版)、menu.lst(启动菜单配置文件)、fonts(中文字体)
将这三个文件放入c:\grub

(二)peldr 文件

Setupldr.bin(peldr)    c:\winpe

winnt.sif(winnt.xpe)  c:\

(三)winpe.iso及其附属文件

Winpe.iso                          c:\winpe

Peinstall.log(xpemenu.ini)    c:\

(四)有关NTLDR

或许是因为winpe毕竟是 nt 级别以后的产品,所以其在硬盘上引导启动的时候需要根目录存在ntldr的如下两个文件

NTLDR
TDETECT.COM

(五)有关 msdos的 io.sys

Msdos 是微软公司整合改良出品的dos系统,其核心引导文件是 c:\io.sys ,还有一个命令解析程序文件 C:\COMMAND.COM 和一个中心配置文件 C:\MSDOS.SYS。 其启动配置文件包括 c:\config.sys 和 C:\autoexec.bat .曾经盛行一时的WIN9X系列其实也是使用的此系统作为底层操作系统。MSDOS系统也是通过在安装MSDOS的时候向硬盘引导区(BOOT区)写入一段代码,然后在系统启动时引导电脑找到C:\IO.SYS来启动MSDOS的。

我们这里通过配置Config.sys 文件实现通过 msdos 启动 grub4dos

(六)配置文件的内容:

1.Winnt.sif(winnt.xpe)内容如下:

[SetupData]

BootDevice="ramdisk(0)"

BootPath="\WXPE\SYSTEM32\"

OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"

2.Menu.lst 内容如下:

color black/cyan yellow/cyan

timeout 10

default 0

fontfile (hd0,0)/winpe/fonts

title 正常进入MSDOS

quit

savedefault --wait=2

title 调用 WINXPE iso

root (hd0,0)

chainloader (hd0,0)/winpe/setupldr.bin

savedefault --wait=2

title 重新启动

savedefault --wait=2

reboot

title 关闭电脑

Halt

savedefault --wait=2

3.xpemenu.ini(peinstall.log) 文件名大概由 winpe.iso 中的配置决定

内容如下:

WinPE镜像文件=WinPE.IS_

WinPE外挂位置=c:

WinPE安装日期=2007-11-14 星期三
9:01:32.17

5.
Config.sys文件中确保如下内容在最前面一行:

DEVICE=C:\GRUB\GRUB.EXE --CONFIG-FILE=c:\grub\MENU.LST


五、在U盘中运行 WINPE.ISO

其实,说到这里,通过U盘启动WINPE应该非常简单了,只要将U盘格式化成HDD格式,然后导入 NTLDR引导器或者MSDOS核心系统,再根据前面的第四节或者第五节的内容操作即可实现。

当然还要一些硬件的支持,比如:BIOS中要支持HDD启动、U盘要支持制作成启动盘等等。


以上提到的 grub4dos 是 0.4.3 版本,ntldr 是xp版本,msdos是win98/7.10版本。
关键词: winpe
离线sdc

发帖
514
M币
1579
专家
1
粉丝
6
只看该作者 1楼 发表于: 2008-03-07
请登录后查看
离线碧血青天
发帖
4
M币
8
专家
1
粉丝
0
只看该作者 2楼 发表于: 2008-03-07
请登录后查看
离线51689438
发帖
765
M币
0
专家
1
粉丝
6
只看该作者 3楼 发表于: 2008-03-07
请登录后查看
离线zfj_131
发帖
165
M币
87
专家
5
粉丝
0
只看该作者 4楼 发表于: 2008-03-08
请登录后查看
离线无影者
发帖
13
M币
6
专家
1
粉丝
1
只看该作者 5楼 发表于: 2008-03-08
请登录后查看
离线netweather
发帖
30
M币
3
专家
1
粉丝
2
只看该作者 6楼 发表于: 2008-03-09
请登录后查看
离线gntiler
发帖
293
M币
6
专家
1
粉丝
1
只看该作者 7楼 发表于: 2008-09-13
请登录后查看
离线liyi529

发帖
12
M币
256
专家
1
粉丝
26
只看该作者 8楼 发表于: 2009-02-27
请登录后查看
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个