为PE加入IMDISK
把DISK.SYS放system3下2面DRIVERS里面,在system32下面加入IMDISK.CPL,
在SETUPREG.HIV里面加入下面注册表文件:
IM
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\pe\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\ControlSet001 \Services\ImDisk\Security] "Security"=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00, 00,30,00,00,00,02,\ 00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00, 00,00,01,00,00,\ 00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01, 00,00,00,00,00,\ 05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00, 05,20,00,00,00,\ 20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05, 04,00,00,00,00,\ 00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00, 00,14,00,00,01,\ 00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01, 02,00,01,02,00,\ 00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00, 05,12,00,00,00,\ 01,01,00,00,00,00,00,05,12,00,00,00 [HKEY_LOCAL_MACHINE\pe\ControlSet001\Services\ImDisk\Enum] "0"="Root\\LEGACY_IMDISK\\0000" "Count"=dword:00000001 "NextInstance"=dword:00000001 [HKEY_LOCAL_MACHINE\pe\ControlSet001 \Enum\Root\LEGACY_IMDISK] "NextInstance"=dword:00000001 [HKEY_LOCAL_MACHINE\pe\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\ControlSet001 \Enum\Root\LEGACY_IMDISK\0000\Control]
这样就为PE安装好了IMDISK支持了。
为PE加入IMDISK右键支持:
reg add "HKCR\Drive\shell\ImDiskSaveImage" /f /ve /t REG_SZ /d "保存ImDisk虚拟磁盘" reg add "HKCR\Drive\shell\ImDiskSaveImage\command" /f /ve /t REG_SZ /d "rundll32.exe imdisk.cpl,RunDLL_SaveImageFile %%L" reg add "HKCR\Drive\shell\ImDiskUnmount" /f /ve /t REG_SZ /d "卸载ImDisk虚拟磁盘" reg add "HKCR\Drive\shell\ImDiskUnmount\command" /f /ve /t REG_SZ /d "rundll32.exe imdisk.cpl,RunDLL_RemoveDevice %%L" reg add "HKLM\SOFTWARE\Classes\Ultraiso\shell\ImDiskMountFile" /f /ve /t REG_SZ /d "加载ImDisk虚拟磁盘" reg add "HKLM\SOFTWARE\Classes\Ultraiso\shell\ImDiskMountFile\command" /f /ve /t REG_SZ /d "rundll32.exe imdisk.cpl,RunDLL_MountFile %%L" reg add "HKLM\SOFTWARE\Classes\Winimage\shell\ImDiskMountFile" /f /ve /t REG_SZ /d "加载ImDisk虚拟磁盘" reg add "HKLM\SOFTWARE\Classes\Winimage\shell\ImDiskMountFile\command" /f /ve /t REG_SZ /d "rundll32.exe imdisk.cpl,RunDLL_MountFile %%L"
上面保存为CMD文件,在启动PE时运行就行了。
IMDISK的应用:
PECMD RAMD 命令的用法和给ImDisk扩容的方法
命令说明:
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ │格式│RAMD <驱动名称>,[磁盘大小],[磁盘格式],[盘符字母],[磁盘卷标] ┃
┃ ├──┼──────────────────────────────────────────────┨
┃ │功能│设置虚拟磁盘(RamDisk) ┃
┃ ├──┼──────────────────────────────────────────────┨
┃ │参数│■驱动名称: Ramdriv 或 ImDisk; ┃
┃ │ │■磁盘大小: 单位为 MB,用 Pxx Lyy Hzz 定义,xx为可用内存百分数,yy为最小值,zz为最大值; ┃
┃ │ │■磁盘格式: 支持 FAT、FAT32、NTFS 三种格式,设置时将按参数格式化,省略时不对磁盘作格式化; ┃
┃ │ │■盘符字母: 为 ImDisk 虚拟内存盘分配的盘符,使用 Ramdriv 驱动时该参数及"磁盘卷标"均要省略; ┃
┃'RAMD'│ │■磁盘卷标: 使用 ImDisk 驱动时格式化磁盘时设置的卷标。 ┃
┃ ├──┼──────────────────────────────────────────────┨
┃ │示例│RAMD ImDisk,L64,NTFS,B:,ImDIsk 或 RAMD Ramdriv,P20L32H64 ┃
┃ ├──┼──────────────────────────────────────────────┨
┃ │备注│※使用 Ramdriv 驱动时由驱动分配盘符并格式化;使用 ImDisk 驱动时可由 PECMD 分配盘符并格式化;┃
┃ │ │※使用 ImDisk 驱动时可用该命令给指定的虚拟盘扩容,如 RAMD ImDisk,L128,NTFS,R:,ImDIsk ┃
┃ │ │※Pxx Lyy Hzz 三个参数都可单独使用,PECMD.EXE限定的最小值为 1MB,最大值为 2048MB; ┃
┃ │ │※使用 WinMount.SYS 驱动挂载 WIM 映像建议用 ImDisk 虚拟盘,小容量的磁盘不能格为 FAT32格式; ┃
┃ │ │※命令若执行成功,进程环境变量 %CurRamDisk% 即为盘符,可按需用 ENVI 设置成系统环境变量。 ┃
┣━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
1、建立一个新的 ImDisk 虚拟盘示例:盘符为 B:,容量64MB,FAT格式,无卷标
RAMD ImDisk,L64,FAT,B:
2、建立一个新的 ImDisk 虚拟盘示例:盘符为 Y:,容量128MB,FAT32格式,卷标mydisk
RAMD ImDisk,L128,FAT32,Y:,mydisk
3、给已存在的盘符为 B: 的 ImDisk 虚拟盘扩容到128MB,格式不变,原已在 B: 盘的文件不变:
RAMD ImDisk,L128,B:
4、给已存在的盘符为 Y: 的 ImDisk 虚拟盘扩容到256MB,格式不变,原已在 Y: 盘的文件不变:
RAMD ImDisk,L256,Y:
5、给已存在的盘符为 B: 的 ImDisk 虚拟盘扩容到128MB,并转为NTFS格式(原已在 B: 盘中的文件会被格掉):
RAMD ImDisk,L128,NTFS,B:
谢谢赞赏
(微信扫一扫或长按识别)