无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 12639|回复: 53
打印 上一主题 下一主题

把 天琴080911 精简成 ISOCMD ISZ二级启动 结构

[复制链接]
跳转到指定楼层
1#
发表于 2008-9-27 21:29:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
把天琴 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 编辑 ]

天琴pe精简成ISZ结构.rar

61.67 KB, 下载次数: 387, 下载积分: 无忧币 -2

54#
发表于 2011-2-24 09:02:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

53#
发表于 2011-2-19 23:38:33 | 只看该作者
占楼待用,先学习一下
回复

使用道具 举报

52#
发表于 2009-7-3 12:08:17 | 只看该作者
正需要,谢谢了!!!
回复

使用道具 举报

51#
发表于 2008-10-6 10:17:00 | 只看该作者
很有帮助的贴子,正向这方面研究,学习了!
回复

使用道具 举报

50#
 楼主| 发表于 2008-10-2 20:07:24 | 只看该作者
原帖由 hongm 于 2008-9-30 07:54 发表
一、精简分化后的一级内核有多大?需要多大内存能启动?
二、DOS窗口实在不怎么样,看着这个还不如看LOADING,呵


第一个问题:winpe.is_ 可以到 20M 释放后 36M ,需要的内存自己算吧26*2+16 建议用 112M
第二个问题:那个DOS窗口 状态下,你可以随时通过鼠标暂停PE启动过程或者CTRL+C 中断PE启动,LOADING 界面能有这功能么?类似的好处还有好多,这样用脚本控制PE启动过程要比哪个 单纯的LOADING 更具主动!
回复

使用道具 举报

49#
 楼主| 发表于 2008-10-2 19:30:12 | 只看该作者
原帖由 gowowo1 于 2008-9-30 13:16 发表
把PECMD.INI中的
REGI %V0%\USBHUB\ImagePath=%V1%\USBHUB.SYS
REGI %V0%\USBCCGP\ImagePath=%V1%\USBCCGP.SYS
REGI %V0%\USBEHCI\ImagePath=%V1%\USBEHCI.SYS
REGI %V0%\USBOHCI\ImagePath=%V1%\USBOHCI.S ...



请公布具体做法。
回复

使用道具 举报

48#
 楼主| 发表于 2008-10-2 19:28:50 | 只看该作者
原帖由 ycw565 于 2008-10-2 18:16 发表
我早就试过了,蓝屏~~不然老毛桃他们恐怕早放注册表里面了


我也是过了,845主板扩展sis_usb扩展卡测试kingstone/紫光/联想等多个品牌u盘根本不出现蓝屏。
不知道为什么不出现蓝屏。
回复

使用道具 举报

47#
发表于 2008-10-2 18:16:11 | 只看该作者

回复 #46 dos时代菜鸟 的帖子

我早就试过了,蓝屏~~不然老毛桃他们恐怕早放注册表里面了
回复

使用道具 举报

46#
 楼主| 发表于 2008-10-2 17:50:57 | 只看该作者
把 usb 驱动service 写入了注册表,不知道对启动对usb设备支持如何,请大家帮忙测试下
SETUPREG.rar (59.49 KB, 下载次数: 28)
解压缩,替换 原有 setupreg.hi_。
主要是把本地电脑注册表里面的 usb 设备相关的 serivce 项目 导入到setupreg.hiv 中。
USBHUB
USBCCGP
USBEHCI
USBOHCI
USBSTOR
USBUHCI
HIDUSB
MOUHID
KBDHID

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=129124&extra=page%3D1&page=32 这里的做法更简洁,但是需要把 REG.EXE 保留在 一级启动内核里

[ 本帖最后由 dos时代菜鸟 于 2008-10-2 21:29 编辑 ]
回复

使用道具 举报

45#
发表于 2008-10-2 11:36:05 | 只看该作者
原帖由 dos时代菜鸟 于 2008-10-1 17:35 发表


你用最新版本的pecmd 。cmd状态下调用需要运行 pelogon pecmd.exe load pecmd.ini。代替原来的 pecmd main pecmd.ini

