georgefan 发表于 2010-8-25 23:53

【转帖】制作win7 PE

序 号:8500490 (天南地北)
标 题:用 WINDOWS 7 的多吗?——发布一套本人写的“从 WINDOWS 7 安装光盘中提取一份纯净的 Windows 7 PE”代码 (6058字)
发信人:〓柔人〓
时 间:2010-8-25 0:56:36
阅读次数:463
详细信息:

关于PE,不需要多说了,大致相当于windows98时的dos,是安装、维护系统不可缺少的东西,总之吧,这是个好东西。按照版本分,windows7的PE应该是PE3.0。

——有兴趣的筒靴,请搜索一下,网上关于 PE 基础知识的介绍很多。



提起来这个东西,其实很多人都接触过,在windows7运行出现异常时,总会出现“修复计算机”之类的选项,其实,那时电脑启动的就是PE。

简言之,PE3.0就是骨头版的WINDOWS7。



下面直接贴出一套代码,运行后即可得到一份原汁原味的 Windows 7 PE 。

此帖介绍的方法,好处就是:避开繁琐的制作步骤,舍弃人为添加的臃余工具,直接制作一份原汁原味的PE3.0。

代码中涉及到的,都是微软自己的东西,没有第三方工具。纯绿色食品,本人品尝多次,无任何毒副作用,请放心食用。

也无需更多的解说,代码中的注释行,把各个步骤都已经介绍了。



以下内容,拷贝到文本文件,扩展名改为BAT,在WINDWOS7中以管理员身份运行即可。



================代码开始于下一行===================

:: 本程序从 WINDOWS 7 安装光盘中提取并生成纯净的 Windows 7 PE 映像。

:: 请将 WINDOWS 7 安装光盘放入光驱 J:,也可以将安装映像加载到虚拟光驱 J: 。

:: 请预先将 imagex.exe 文件拷贝至 %SYSTEMDRIVE% 根目录。

@echo off

setlocal enabledelayedexpansion

color 2e

title 从 WINDOWS 7 安装光盘中提取 WinPE3.0      Code by Bootp.Lu

:: 本代码开放源码,可随意拷贝使用。引用或改写时请保留上面一行中的作者信息。

@echo 本程序从 WINDOWS 7 安装光盘中提取并生成纯净的 Windows 7 PE 映像。

@echo 请将 WINDOWS 7 安装光盘放入光驱 J:,支持将映像加载到虚拟光驱 J: 。

@echo 请预先将 imagex.exe 文件拷贝至 %SYSTEMDRIVE% 根目录。

@echo.

@echo                                 Code by Bootp.Lu2010.08.24

@echo.

pause



:: 一、准备

set cdrom_disk=J:

:: 如光驱盘符不是 J:,请按照实际情况修改上面一行内容。

md %SYSTEMDRIVE%\_temp_mount

md %SYSTEMDRIVE%\_temp_wim

md %SYSTEMDRIVE%\_temp_wim\boot

md %SYSTEMDRIVE%\_temp_wim\efi

md %SYSTEMDRIVE%\_temp_wim\sources



:: 二、用 WINDOWS 7 安装光盘中 %cdrom_disk%\sources\boot.wim 提取 Windows 7 PE 映像。


:: 拷贝原文件和目录。

copy %cdrom_disk%\sources\boot.wim %SYSTEMDRIVE%\_temp_wim\boot_c.wim

copy %cdrom_disk%\bootmgr %SYSTEMDRIVE%\_temp_wim

xcopy %cdrom_disk%\boot\*.* %SYSTEMDRIVE%\_temp_wim\boot /i /e /c /f /h /x /y

xcopy %cdrom_disk%\efi\*.*%SYSTEMDRIVE%\_temp_wim\efi/i /e /c /f /h /x /y


:: 拷贝%cdrom_disk%\sources\dism.exe,以备后续步骤使用。

copy %cdrom_disk%\sources\dism.exe %SYSTEMDRIVE%\


:: 从原镜像中提取纯净的 Windows 7 PE 映像。

%SYSTEMDRIVE%\imagex /export %SYSTEMDRIVE%\_temp_wim\boot_c.wim 1 %SYSTEMDRIVE%\_temp_wim\sources\boot.wim

del /f /q %SYSTEMDRIVE%\_temp_wim\boot_c.wim



:: 三、修改映像,除掉冗余文件,删除原有的启动参数,输入新的启动参数。


:: 解开映像供进一步修改。

%SYSTEMDRIVE%\imagex /mountrw %SYSTEMDRIVE%\_temp_wim\sources\boot.wim 1 %SYSTEMDRIVE%\_temp_mount

:: 修改映像

if exist %SYSTEMDRIVE%\_temp_mount\setup.exe del /q /f %SYSTEMDRIVE%\_temp_mount\setup.exe

if exist %SYSTEMDRIVE%\_temp_mount\Windows\System32\winpeshl.ini del /f /q %SYSTEMDRIVE%\_temp_mount\Windows\System32\winpeshl.ini

:: 下面三行,定义PE和用户自己的程序的接口,如无,可在此三行删除。

