所有的帖子都是没有理解Ramdisk的原理:
首先,要ntldr或者bootmgr把文件加载到内存,Ramdisk.sys才会起作用,
它会自动安装”Windows RAM 磁盘控制器“和”Windows RAM 磁盘设备(卷)“,
所以大家都误解了ramdisk.sys,不用手工安装。否则,只会出现重复的设备,运气好能进入看见**警告的冲突设备,严重的造成冲突蓝屏dump!
正确的做法:
1. 做img文件,或者其他vhd,wim格式文件,只要你复制ramdisk.sys到\windows\system32\drivers目录,然后加载\windows\sysem32\config\system到hklm\0,
把[HKEY_LOCAL_MACHINE\0\MountedDevices]下"\\DosDevices\\C:",修改成其他盘符,如U:盘,接着合并ramdisk.reg文件,注册服务即可,ramdisk.reg文件内容贴在最后。
2. 配置boot.ini或者bcd文件,启动img文件,windows系统自动发现两个新硬件,安装好,告诉你重启。
这个时候,你用的是内存,重启新设备配置的内容就没有了,所以要保存新状态,保存之前要修改system,因为ramdisk.inf会把新设备设置成手工启动。
合并ramdisk_autostart.reg文件到注册表,cmd命令:reg save HKLM\SYSTEM u:\system,导出新的system,
3.新的system文件覆盖老的img/vhd文件里面的system,制作结束!
;;;;;;;;;;;;;;;;;;;;
;;ramdisk.reg 内容
;;;;;;;;;;;;;;;;;;;;
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\0\MountedDevices]
"\\DosDevices\\C:"=hex:fc,57,b2,d9,4e,68,cb,4d,ab,79,03,cf,a2,f6,b7,50
[HKEY_LOCAL_MACHINE\0\ControlSet001\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}]
"Class"="Ramdisk"
"ClassDesc"="@ramdisk.inf,%ClassName%;Ramdisk"
@="Ramdisk"
"IconPath"=hex(7):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,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,65,00,74,00,75,00,70,00,61,00,70,00,69,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,33,00,32,00,00,00,00,00
[HKEY_LOCAL_MACHINE\0\ControlSet001\services\Ramdisk]
"DisplayName"="Windows RAM Disk Driver"
"ErrorControl"=dword:00000001
"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,72,00,61,00,6d,00,64,00,69,00,73,\
00,6b,00,2e,00,73,00,79,00,73,00,00,00
"Start"=dword:00000000
"Type"=dword:00000001
[HKEY_LOCAL_MACHINE\0\ControlSet001\services\Ramdisk\Debug]
"DebugLevel"=dword:00000005
"DebugComponents"=dword:7fffffff
;;;;;;;;;;;;;;;;;;;;
;;ramdisk_autostart.reg 内容
;;;;;;;;;;;;;;;;;;;;
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Ramdisk]
"Start"=dword:00000000
|