光盘版和硬盘版的WinPE2.0实现方法已经很多了。U盘版的WinPE1.X也比较多,很多人问我应该怎样弄U盘启动的WinPE2.0,其实很简单,至少有2种方式。
先说一种RAM方式引导的,这也是我推荐的一种。
1、找个你认为好用的WinPE2.0光盘镜像。以微软默认的结构为例,主要文件目录结构
│ bootmgr
│
├─boot
│ │ bcd
│ │ boot.sdi
│ │
│ └─fonts
│ chs_boot.ttf
│ wgl4_boot.ttf
│
└─Sources
boot.wim
启动方式为bootmgr读取bootcd文件,bcd文件中包含的RAM镜像Sourcesoot.wim。
2、用bootsect.exe实现U盘的引导。(注意选择盘符u:)
运行 :
bootsect /nt60 u: /force /mbr
3、创建bcd引导配置文件。 运行
bcdedit /createstore c:123 �
bcdedit /store c:123 /create {bootmgr} /d "Windows Boot Manager" �
bcdedit /store c:123 /set {bootmgr} device boot �
bcdedit /store c:123 /timeout 3 �
bcdedit /store c:123 /set {bootmgr} locale "zh-CN" �
4、创建RAM入口
bcdedit /store c:123 /create {ramdiskoptions} /d "启动 Windows PE"
bcdedit /store c:123 /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store c:123 /set {ramdiskoptions} ramdisksdipath ootoot.sdi
bcdedit /store c:123 /create {255d7198-65d8-11dd-ba90-005056c00008} /d "启动 Windows PE" /application osloader
5、具体配置
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} device ramdisk=[boot]sourcesoot.wim,{ramdiskoptions}
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} path windowssystem32ootwinload.exe
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} osdevice ramdisk=[boot]sourcesoot.wim,{ramdiskoptions}
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} systemroot windows
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} winpe yes
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} detecthal yes
bcdedit /store c:123 /displayorder {255d7198-65d8-11dd-ba90-005056c00008} /addlast
好了,把c:123改名为bcd,按照第1步中的文件目录结构把相应的文件拷贝到U盘上就可以实现U盘启动的WinPE2.0了。
我们还可以进一步完善它
1、虽然设置了 /set {bootmgr} locale “zh-CN” 此时的引导说明还是英文的, 要显示中文,需要相应的mui文件放到bootzh-cn目录。
2、添加MEMTEST.EXE内存测试项
bcdedit /store c:123 /create {memdiag} /d "Windows 内存诊侧" �
bcdedit /store c:123 /set {memdiag} device boot �
bcdedit /store c:123 /set {memdiag} path ootmemtest.exe �
bcdedit /store c:123 /toolsdisplayorder {memdiag} /addlast �
bcdedit /store c:123 /set {memdiag} locale "zh-CN" �
另外还有一种实现U盘启动的WinPE2.0的方法,类似于把WinPE2.0安装到U盘。
1、展开boot.wim到U盘(注意盘符)
imagex /apply d:sourcesoot.wim 1 u:
2、创建bcd引导配置文件。 运行
bcdedit /createstore c:123 �
bcdedit /store c:123 /create {bootmgr} /d "Windows Boot Manager" �
bcdedit /store c:123 /set {bootmgr} device boot �
bcdedit /store c:123 /timeout 3 �
bcdedit /store c:123 /set {bootmgr} locale "zh-CN" �
3、创建引导入口
bcdedit /store c:123 /create {255d7198-65d8-11dd-ba90-005056c00008} /d "启动 Windows PE" /application osloader
4、具体配置
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} device partition=boot
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} path windowssystem32ootwinload.exe
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} osdevice partition=boot
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} systemroot windows
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} winpe yes
bcdedit /store c:123 /set {255d7198-65d8-11dd-ba90-005056c00008} detecthal yes
bcdedit /store c:123 /displayorder {255d7198-65d8-11dd-ba90-005056c00008} /addlast
5、拷贝boot文件夹和bootmgr文件到U盘。
完成
另外,如果用bootsect不能实现U盘引导,可以用diskpart,运行
diskpart
select disk 1
clean
create partition primary
select partition 1
active
format fs=ntfs quick
assign
exit
U盘怎么做引导菜单呢?
如果能引导bootmgr了就可以编辑bcd文件来添加不同的启动项目。比如可以参考 https://www.wingwy.com/archives/2011_01_809.html
U盘怎么引导win7pe和win8pe呢?
格式化为主分区,标记为活动,添加引导信息引导bootmgr就行了。
我更亲睐将GRUB4DOS坐位主要引导器,用GRUB¥DOS去引导别的系统。
是了,这个是个人喜好问题。呵呵~
WingWy,我在网上找教程,找来找去又找回来了,我看网上好多都是转载你的文章都没有写转载自什么地方,鄙视这种人,在这我请教个问题,我把BOOTMGR做到移动硬盘上了,我想把XP的安装程序放到移动硬盘上用BOOTMGR来引导,这样能实现吗?我没有做成功,但是做成ISO的镜像,刻成光盘都可以用,唯独在移动硬盘上不行。
你好,这个问题以前似乎很多人都遇到过,你看看这个讨论,https://www.wingwy.com/guestbook/comment-page-7#comment-3614
[…] https://www.wingwy.com/archives/2008_08_140.html […]
看不懂啊
bootsect根本运行不起
需要bootsect.exe
[…] […]
太奇怪了,这我也不清楚
拷贝了,可就是不能显示中文!
重新bcdedit也一样
不知还要注意什么问题?
在我的2和1pe里面就有,或者你装waik,vista sp1没有的
在“RAM方式引导的”的进一步完善的第一步骤中说到:“如果要显示中文,则还要拷贝相应MUI文件”,请问:要拷贝哪一个mui,文件名是什么?从哪里拷贝?(源文件在那个文件夹中?)拷到哪里去?(哪个文件夹?)总共要拷贝几个文件?分别是?
谢谢
GUID是系统返回的值,第1种方法不需要winload.exe
这个文件 也需要在U盘上吗?
windowssystem32ootwinload.exe
请问上面采用的 GUID {255d7198-65d8-11dd-ba90-005056c00008} 是从哪里获得的?
是不是所有采用U盘做PE启动都用这个GUID?