|  | 
 
| 本帖最后由 2012wuzhong 于 2016-3-31 22:19 编辑 
 直接将系统放入primo内存盘,u盘分1个区,完全模拟primo内存盘,参照zhchsgdtc制作Primo单镜像RamOS的方法即可。
 
 主要步骤如下:
 1、用bootice给u盘格式化为USB-HDD模式。格式化为ntfs。
 
 2、装完系统,安装primo,生成一个scsi模式的内存盘,镜像文件的格式可选智能镜像。这里需要注意,起始扇区号、总扇区大小要与u盘保持一致。如果u盘按4k对齐的话,需要用bootice对内存盘按4k对齐方式重新分区格式化。
 
 3、进入另一个系统,将系统复制到primo内存盘。
 
 4、向u盘拷入启动必须的文件,包括
 └─windows
 ├─boot,inf,fonts
 └─system32
 ├─boot,CodeIntegrity,config,drivers,zh-CN
 └─文件:
 │  atmfd.dll
 │  bootres.dll
 │  bootvid.dll
 │  chkdsk.exe
 │  chkntfs.exe
 │  ci.dll
 │  clfs.sys
 │  csrsrv.dll
 │  csrss.exe
 │  c_10000.nls
 │  c_1252.nls
 │  c_437.nls
 │  c_936.nls
 │  ega.cpi
 │  framebuf.dll
 │  hal.dll
 │  halacpi.dll
 │  halmacpi.dll
 │  kbdus.dll
 │  kdcom.dll
 │  locale.nls
 │  l_intl.nls
 │  mcupdate_GenuineIntel.dll
 │  ntdll.dll
 │  ntkrnlpa.exe
 │  ntoskrnl.exe
 │  PSHED.DLL
 │  smss.exe
 │  vga.dll
 │  vga256.dll
 │  vga64k.dll
 │  winload.exe
 │  win32k.sys
 
 5、按照zhchsgdtc提供的方法修改注册表文件system
 
 5.1、进入HKEY_LOCAL_MACHINE\111\MountedDevices,然后在右侧交换盘符R和C。就是对着C右键重命名改成R,然后R里边改成C(需要先改成其它名字比如z,因为注册表中不允许同时存在2个相同名称的项)
 
 5.2、进入HKEY_LOCAL_MACHINE\111\ControlSet001\Services\FancyRd,然后在右侧双击“group”项,将它的值改为“Event Log”
 
 5.3、进入HKEY_LOCAL_MACHINE\111\ControlSet001\Services\Disk,然后在右侧双击“group”项,将它的值改为“SCSI class”。
 
 5.4、与上面类似,分别修改Services下的volsnap、fvevol(如果有)、rdyboost(如果有)、uwfvol(如果有),将它们的“group”项的值都改为“SCSI class”。
 
 6、用bootic修改u盘的磁盘签名以及分区表,与primo内存盘一致。
 
 -------v1.1:vhd------------------------------------------------------------
 如果启动后想拔掉u盘全内存运行,需要将母vhd文件放入primo内存盘。
 
 主要步骤如下:
 1、2、3:参照v1版
 
 4、装完系统,安装primo,先后生成io、scsi模式的两个内存盘,镜像文件的格式都可选智能镜像。这里需要注意,scsi模式内存盘起始扇区号要与u盘保持一致。如果u盘按4k对齐的话,需要用bootice对内存盘按4k对齐方式重新分区格式化。
 
 5、将母vhd文件复制到io内存盘,保存镜像。注意:vhd文件存放文件夹目录要与u盘一致。镜像文件不能位于u盘。
 
 在scsi内存盘中创建链接目录,指向io内存盘vhd文件目录。
 假设scsi内存盘盘符为"R",io内存盘盘符为"Q",vhd文件夹为"vhdos",则链接命令如下:
 mklink /j r:\vhdos q:\vhdos
 
 6、用bootic修改u盘的磁盘签名,与scsi内存盘一致。
 
 7、用bootice处理u盘boot目录中的bcd文件,需要有一个基于vhd的启动项,启动磁盘选"BOOT",设备文件项填vhd文件名,包括其所在的路径。也可以直接从硬盘启动,相应的bcd文件添加指向u盘的vhd启动项,需要注意此时U盘的磁盘签名已改过。
 
 说明:
 镜像文件不能位于u盘,原因是scsi内存盘必须早于u盘的识别,否则系统将采用u盘上的vhd文件。
 
 附x64系统4k写速度:
 Q盘,io内存盘(动态):650mb/s
 R盘,scsi内存盘(动态):432mb/s
 C盘,位于io的vhd盘(动态):353mb/s
 
 -------v1:差分vhd--------------------------------------------------------------
 前两天发现具有硬盘映像格式,但识别为移动磁盘的U盘,在启动的时候,具有本地磁盘的特征,而启动之后却不具有本地磁盘的特性。
 如果将u盘的磁盘签名以及分区表与primo内存盘的一样,就能实现母vhd文件在u盘,而子vhd文件在primo内存盘,当然也可以使用junction,将子vhd放入硬盘任一分区。
 
 主要步骤如下:
 1、用bootice给u盘格式化为USB-HDD模式。格式化为ntfs。
 
 2、制作win81-vhd系统,为了能u盘启动,需要改注册表下面任一项即可。第一个为u盘启动,第二个为win to go
 [HKEY_LOCAL_MACHINE\SYSTEM\HardwareConfig]
 "BootDriverFlags"=dword:00000014
 
 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control]
 "PortableOperatingSystem"=dword:00000001
 
 3、默认情况下,系统启动后差分vhd将占用最大空间,对于小内存用户,可以通过修改注册表相关参数不让动态类型的差分vhd占用最大空间。
 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\FsDepends\Parameters]
 "VirtualDiskExpandOnMount"=dword:00000004
 
 4、装完系统,安装primo,生成一个scsi模式的内存盘,镜像文件的格式可选智能镜像。这里需要注意,起始扇区号要与u盘保持一致。如果u盘按4k对齐的话,需要用bootice对内存盘按4k对齐方式重新分区格式化。
 
 5、用bootice对u盘上的母vhd文件创建差分磁盘。然后复制一份到primo内存盘,保存镜像。注意:子vhd文件存放文件夹目录要与u盘母vhd一致。镜像文件不能位于u盘。
 
 6、用bootic修改u盘的磁盘签名,与primo内存盘一致。
 
 7、用bootice处理u盘boot目录中的bcd文件,需要有一个基于vhd的启动项,启动磁盘选"BOOT",设备文件项填子vhd文件名,包括其所在的路径。也可以直接从硬盘启动,相应的bcd文件添加指向u盘的子vhd启动项,需要注意此时U盘的磁盘签名已改过。
 
 说明:
 1、u盘不能量产成本地磁盘,也不能安装其它相关驱动(让u盘变本地磁盘),另外win10系统U盘启动后被识别成了本地磁盘,因此无法成功。
 2、如果启动蓝屏提示"vhd boot ..."问题,可能是primo内存盘生成的太快,而u盘驱动还没加载。请注册表修改fancyrd.sys中的Group为Base,如果解决不了,视情况加大镜像文件的大小以延缓内存盘的生成。
 
 | 
 评分
查看全部评分
 |