注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

梦想之鹰的天空

天高任鸟飞......放飞....心情..........放飞.....梦想

 
 
 

日志

 
 

Linux配置PXE启动WinPE环境[转]  

2013-09-19 18:53:35|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来自:http://www.jzxue.com/fuwuqi/linux/201102/23-6311.html
PXE Server就是DHCP+TFTP服务,如果想使用Server上的文件,可以加入FTP或Samba等服务。作者用经常用的是PXE启动WinPE环境,在Linux 中再加入Samba服务。WinPE中用 net use 把共享映射到WinPE下。就可以使用Server上的文件了。

  下面Linux PXE是我在VirtualBox上RHEL6系统上配置的。

.配置Linux DHCP Server

以下是dhcpd.conf配置文件:这里只是简单给出必须的配置项。
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.56.254;
filename "pxeboot.0";
}
subnet 192.168.56.0 netmask 255.255.255.0 {
option routers 192.168.56.1;
range dynamic-bootp 192.168.56.10 192.168.56.250;
default-lease-time 600;
max-lease-time 7200;
}
 

2.配置Linux下的tftp Server
(1)创建remap文件,/tftpboot/tftpd.remap。该文件内容如下:
必须加入这一行:rg \\ /
 
(2)编辑/etc/xinitd.d/tftp文件。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot -m /tftpboot/tftpd.remap -vvv
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
 

3.启动各服务
#service dhcpd restart
#service xinetd restart
 
.创建BCD启动文件(摘自微软官方)
 
在此步骤中,将使用 BCDEdit 工具创建 BCD 存储。BCDEdit 工具只能在 Windows7 计算机或 Windows PE 环境中运行。BCDEdit 工具位于 \Windows\System32 目录中。
1. Windows? 7 计算机或 Windows PE 环境中,使用 BCDEdit 工具创建一个 BCD 存储。例如,
Bcdedit -createstore c:\BCD
2.创建 RAMDISK 设置例如,
Bcdedit -store c:\BCD -create {ramdiskoptions} /d "Ramdisk options"
Bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdidevice boot
Bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
3.(可选)创建内核调试程序设置。例如,
Bcdedit -store c:\BCD -create {dbgsettings} /d "Debugger settings"
Bcdedit -store c:\BCD -set {dbgsettings} debugtype serial
Bcdedit -store c:\BCD -set {dbgsettings} baudrate 115200
Bcdedit -store c:\BCD -set {dbgsettings} debugport 1
4. Windows PE 映射创建 OSLoader 设置。例如,
Bcdedit -store c:\BCD -create /d "MyWinPE Boot Image" /application osloader 如果 s 命令成功,则计算机将返回 GUID 值。下列示例将此值指代为 guid1。
Bcdedit -store c:\BCD -set {guid1} systemroot \Windows
Bcdedit -store c:\BCD -set {guid1} detecthal Yes
Bcdedit -store c:\BCD -set {guid1} winpe Yes
Bcdedit -store c:\BCD -set {guid1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
Bcdedit -store c:\BCD -set {guid1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
5.创建 BOOTMGR 设置。例如,
Bcdedit -store c:\BCD -create {bootmgr} /d "Windows BootManager" /inherit {dbgsettings}
Bcdedit -store c:\BCD -set {bootmgr} timeout 30
Bcdedit -store c:\BCD -displayorder {guid1} {guid2}
其中,guid1、guid2 等等是每个 .wim 文件条目对应的 GUIDS。
 
我所使用的BCDEDIT命令如下:我把创建出来的BCD文件保存在D:\BCD这个目录下。
bcdedit /createstore d:\BCD\BCD
bcdedit /store D:\BCD\BCD /create {ramdiskoptions} /d "Ramdisk options"
bcdedit /store D:\BCD\BCD /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store D:\BCD\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
bcdedit /store D:\BCD\BCD /create /d "WinPE 3.0 32bit" /application osloader 得到ID
 
set id={ac1ab259-21dd-11e0-aee8-b8ac6fc4f993} 例如是这个ID
bcdedit /store D:\BCD\BCD /set %id% systemroot \windows
bcdedit /store D:\BCD\BCD /set %id% detecthal Yes
bcdedit /store D:\BCD\BCD /set %id% winpe Yes
bcdedit /store D:\BCD\BCD /set %id% osdevice ramdisk=[boot]\Boot\boot32.wim,{ramdiskoptions}
bcdedit /store D:\BCD\BCD /set %id% device ramdisk=[boot]\Boot\boot32.wim,{ramdiskoptions}
bcdedit /store D:\BCD\BCD /create {bootmgr} /d "Windows Boot Manager" 
bcdedit /store D:\BCD\BCD /set {bootmgr} nointegritychecks yes
bcdedit /store D:\BCD\BCD /set {bootmgr} timeout 0
bcdedit /store D:\BCD\BCD /default %id%
bcdedit /store D:\BCD\BCD /displayorder %id% 
 
还可以做成多启动,例如WinPE 32BIT和WinPE 64BIT。只需要用BCDEDIT命令修改BCD文件即可。网有很多说要修改bootmgr.exe文件的二进制内容,又说要去掉其中的MD5验证功能 等,都是错误的,根本不用那么麻烦。我们只需要修改BCD文件就可以了。而Windows中提供了一个非常强大的命令来修改它,就是BCDEDIT这个命 令。
 
.把WINPE3.0文件放到Linux TFTP Server /tftpboot 目录下。
创建Boot目录
#Mkdir /tftpboot/Boot
BCD、boot.sdi、boot.wim、front目录放到 /tftpboot/Boot/ 目录
pxeboot.0、bootmgr.exe、tftpd.remap放到 /tftpboot/ 目录
其中tftpd.remap这个文件非常重要,这是把windows下的“\”映射成Linux下的“/”,否则在加载BCD文件的时候就会出错,出现找不到BCD文件的提示。
 

至于WinPE3.0如何制作,这种简单的问题就不用说了,用AIK或OPK就可以制作一个干净的WinPE了。 bootmgr.exe/boot.sdi/boot.wim/pxeboot.0可以从AIK或OPK中获得。其中pxeboot.0就是 pxebootn12.com的改名。

  评论这张
 
阅读(674)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018