2012wuzhong 发表于 2016-3-27 09:22:56

可uefi下的p驱win81-ramos

本帖最后由 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

"BootDriverFlags"=dword:00000014


"PortableOperatingSystem"=dword:00000001

3、默认情况下,系统启动后差分vhd将占用最大空间,对于小内存用户,可以通过修改注册表相关参数不让动态类型的差分vhd占用最大空间。

"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,如果解决不了,视情况加大镜像文件的大小以延缓内存盘的生成。

2012wuzhong 发表于 2016-4-6 12:54:08

xman00 发表于 2016-4-6 12:05
对于回复第4条,可以不用VHD么,这个与第5条的解释有点冲突哈,请再明确一下。

最新的做法,就是不用vhd。
直接将系统放入primo内存盘,u盘分1个区,完全模拟primo内存盘,参照zhchsgdtc制作Primo单镜像RamOS的方法即可。

2012wuzhong 发表于 2016-4-6 09:20:06

本帖最后由 2012wuzhong 于 2016-4-6 09:25 编辑

xman00 发表于 2016-4-5 23:03
感谢热心解答,还有疑问呢,继续请教哈:
1,此办法的优点或都说可取之处,因为看教程里提到的数据貌似 ...

1、没错,本人是老机子了,只是用于对比。
2、如果内存大,不需要子vhd,直接将母vhd放入内存盘。
3、同样,对于大内存无需动态,这样速度更快。
4、没错。对于速度敏感的可以不用vhd。
5、vhd系统与普通系统不同:vhd文件虚拟的硬盘为系统盘(盘符如C),而存放vhd文件的盘我称之为vhd宿主盘(盘符如R)。宿主盘并不一定要包含vhd实体,可以是链接目录。这样真正实体vhd可以放入其它盘,如Q。为什么要多一个Q?是因为宿主盘必须scsi格式。

movie001 发表于 2016-3-27 13:19:45

!!起始扇区号要与u盘保持一致。如果u盘按4k对齐的话,需要用bootice对内存盘按4k对齐方式重新分区格式化。!!
这要点偶到没怎么注意,改天再在固态硬盘上试下

2011bialau 发表于 2016-3-27 13:51:41

磁盘签名部分能不能说的更具体啊?

2012wuzhong 发表于 2016-3-27 15:14:00

2011bialau 发表于 2016-3-27 13:51
磁盘签名部分能不能说的更具体啊?

位于0号扇区1b8

leenchan 发表于 2016-3-27 15:23:40

内存交流QQ群组58263192
P驱群内有一直有研究,独自研究 不如一起研究吧

leenchan 发表于 2016-3-27 15:28:40

暂时群内进度
VDF关联注册表结构分析
小vdf镜像启动动态vdf镜像
小乐的 wim启动vdf(成功机率不大)
一键工具等...

hzican 发表于 2016-3-27 20:43:42

这个不是无盘系统吧,我想要的理想情况是:

没有硬盘,只有U盘,进入Windows以后,U盘可以拔出运行

2012wuzhong 发表于 2016-3-27 22:34:58

本帖最后由 2012wuzhong 于 2016-3-27 22:42 编辑

hzican 发表于 2016-3-27 20:43
这个不是无盘系统吧,我想要的理想情况是:

没有硬盘,只有U盘,进入Windows以后,U盘可以拔出运行

你可以试一下:
直接将系统放入primo内存盘,u盘分2个区,第一个区完全模拟primo内存盘,放入启动文件以及primo镜像文件,然后参照zhchsgdtc制作Primo单镜像RamOS的方法即可。

movie001 发表于 2016-3-28 10:49:08

hzican 发表于 2016-3-27 20:43
这个不是无盘系统吧,我想要的理想情况是:

没有硬盘,只有U盘,进入Windows以后,U盘可以拔出运行

只靠U盘的话,要将整个系统都弄到内存盘,一般机子都没那么大的内存可以试验

