2012wuzhong 发表于 2013-5-11 08:17:21

基于primo克隆附体win7-ramos

本帖最后由 y7y007 于 2018-9-15 08:18 编辑

      win7和xp存在不同,简单的使用“克隆附体”会出现f4蓝屏,初步推断蓝屏发生在图形界面产生之前,某个驱动或者服务需要直接访问系统盘上的system32目录。如果采用“克隆附体”的话,要求附体盘windows\system32必须junction链接到系统盘(确切的说应该是系统盘的一个克隆盘)相应的目录。
      目前的一个思路是,等到图形界面产生之后第1时间修改windows目录,创建一个新的junction链接。


盘符假设:
>系统盘符为C盘。
>使用fira内存盘做启动盘,初始盘符为C,克隆后显现的盘符为X盘;
>primo内存盘符为B盘:使用primo应用软件配置的盘符。需要克隆虚拟出一个C盘用于附体系统盘。

关键步骤:
1、安装primo内存盘,fira驱动,选装fbwf驱动。
2、配置两个内存盘:
primo内存盘://io模式,盘符为"b"
├─ProgramData
├─users
├─Program Files
├─win
└─windows(junction到"x:\windows") //图形界面以后修改为windows0


fira内存盘://使用宇森WIN7LITE7.636,大小750M左右,最初盘符为"c",克隆虚拟后为"x"
│bootmgr
├─boot
└─windows
    │fbwf.cfg //可选,fbwf配置文件,保护fira启动盘
    ├─fonts
    ├─inf
    └─system32
    │    ├─CodeIntegrity
    │    ├─config
    │    ├─drivers
    │    ├─zh-CN
    │    ├─其它子目录(junction到"b:\win")
    │    └─其它所有的文件(可以精简,精简后小于300M)
    └─其它子目录(junction到"b:\win")


3、注册表设置://将下面内容拷入到一个bat文件执行
rem 克隆"b"为"c"
reg add "hklm\system\ControlSet001\Control\Session Manager\DOS Devices" /v C: /d \Device\FancyRdRawPort0Target0 /f >nul 2>nul
rem 克隆"c"为"x",其中"c"盘的Volume,需要在"HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices"中查看获取
reg add "hklm\system\ControlSet001\Control\Session Manager\DOS Devices" /v X: /d \??\Volume{????????-????-????-????-????????????} /f >nul 2>nul
rem 用"d:\userinit.bat"取代"\windows\system32\userinit.exe"
reg add "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /d d:\userinit.bat, /f >nul 2>nul


4、"d:\userinit.bat"
move c:\windows c:\windows0
mklink /j c:\windows c:\win
start userinit.exe
rem 如果存在启动脚本,可能自动运行不了,建议放在这里运行
%systemroot%\System32\GroupPolicy\Machine\Scripts\Startup\run.bat

说明:
1、有些处于“自动”启动类型的服务可能无法启动,运行services.msc进行查看,如:Wlansvc,请在"d:\userinit.bat"末行添加:"net start Wlansvc"
2、system32文件精简:在所有文件的基础上进行删除操作,系统在用的不能删除;另外还有一些仅启动所需,这部分找寻比较麻烦...附上我的system32文件列表,http://pan.baidu.com/share/link?shareid=632812&uk=1126095979

ren001 发表于 2013-5-11 20:54:02

这次我也做做沙发 支持楼主

2012smallhaung 发表于 2013-5-13 14:00:15

有無詳細步驟過程教學可供小白我照著實做看看?
還有這樣做的意義是?
是為了讓OS能在PRIMO做出來的RAMDISK上跑嗎?

看了一下目錄結構似乎把整個OS拆成2個部分(primo內存盤和fira內存盤)
這樣總使用記憶體量是否不變?
還有拆成2部分開機時間是否會變短?

huangdi168 发表于 2013-5-13 14:37:25

膜拜细致的研究者

2012wuzhong 发表于 2013-5-13 20:13:44

2012smallhaung 发表于 2013-5-13 14:00 static/image/common/back.gif
有無詳細步驟過程教學可供小白我照著實做看看?
還有這樣做的意義是?
是為了讓OS能在PRIMO做出來的RAMDISK ...

主要用于研究。
基于此原理,刚刚研究成功在2k3下使用SuperSpeed作为主体镜像文件的驱动。本人的理想是让所有的ramdisk都能作为主体镜像文件的驱动。
这种双镜像法,比单镜像要复杂,不过让primo来驱动主体镜像的话,可以享用其动态内存分配,延时载入镜像等优点。

2012smallhaung 发表于 2013-5-13 22:29:31

2012wuzhong 发表于 2013-5-13 20:13 static/image/common/back.gif
主要用于研究。
基于此原理,刚刚研究成功在2k3下使用SuperSpeed作为主体镜像文件的驱动。本人的理想是让 ...

大大對這方面的研究真是第一人

等待你成功WIN7的再來等你教學
XP ,2K3小弟就沒興趣了^^

xyxb 发表于 2013-5-14 08:10:11

谢谢分享{:3_142:}

343119214 发表于 2014-12-18 22:11:13

楼主出个视频教程

2012wuzhong 发表于 2014-12-19 19:07:08

343119214 发表于 2014-12-18 22:11
楼主出个视频教程

这个用的人比较少,适合善于折腾的人。
页: [1]
查看完整版本: 基于primo克隆附体win7-ramos