rem attrib -r -h -s %SYSTEMDRIVE%\_temp_mount\Windows\System32\startnet.cmd

rem echo. >>%SYSTEMDRIVE%\_temp_mount\Windows\System32\startnet.cmd

rem echo CALL C:\<MyPath>\MyProgram.bat >>%SYSTEMDRIVE%\_temp_mount\Windows\System32\startnet.cmd


:: 清理无用的临时工作目录

rd /s /q %SYSTEMDRIVE%\_temp_mount\sources


:: 添加ImageX等工具。

copy %SYSTEMDRIVE%\imagex.exe %SYSTEMDRIVE%\_temp_mount\Windows\System32\

:: 重新封装,保存修改后的映像。

%SYSTEMDRIVE%\imagex /unmount /commit %SYSTEMDRIVE%\_temp_mount



:: 四、定义和部署映像


:: 查看映像索引

%SYSTEMDRIVE%\dism /get-wiminfo /wimfile:%SYSTEMDRIVE%\_temp_wim\sources\boot.wim

:: 查看映像索引“1”的详细情况

%SYSTEMDRIVE%\dism /get-wiminfo /wimfile:%SYSTEMDRIVE%\_temp_wim\sources\boot.wim /index:1


:: 使用 DISM 将基本 Windows PE 映像装入 Mount 目录。完成后,可以看到mount目录下已经有了“解压”文件。

%SYSTEMDRIVE%\dism /Mount-Wim /Wimfile:%SYSTEMDRIVE%\_temp_wim\sources\boot.wim /index:1 /MountDir:%SYSTEMDRIVE%\_temp_mount


:: 使用带有 /GetPackages 选项的 DISM 命令查看当前映像中的所有程序包,验证这些程序包是否已安装。

rem %SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /Get-Packages


:: 使用具有以下语法的 /Set-AllIntl 选项设置默认语言。如果安装光盘是中文版WINDOWS 7,此行可忽略。

rem %SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /Set-AllIntl:zh-cn


:: 使用 /Get-Intl 选项验证语言设置。

rem %SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /Get-Intl


:: 修改暂存空间。该命令最后的256是代表256M的意思,默认WINPE只会分配32M暂存内存,有点小。

%SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /Set-ScratchSpace:256


:: 设定enable-profiling

%SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /enable-profiling


:: 设定磁盘上 Windows PE 映像的位置Set-TargetPath

%SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /Set-TargetPath:X:\



:: 提交对映像的更改。在此步骤中,将 DISM /unmount 选项和 /commit 选项一起使用提交对原始映像的更改。

%SYSTEMDRIVE%\dism /unmount-Wim /MountDir:%SYSTEMDRIVE%\_temp_mount /Commit

:: 执行完后,mount目录会被自动清空,相当于又“压缩”回去,此时可删除 _temp_mount 目录。

rd /s /q %SYSTEMDRIVE%\_temp_mount

@echo.
@echo 预安装环境 Windows 7 PE 配置完成,文件保存在 %SYSTEMDRIVE%\_temp_wim 中。

@echo.
@echo 用一般的光盘刻录工具,就可以刻录成 Windows 7 PE 光盘备用。



:: 五、创建 Windows 7 PE 的可引导光盘

:: 创建可引导 CD-ROM。将 Windows PE RAM 盘放到 CD-ROM 上,需要使用 Oscdimg 工具创建 .iso 文件。
:: 若要删除引导期间的“按任意键从 CD 启动……”提示,请删除 boot 文件夹下的 bootfix.bin 文件。
:: 格式如下:
:: oscdimg -n -m -o -b%SYSTEMDRIVE%\etfsboot.com %SYSTEMDRIVE%\_temp_wim %SYSTEMDRIVE%\winpe_x86_bootp.iso

rem copy %SYSTEMDRIVE%\_temp_wim\boot\etfsboot.com %SYSTEMDRIVE%\

rem d:oscdimg -n -m -o -b%SYSTEMDRIVE%\etfsboot.com %SYSTEMDRIVE%\_temp_wim %SYSTEMDRIVE%\winpe_x86_bootp.iso

:: 此处跳过 ISO 文件的生成。如不想跳过,除掉上面两行代码前的 rem 即可。

:: ISO映像主要是刻写 WinPE 光盘用,如需生成ISO文件,需要微软的 oscdimg.exe 小文件。



:: 六、清理

rem del /f /q %SYSTEMDRIVE%\etfsboot.com

del /f /q %SYSTEMDRIVE%\dism.exe

@echo.
@echo.
@echo纯净的原生态 Windows 7 PE 3.0 制作完毕。      Code by Bootp.Lu
@echo--------------------------------------------------------------
@echo.                        如有任何问题,请反馈作者:bootp@126.com

@echo.
@echo.
@echo 后续步骤可以把 Windows 7 PE 安装到系统盘 C: 上,并以硬盘方式启动预安装环境。

@echo.
@echo.
pause
================代码结束于上一行===================