不错,试过可以。谢谢LZ !
回复

使用道具 举报

44#
 楼主| 发表于 2008-10-1 17:35:23 | 只看该作者
原帖由 huantaoyan 于 2008-10-1 10:00 发表
我修改完时出现这样的提示进不去系统,请问是哪里出错了46712


你用最新版本的pecmd 。cmd状态下调用需要运行 pelogon pecmd.exe load pecmd.ini。代替原来的 pecmd main pecmd.ini
回复

使用道具 举报

43#
发表于 2008-10-1 10:17:53 | 只看该作者
要修改注册表的哪一项?我cmdline这一项是cmd.exe /k startpe.cmd
有错吗?
回复

使用道具 举报

42#
发表于 2008-10-1 10:09:30 | 只看该作者

回复 #39 dos时代菜鸟 的帖子

我权限太低不能发附件,是修改注册表解决的.
回复

使用道具 举报

41#
发表于 2008-10-1 10:00:14 | 只看该作者
我修改完时出现这样的提示进不去系统,请问是哪里出错了 2.jpeg (11.39 KB, 下载次数: 32)

[ 本帖最后由 huantaoyan 于 2008-10-1 10:03 编辑 ]

2.jpeg

11.39 KB, 下载次数: 38, 下载积分: 无忧币 -2

回复

使用道具 举报

40#
发表于 2008-9-30 22:02:20 | 只看该作者
关键看内存占用如何?
回复

使用道具 举报

39#
 楼主| 发表于 2008-9-30 20:07:42 | 只看该作者
几天没来,居然自己把问题解决了,呵呵,狠人儿啊。
把 过程方法 拿出来大家分享阿。
没有时间长来这里研究这个东西,只能提出一个想法,大家一起研究,共同推动pe发展。

加油阿。老大。
回复

使用道具 举报

38#
发表于 2008-9-30 13:16:54 | 只看该作者

回复 #28 dos时代菜鸟 的帖子

把PECMD.INI中的
REGI %V0%\USBHUB\ImagePath=%V1%\USBHUB.SYS
REGI %V0%\USBCCGP\ImagePath=%V1%\USBCCGP.SYS
REGI %V0%\USBEHCI\ImagePath=%V1%\USBEHCI.SYS
REGI %V0%\USBOHCI\ImagePath=%V1%\USBOHCI.SYS
REGI %V0%\USBSTOR\ImagePath=%V1%\USBSTOR.SYS
REGI %V0%\USBUHCI\ImagePath=%V1%\USBUHCI.SYS
REGI %V0%\HIDUSB\ImagePath=%V1%\HIDUSB.SYS
REGI %V0%\MOUCLASS\ImagePath=%V1%\MOUCLASS.SYS
REGI %V0%\MOUHID\ImagePath=%V1%\MOUHID.SYS
REGI %V0%\KBDCLASS\ImagePath=%V1%\KBDCLASS.SYS
REGI %V0%\KBDHID\ImagePath=%V1%\KBDHID.SYS
REGI %V0%\CDROM\ImagePath=%V1%\CDROM.SYS
直接放到 SETUPREG.HI_中 已解决 不能发现 PE_SYS.ISZ 的问题
回复

使用道具 举报

37#
发表于 2008-9-30 07:54:29 | 只看该作者
一、精简分化后的一级内核有多大?需要多大内存能启动?
二、DOS窗口实在不怎么样,看着这个还不如看LOADING,呵
回复

使用道具 举报

36#
发表于 2008-9-30 04:10:28 | 只看该作者
我怎么复制文件的时候总是拒绝访问呢?
START /D%WinDir%\system32 LSASS.EXE
START /D%WinDir%\system32 SERVICES.EXE
PECMD.EXE FBWF P40 L32 H96
这几天语句都运行成功了,为什么还会拒绝访问呢?还跟什么有关系?
回复

使用道具 举报

35#
发表于 2008-9-30 00:01:15 | 只看该作者
几个机子试了一下,不过最小的内存也是一个G的了,发现从启动加载到看到桌面,总的时间反倒加长了
回复

