把天琴 080911 一级内核分化成 一级启动内核 和 一级补充内核
需要工具:1、winrar 2、UltraISO
3、注册表编辑软件 4、cmdhere.inf 5、右键CAB.REG
需要技能:能数量使用上述软件,具有基本的cmd脚本编辑能力。
需要添加进内核的文件 ISODrive.sy_ ,isocmd.exe
一、总体框架
1、根据 ghostpe 的文件列表,把一级内核精简成只能启动到 cmd 状态
2、把精简出来的文件 做成 pe_sys.isz 光盘压缩包,成为一级补充内核
3、一级启动内核 启动进入 cmd 状态以后,通过 isocmd 把pe_sys.isz虚拟成z:盘,然后把z:盘的文件放回系统盘X.使系统盘中的系统完整化。
4、把已经完整化的系统启动到 图形界面。
这样做的好处是 一级启动内核(winpe.is_) 体积小,启动时装载速度快,节省启动时所需内存。
二、具体实现方法
1、安装 cmdhere.inf 和 右键CAB.REG(给鼠标右键提供 cmd 支持和 makecab 支持)
右键 cmdhere.inf 选择 “安装”。然后,你在右键任何一个文件夹的时候右键菜单就会出现 cmd here 的选项,选择它,你就会在cmd状态打开这个文件夹。
双击 右键CAB.REG ,然后,你在右键任何一个文件的时候右键菜单就会出现 CAB最大压缩 的选项,选择它,你就会把该文件压缩成cab格式,扩展名为 ??_。
2、获取 ghostpe 核心文件列表。把 ghostpe 光盘的 内核文件 winpe.is_ 用winrar 解压缩得到winpe.iso,在用ultraiso 把winpe.iso释放到一个文件夹中(暂时定为 d:\pe\pe1)找到里面的 system32 文件夹。在该system32文件夹下的 cmd 状态下运行如下命令:
dir /b /a-d *.* /s > d:\pe\pe1.txt
这个 pe1.txt 就是我们需要的文件列表。
3、释放 天琴 080911 核心文件。同上一步,只是需要注意要把文件释放到 d:\pe\pe2 文件夹中,不能和前面的重复。不必生成列表文件。
4、根据 pe1.txt 提取出 一级补充内核 所需的文件,并制作成 pe_sys.isz
建立 文件夹 d:\pe\pe_sys ,在上一步的 d:\pe\pe2文件夹中找到 system32 文件夹(注意,不是弟2步的那个system32),以cmd方式进入这个system32文件夹,输入如下cmd 命令:
move *.* d:\pe\pe_sys
for /f %c in (d:\pe\pe1.txt) do if exist d:\pe\pe_sys\%c move d:\pe\pe_sys\%c %cd%
此时d:\pe\pe_sys 中的文件就是 一级补充内核 所需的文件。用UltraISO把这些文件做成一个 isz 文件。
1、修改 一级内核,制作成 一级启动内核。
1)在 d:\pe\pe2文件夹里面找到 system32\drivers 文件夹,并把 ISODrive.sy_ 复制到此处。
在 d:\pe\pe2文件夹里面找到 system32 文件夹,并把 isocmd.exe 复制到此处。
2)修改 txtsetup.sif脚本
在 d:\pe\pe2文件夹里面找到 txtsetup.si_ 用winrar 打开之,释放出 txtsetup.sif 到 d:\pe\txtsetup 文件夹
用记事本编辑 txtsetup.sif 找到 [SourceDisksFiles] 段,在该段的最后输入 ISODRIVE.sys=1,,,,,,4_,4,1,,,1,4
找到 [CdRomDrivers.Load] 段,在该段的最后输入 isodrive=isodrive.sys
找到 [CdRomDrivers] 段,在该段的最后输入 isodrive="ISO DVD/CD-ROM Device Driver"
保存后,右键这个 txtsetup.sif 文件 选择 CAB最大压缩,把这个文件压缩成 txtsetup.si_ 。用这个 txtsetup.si_ 覆盖那个d:\pe\pe2 里面的原始 txtsetup.si_ 。
3)修改 setupreg.hiv 注册表文件
在 d:\pe\pe2文件夹里面的SYSTEM32文件夹里找到 setupreg.hi_ 用winrar 打开之,释放出 setupreg.hiv 到 d:\pe\setupreg 文件夹
运行 regedit 注册表编辑器,将这个 setupreg.hiv 以“导入配置单元”的方式导入,找到配置单元中的 setup\cmdline 项目
把pecmd.exe main pecmd.ini
更换成 cmd.exe /b startpe.cmd 。然后,卸载配置单元。
右键这个 setupreg.hiv 文件 选择 CAB最大压缩,把这个文件压缩成 setupreg.hi_ 。用这个 setupreg.hi_ 覆盖那个d:\pe\pe2 里面的原始 setupreg.hi_ 。
4)创建 startpe.cmd
用记事本 编辑如下内容生成 startpe.cmd 并保存到 d:\pe\pe2 里面的那个 system32 文件夹中
-------------------
title startpe
cd /d "%~dp0"
echo.开始加载PE_SYS.ISZ.....
PATH %windir%;%windir%\system32
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
if exist %%i:\WXPE\PE_SYS.ISz (SET OPDrv=%%i:\WXPE&goto :mount_iso)
)
GOTO :ERROR1
:mount_iso
isocmd -mount z: %OPDrv%\PE_SYS.ISz >nul
SET OPExt=
goto load_sys
GOTO :END
:ERROR1
ECHO 找不到PE_SYS.ISz!
GOTO :END
:load_sys
path %path%;z:\
ECHO 运行 LSASS.EXE
START /D%WinDir%\system32 LSASS.EXE
ECHO 运行 SERVICES.EXE
START /D%WinDir%\system32 SERVICES.EXE
ECHO 设置FBWF 空间
START /WAIT PECMD.EXE FBWF P40 L48 H96
ECHO 复制必要的文件到系统
copy z:\*.* %windir%\system32
ECHO 调用系统脚本 PECMD MAIN PECMD.INI
start PECMD.EXE MAIN PECMD.INI
echo LOAD_SYS脚本运行完毕...
:end
----------------
5)重新制作 winpe.is_
用 UltraISO 对d:\pe\pe2 里面的东西打包 成 winpe.iso,右键 winpe.iso ,选择
CAB最大压缩,把这个文件压缩成 winpe.is_
6、把上面制作的 winpe.is_ 和 pe_sys.isz 放回 天琴 080911 光盘的wxpe文件夹中覆盖原有文件。
至此,基本完成了我们最初的目的。当然还需要进一步的修改和磨合,这需要您自己去DIY 了。
2008.09.27
目前比较成形的 修改内核 支持 112M内存 启动
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=129351&extra=page%3D1
[ 本帖最后由 dos时代菜鸟 于 2008-9-28 12:04 编辑 ]