hzican 发表于 2016-3-28 11:15:17

movie001 发表于 2016-3-28 10:49
只靠U盘的话,要将整个系统都弄到内存盘,一般机子都没那么大的内存可以试验

16G内存,没有压力

2011bialau 发表于 2016-3-28 11:32:17

你这个方法适用于win7么?

tangzhitz 发表于 2016-3-28 17:31:33

这个方法好,求科普,写个详细点的教程

hzican 发表于 2016-3-29 20:56:36

我的笔记本就没有内置硬盘,看来这个方案不合适我这种情况,我现在想到的方案:
1. 一个小小的vhd或img文件(放WimBoot指针文件和必要的实体文件),通过微软的ramdisk.sys驱动为C盘;
2.一个智能镜像vdf文件,里面只存放了一个Wimboot本体文件,通过Primo的fancyrd.sys驱动为D盘;

最后的U盘文件结构是根目录一个bootmgr, boot目录三个文件(一个bcd, 一个vhd, 一个vdf)
U盘一共四个文件,启动Windows后,拔出U盘,无盘运行!

2012wuzhong 发表于 2016-3-29 21:05:25

本帖最后由 2012wuzhong 于 2016-3-29 21:08 编辑

hzican 发表于 2016-3-29 20:56
我的笔记本就没有内置硬盘,看来这个方案不合适我这种情况,我现在想到的方案:
1. 一个小小的vhd或img文 ...

想折腾的,可以搞一下“primo-io模式win7x86-ramos”,符合你的需求,而且是io模式的。详见我的qq空间。小乐也出了相关的工具。

hzican 发表于 2016-3-29 21:21:26

2012wuzhong 发表于 2016-3-29 21:05
想折腾的,可以搞一下“primo-io模式win7x86-ramos”,符合你的需求,而且是io模式的。详 ...

谢谢了,我比较倾向文件结构比较简单的方案, 跑分什么的不是很在乎,以前一直用Win03,新笔记本有Usb3.0才开始用Win7的, 这些年一直TF卡或U盘启动,无硬盘工作已经常态了

movie001 发表于 2016-3-30 18:25:59

VDF文件在硬盘上,如果U盘文件是VDF文件里面的内容,是否也能实现在内存盘末启动时,实现类似G4D仿真的效果,来启动系统,U盘只是起到个仿真效果,启动后就可以拿下

2012wuzhong 发表于 2016-3-31 14:28:55

本帖最后由 2012wuzhong 于 2016-3-31 14:30 编辑

movie001 发表于 2016-3-30 18:25
VDF文件在硬盘上,如果U盘文件是VDF文件里面的内容,是否也能实现在内存盘末启动时,实现类似G4D仿真的效果 ...

试了一下win81x86,ok;

想试一下企业版x64,雨晨的精简系统居然缺少以下几个文件:
atmfd.dll
C_10000.NLS
ega.cpi
halmacpi.dll
kd.dll
mcupdate_GenuineIntel.dll

movie001 发表于 2016-3-31 16:07:54

2012wuzhong 发表于 2016-3-31 14:28
试了一下win81x86,ok;

想试一下企业版x64,雨晨的精简系统居然缺少以下几个文件:


不用差分之类,这种u盘启动方式目前支持直接IO模式启动不,能隐藏启动分区不,像PE这种目前量产是能隐藏的,能的话偶再考虑弄个U盘来专门启动

2012wuzhong 发表于 2016-3-31 16:17:43

movie001 发表于 2016-3-31 16:07
不用差分之类,这种u盘启动方式目前支持直接IO模式启动不,能隐藏启动分区不,像PE这种目前量产是能隐藏 ...

只是拿u盘替代G4D对启动镜像的模拟,本质没有改变。
至于io模式,目前还是vhd放入到内存盘这种模式比较可行。

xman00 发表于 2016-3-31 21:03:55