使用道具 举报

34#
发表于 2008-9-29 23:47:49 | 只看该作者
忘记说了 U盘量产成本地磁盘
回复

使用道具 举报

33#
发表于 2008-9-29 23:39:18 | 只看该作者
<不能发现 PE_SYS.ISZ>
可能是USB 驱动程序文件路径问题,
能否把PECMD.INI中的
REGI %V0%\USBHUB\ImagePath=%V1%\USBHUB.SYS
REGI %V0%\USBCCGP\ImagePath=%V1%\USBCCGP.SYS
REGI %V0%\USBEHCI\ImagePath=%V1%\USBEHCI.SYS
REGI %V0%\USBOHCI\ImagePath=%V1%\USBOHCI.SYS
REGI %V0%\USBSTOR\ImagePath=%V1%\USBSTOR.SYS
REGI %V0%\USBUHCI\ImagePath=%V1%\USBUHCI.SYS
REGI %V0%\HIDUSB\ImagePath=%V1%\HIDUSB.SYS
REGI %V0%\MOUCLASS\ImagePath=%V1%\MOUCLASS.SYS
REGI %V0%\MOUHID\ImagePath=%V1%\MOUHID.SYS
REGI %V0%\KBDCLASS\ImagePath=%V1%\KBDCLASS.SYS
REGI %V0%\KBDHID\ImagePath=%V1%\KBDHID.SYS
REGI %V0%\CDROM\ImagePath=%V1%\CDROM.SYS
直接放到 SETUPREG.HI_中
回复

使用道具 举报

32#
发表于 2008-9-29 23:05:18 | 只看该作者
这对于usb启动来说意义重大!关注楼主的进展。。。
回复

使用道具 举报

31#
发表于 2008-9-29 21:10:59 | 只看该作者
我觉得这个做法也不错,和nano制作出来的差不多
我一直很喜欢小内核的,启动的速度虽然不是很关注,但是LZ的想法我也很支持
回复

使用道具 举报

30#
 楼主| 发表于 2008-9-29 20:57:44 | 只看该作者
从目前看,这是内核分段装载 较好的解决方案了。
因为 系统服务可以通过 CMD 模式下 通过 SERVICES 指令手动启动,对PE系统本身修改和维护更为方便。DLL文件的添加和修改也容易很多。随时可以通过鼠标在CMD 状态暂停指令的运行,脚本控制更具主动。
回复

使用道具 举报

29#
发表于 2008-9-28 17:33:35 | 只看该作者
原帖由 wxb 于 2008-9-28 09:27 发表
很多机子BIOS直接USB2.0了,不需要再驱动
你说的成熟成功,老是强调开始的时间短,其实只是放在了后面而已
你可以把所有的启动时间计时看一下
我觉得不会有什么效果

这个我测试过,845/865/945的主板,分两次加载比一次加载大概快15-30秒左右(看内核大小,大概是1.5s/MB)。

原因是很多BIOS会用USB 2.0 Full Speed启动U盘,进入PE后用USB 2.0 High Speed,速度差距可不是一点点。

至于内存方面,小内核可以实现64MB+虚拟内存运行,大内核就无能为力了。

[ 本帖最后由 usbzip 于 2008-9-28 17:39 编辑 ]
回复

使用道具 举报

28#
 楼主| 发表于 2008-9-28 16:27:59 | 只看该作者
不能发现 PE_SYS.ISZ?
1、什么U盘,难道无法驱动不成?
2、你把 PE_SYS.ISZ 放在什么地方了?是 WXPE 文件夹么?

[ 本帖最后由 dos时代菜鸟 于 2008-9-28 16:29 编辑 ]
回复

使用道具 举报

27#
发表于 2008-9-28 13:16:29 | 只看该作者
在有些U盘测试的时候不能发现pe_sys.isz,估计修正USB 驱动程序文件路径  提前放在WINPE.is_可以解决
回复

使用道具 举报

26#
发表于 2008-9-28 13:06:43 | 只看该作者
能否把PECMD.EXE升级到终结版
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-27 06:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表