干脆传上来一份我编辑好的,取名为:CreatPE.bat 点击打开下载页面:http://www.brsbox.com/filebox/down/fc/607e95ba17be762cb16b4791e5500be2点击打开连接



附:微软小工具ImageX.exe下载地址 http://www.brsbox.com/filebox/down/fc/0728af29745ae65e23451bfde3b12e22点击打开连接

如需要制作光盘镜像文件,请联系本人索取镜像文件生成工具。



还是那句话,分享使我们快乐,各位的分享也让我很快乐,请将快乐传递给更多的人~~~~~~



本人纯外行,加上心理儿特别脆弱,请多多鼓励,轻轻批评。





该帖子被 〓柔人〓 编辑。2010-8-25 14:47:48



----
我用沉默掩饰无知,也用无视躲避喧嚣。

georgefan 发表于 2010-8-25 23:56

序 号:8503555 (天南地北)
标 题:可以,加入第三方驱动程序的方法如下: (516字)
发信人:〓柔人〓
时 间:2010-8-25 15:53:00
阅读次数:17
详细信息:

找到下面两行——

:: 使用 /Get-Intl 选项验证语言设置。

rem %SYSTEMDRIVE%\dism /image:%SYSTEMDRIVE%\_temp_mount /Get-Intl


这两行后面,加上这样几行代码:



==============从下一行代码内容开始
:: 使用add-driver命令选项,加载inf设备驱动

dism /image:%SYSTEMDRIVE%\_temp_mount /add-driver /driver:d:\PE_Drivers\ich10\IAAHCI.INF
dism /image:%SYSTEMDRIVE%\_temp_mount /add-driver /driver:d:\PE_Drivers\ich10\IASTOR.INF
==============到上一行代码内容结束

——只是举个例子,上面两行是加了AHCI模式的硬盘驱动(其实不必要,PE3.0内置支持AHCI)。

我的驱动程序放在了d:\PE_Drivers\ich10,你要换成自己的目录,语句中相应位置也换一下。






----
我用沉默掩饰无知,也用无视躲避喧嚣。

bjadsl 发表于 2010-8-26 07:24

老子道德经 发表于 2010-8-26 07:50

PE拿来干嘛?

youreyes 发表于 2010-8-26 10:41

此帖留名

0. 发表于 2010-8-27 13:20

学习了谢谢!楼主!

linchen 发表于 2010-8-27 15:46

学习了,谢谢分享

稀饭这句“我用沉默掩饰无知,也用无视躲避喧嚣。"

superdome 发表于 2010-8-27 16:48

谢谢分享

supermh 发表于 2010-8-27 19:10

DDDDDDDDDDDDDDDDDDDDDDDD

毕+索 发表于 2010-8-27 19:28

楼主在么?里面有个笑脸的符号,那是什么字母来的?

allplay 发表于 2010-8-27 22:56

纯净的,我喜欢。这样用着放心啊

lcd 发表于 2010-8-28 01:23

谁验证过,真是高手

metalion 发表于 2010-8-28 15:16

mark,thanks

lh610 发表于 2010-8-30 15:50

学习了,谢谢楼主!

testdvd 发表于 2010-8-31 22:35

此贴必火!

大脑痴呆 发表于 2010-8-31 22:56

谢谢分享 留名备用

chiangling 发表于 2010-9-1 13:46

W7 PE 还没怎么用呢。   顶了。

pchobby 发表于 2010-9-1 15:20

留名备用了

gracewilliam 发表于 2010-9-1 19:04

留名备用

weib0169 发表于 2010-9-24 23:08

学习了谢谢!楼主!

kylesong 发表于 2010-9-25 08:02

先下载备用.谢谢分享!:)

aiwha 发表于 2010-9-25 08:29

不用这么麻烦吧?用Ultraiso把win7 iso中那个超大的文件删除并另存就好了。

酷耶 发表于 2010-9-25 23:06

没做过。。。。。。。。。。。

8610 发表于 2010-9-25 23:10

亟待验证~感谢分享

jiadaifu 发表于 2010-9-26 17:45

请高手出来验证

mrzhu 发表于 2010-9-26 19:17

先mark之

DarkSniper 发表于 2010-9-26 22:13

leesir 发表于 2010-9-27 19:20

先马克一下

chao_hl 发表于 2010-11-9 10:30

LZ厉害。可我用你的方法制作好并用UltraISO制作成可启动U盘后,用U盘启动机器,能出现正在加载Windows的画面(类似Win7系统的启动界面),然后就出现黑底白字的错误提示,称C:\Windows\System32\Winload.exe错误,提示装入Win7安装盘修复。请问是咋回事?如何解决?
另外,麻烦LZ能否做个继承了最新的Ghost32、DiskiGenius、Winrar及Win7系统引导修复(我不知道用啥软件)等几个最基本的系统修复用的PE镜像,并放出下载,好方便我们这些菜鸟?——网上有下载的都集成了太多的无用东西,而且不太敢用。
再次谢谢。

600xtp 发表于 2010-11-9 19:55

现成的很多,不愿动手了。支持一下技术贴。
页: [1] 2
查看完整版本: 【转帖】制作win7 PE