2012wuzhong 发表于 2016-3-31 16:17
只是拿u盘替代G4D对启动镜像的模拟,本质没有改变。
至于io模式,目前还是vhd放入到内存盘这种模式比较 ...

vhd放入到内存盘这种模式具体是怎么操作呢?

另win8.1或win10 io模式 p驱有办法么?

2012wuzhong 发表于 2016-3-31 21:28:36

xman00 发表于 2016-3-31 21:03
vhd放入到内存盘这种模式具体是怎么操作呢?

另win8.1或win10 io模式 p驱有办法么?

首页v1.1就是vhd放入io内存盘。
win81可以用u盘来模拟vhd宿主盘,可以uefi启动。
win10只能借用g4d用分区来模拟。

movie001 发表于 2016-4-1 19:45:43

2012wuzhong 发表于 2016-3-31 21:28
首页v1.1就是vhd放入io内存盘。
win81可以用u盘来模拟vhd宿主盘,可以uefi启动。
win10只能借用g4d用分 ...

XORBOOT 能引导VDF文件不,,偶虽然改成IMG后能加载,但引导不了,其实偶在这固态上G4D一样引导不了,以前留下的镜像,最近快清明了,都没闲功夫再做

tangzhitz 发表于 2016-4-3 13:25:59

强贴,就是太专业,通俗点就好了

xman00 发表于 2016-4-5 02:55:21

请问:
附x64系统4k写速度:
Q盘,io内存盘(动态):650mb/s
R盘,scsi内存盘(动态):432mb/s
C盘,位于io的vhd盘(动态):353mb/s
Q,R,C三盘分别装什么文件呢,及在这个过程中的作用呢?
另文中提到了io盘,但是io盘的作用及什么过程生成的不是太清楚呢,还请详解一下。

xman00 发表于 2016-4-5 07:19:16

什么驱动会让驱动变本地硬盘呢?求解。另读卡器加sd卡(如笔记本电脑)是否同u盘

hzican 发表于 2016-4-5 14:19:06

本帖最后由 hzican 于 2016-4-5 14:22 编辑

xman00 发表于 2016-4-5 07:19
什么驱动会让驱动变本地硬盘呢?求解。另读卡器加sd卡(如笔记本电脑)是否同u盘

我的6年前的笔记本ThinkPad X200s就是自带sd读卡器,支持SD卡启动(我用TF卡转SD卡套),我做的是Win2003-otg版本的RamOS,8G的内存,无硬盘,启动以后弹出SD/TF卡,全内存运行,完美运行过一年多没有关过笔记本,还是因为要试验安装Win7的效果才关过笔记本,结果Win7无线网卡的驱动不稳定,运行一周的时间,Win7就蓝屏,报无线网卡的sys文件出错,dump了,现在这台笔记本又用回了Win2003!

我现在新笔记本内置读卡器不支持启动,不得已用Usb3.0的外置读卡器插USB3.0口启动Win7的RamOS,启动效果和U盘是一样的!

2011bialau 发表于 2016-4-5 15:05:44

你上面的文件列表适用于64位的win7么?

2012wuzhong 发表于 2016-4-5 15:14:14

xman00 发表于 2016-4-5 02:55
请问:
附x64系统4k写速度:
Q盘,io内存盘(动态):650mb/s


q盘装的是vhd文件,为io模式primo内存盘,
r盘为vhd宿主,仅有一个链接目录,为scsi模式primo内存盘,
c盘为vhd虚拟盘
io盘,为io模式primo内存盘

2012wuzhong 发表于 2016-4-5 15:19:51

2011bialau 发表于 2016-4-5 15:05
你上面的文件列表适用于64位的win7么?

不放心的话,按附件。

2011bialau 发表于 2016-4-5 20:19:57

2012wuzhong 发表于 2016-4-5 15:19
不放心的话,按附件。

谢谢!
页: [1] 2
查看完整版本: 可uefi下的p驱win81-ramos