无忧启动论坛
标题:
推荐用 imdisk 处理标准 IMG 镜像——给 03PE 加入 imdisk 和扩大 PE 镜像大小
[打印本页]
作者:
2013_top398
时间:
2014-3-13 22:20
标题:
推荐用 imdisk 处理标准 IMG 镜像——给 03PE 加入 imdisk 和扩大 PE 镜像大小
本帖最后由 2013_top398 于 2014-3-13 22:22 编辑
一、加入 imdisk
1、将 WINPE.IM_ 用 7-zip 或类似工具解开其中的 WINPE.IMG 到 r:(这是我的内存工作和缓存盘)。
2、用 imdisk 挂载 WINPE.IMG 到 z: 盘。
3、从 imdisk 安装文件中提取出 x86 版的 IMDISK.EXE、IMDISK.CPL、IMDISK.SYS、IMDSKSVC.EXE 4个文件,将 IMDISK.SYS 放到 z:\wxpe\system32\drivers 里,其他3个放到 z:\wxpe\system32 里。
4、复制 z:\WXPE\SYSTEM32\SETUPREG.HIV 到 r:\,复制 z:\WXPE\SYSTEM32\CONFIG\SOFTWARE 到 r:\,这是为了避免修改注册表产生一堆垃圾文件。
5、regedit 挂载 setupreg.hiv 为 pe-sys,SOFTWARE 为 pe-soft,导入以下注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\pe-sys\ControlSet001\Enum\Root\LEGACY_IMDISK\0000]
"Service"="ImDisk"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="ImDisk Virtual Disk Driver"
"Capabilities"=dword:00000000
[HKEY_LOCAL_MACHINE\pe-sys\ControlSet001\Enum\Root\LEGACY_IMDISK\0000\Control]
"*NewlyCreated*"=dword:00000000
"ActiveService"="ImDisk"
[HKEY_LOCAL_MACHINE\pe-sys\ControlSet001\services\ImDisk]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6d,00,64,00,69,00,73,00,6b,\
00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="ImDisk Virtual Disk Driver"
"Description"="Disk emulation driver"
[HKEY_LOCAL_MACHINE\pe-sys\ControlSet001\services\ImDisk\Enum]
"0"="Root\\LEGACY_IMDISK\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\pe-sys\ControlSet001\services\ImDskSvc]
"Type"=dword:00000010
"Start"=dword:00000003
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,\
00,6d,00,64,00,73,00,6b,00,73,00,76,00,63,00,2e,00,65,00,78,00,65,00,00,00
"DisplayName"="ImDisk Virtual Disk Driver Helper"
"ObjectName"="LocalSystem"
"Description"="Helper service for ImDisk Virtual Disk Driver."
[HKEY_LOCAL_MACHINE\pe-soft\Classes\*\shell\ImDiskMountFile]
@="加载为 ImDisk 虚拟盘(&M)"
[HKEY_LOCAL_MACHINE\pe-soft\Classes\*\shell\ImDiskMountFile\command]
@="rundll32.exe imdisk.cpl,RunDLL_MountFile %L"
[HKEY_LOCAL_MACHINE\pe-soft\Classes\Drive\shell\ImDiskSaveImage]
@="保存磁盘内容为镜像文件(&S)"
[HKEY_LOCAL_MACHINE\pe-soft\Classes\Drive\shell\ImDiskSaveImage\command]
@="rundll32.exe imdisk.cpl,RunDLL_SaveImageFile %L"
[HKEY_LOCAL_MACHINE\pe-soft\Classes\Drive\shell\ImDiskUnmount]
@="卸载 ImDisk 虚拟盘(&U)"
[HKEY_LOCAL_MACHINE\pe-soft\Classes\Drive\shell\ImDiskUnmount\command]
@="rundll32.exe imdisk.cpl,RunDLL_RemoveDevice %L"
复制代码
6、卸载 pe-sys、pe-soft,将修改后的 SETUPREG.HIV 和 SOFTWARE 复制回原处覆盖原文件。
7、imdisk 卸载 z:,更新 WINPE.IMG。
8、控制台运行:
d:\app\makecab.exe /D compressiontype=lzx /D compressionmemory=21 WINPE.IMG
复制代码
9、将生成的 WINPE.IM_ 拿到虚拟机里测试,启动成功,imdisk 各项功能正常。
二、扩大 WXPE.IMG 可用空间
原 WINPE.IMG 大小为70.7MB,基本上填满了,再加入稍微大些的程序就会空间不够。于是动手给它扩成128MB。
控制台输入:
r:
imdisk -a -m z: -s 128M -p "/fs:fat32 /q /y /v:WXPE" -f r:\abc.img
imdisk -a -m y: -o ro -f r:\WINPE.IMG
xcopy y:\WXPE z:\WXPE /e/i/y
imdisk -d -m z:
imdisk -d -m y:
ren winpe.img winpe.img.old
ren abc.img WINPE.IMG
del WINPE.IM_
d:\app\makecab.exe /D compressiontype=lzx /D compressionmemory=21 WINPE.IMG
复制代码
现在已经得到了一个新的 WINPE.IM_,其内部可用空间有50多M,而且由于未用空间填充为0,压缩后大小和原来的基本一样。进虚拟机测试,启动成功。
虽然说这些东西并不新鲜,自己也是没有弄过,所以操练一下。顺便试验一下 imdisk 对标准 IMG 镜像的支持。感觉 imdisk 挂载处理标准 IMG 是很给力的。借此也给一个新贴的楼主提个醒。
作者:
月光海洋
时间:
2014-3-13 22:41
谢谢楼主分享技术…
作者:
2011npwjm
时间:
2014-3-14 08:33
谢谢楼主的分享
作者:
2013_top398
时间:
2014-3-14 10:59
还要提一下,Imdisk 本身建立的虚拟硬盘,默认是没有MBR的,但是手动保存(即在驱动器上右键保存镜像)时,是可以选择有无MBR的,如果有MBR,镜像前面附加32256字节的信息,也就是512字节*63扇区,传统硬盘一条磁道的容量,0扇区就是 MBR。这使得 imdisk 生成的 IMG 镜像兼容性更好。
作者:
2013_top398
时间:
2014-3-14 11:02
对于这种附加了MBR信息的IMG镜像,GUI方式(文件名上右键挂载)可以自动识别,但命令行必须这样:
imdisk -a -m z: -b 63b -f abc.img
复制代码
-b 63b 指定镜像文件偏移为63个块(1块=512字节)
作者:
renchmin
时间:
2014-3-14 15:48
楼主的这个方法还是蛮不错的值得分享啊。
作者:
86024363
时间:
2014-3-16 09:41
绝对是个好工具,谢楼主提醒。
作者:
dlwfdlikuan
时间:
2014-3-18 07:35
好方法,值得一试,谢谢
作者:
3ax31a
时间:
2014-3-20 10:02
很好很强大很实用!谢谢楼主…
作者:
皓轩你好
时间:
2014-3-21 11:45
谢谢 分享 ,自己认真学习一下。
作者:
2010cmgb
时间:
2014-3-22 22:31
休息楼主分享,需要仔细学习一下。
作者:
2013_top398
时间:
2014-3-22 22:53
2010cmgb 发表于 2014-3-22 22:31
休息楼主分享,需要仔细学习一下。
谢谢,楼主确实是要“休息”一下了。
作者:
2010cmgb
时间:
2014-3-22 22:59
抱歉打错拉,是谢谢。
作者:
xq8751
时间:
2015-10-23 12:22
谢谢楼主分享技术…
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3