|
fira启动+wim挂载
基于wimfltr.sys的wim挂载不同于wim启动,不会生成内存盘,而是挂载到指定的目录下,读操作的内容还是取自于wim文件。我们可以将wim文件放置于其它内存盘上(如primo直接io模式),好处是可以将其放置到系统未识别内存中。
liulaotou2开发的laotou.sys可以在系统启动较早的阶段进行wim挂载,可惜没有放出可用的win7版本。目前只能使用native.exe进行挂载。单纯的mount会出现一些问题,如系统托盘中的声音、网络、电源图标会消失,某些应用程序图片框会空白,关机的时候出现f4蓝屏等。经过摸索发现使用fbwf可以解决此类问题,不过fbwf.sys的加载需要进行控制,确保加载后立即实施mount,这些都可以在native环境下实现。
镜像文件配置://假设系统盘符为"c"
primo内存盘://io模式,盘符为"b"
├─temp(系统所有的临时目录,需要设置环境变量temp到此)
├─wim(wim文件拷入此目录,建议不要压缩)
└─imdisk.img //img文件,由imdisk直接挂载为"c",建议镜像文件本身压缩,镜像内容不要压缩
├─users
├─ProgramData
├─Program Files
└─windows(不是实体目录,而是junction到x盘的虚目录)
说明:此处使用imdisk的目的是将多个文件集中为一个img文件,好处是启动加载primo镜像的速度快,不过会影响性能。
fira启动盘://大小300M左右即可,最初盘符为"c",克隆虚拟后为"x"
│bootmgr
├─boot
└─windows
├─fonts(vga936.fon,vgaoem.fon,msyh.ttf,marlett.ttf)
├─inf(errata.inf)
└─system32
├─CodeIntegrity
├─config(system,software)
├─drivers(所有文件)
├─zh-CN(winload.exe.mui,bootres.dll.mui)
├─native(新建,拷入native.exe,native.cfg,Nloadsys.exe)
└─必须的启动文件,最下面附有启动文件列表
说明:fira启动盘镜像文件本身不能压缩,否则启动的时候会出错。
native.cfg文件内容:
copy g:\w7636\win.wim b:\wim\win.wim
move x:\windows\system32\drivers\fbwf.sy x:\windows\system32\drivers\fbwf.sys
Nloadsys.exe default fbwf.sys
mount b:\wim\win.wim x:\windows
exit
说明:
1、fira启动盘内的x:\windows\system32\drivers\fbwf.sys需要事先改名为fbwf.sy,目的是不让系统加载。
2、此处win.wim文件捕获的仅为windows目录,如果是整个分区,请挂载到x:
注册表设置://将下面内容拷入到一个bat文件执行,请先手动将注册表中的"HKEY_LOCAL_MACHINE\system\MountedDevices\DosDevices\C:"中的"C"更名为其它的盘符,"\DosDevices\C:"留给fira启动盘。
rem 安装配置native.exe
reg add "hklm\system\ControlSet001\Control\Session Manager" /v SetupExecute /d "native\native.exe load native.cfg" /f >nul 2>nul
rem 设置imdisk加载次序Start=1
reg add hklm\system\ControlSet001\Services\ImDisk /v Start /t REG_DWORD /d 1 /f >nul 2>nul
rem 设置imdisk挂载盘符为"c"
reg add hklm\system\ControlSet001\Services\ImDisk\Parameters /v DriveLetter0 /d C /f >nul 2>nul
rem 设置imdisk镜像路径
reg add hklm\system\ControlSet001\Services\ImDisk\Parameters /v FileName0 /d \??\B:\imdisk.img /f >nul 2>nul
rem 注意不要设置"Flags0"参数
reg add hklm\system\ControlSet001\Services\ImDisk\Parameters /v LoadDevices /t REG_DWORD /d 1 /f >nul 2>nu
rem 克隆imdisk虚拟盘符为"c"
reg add "hklm\system\ControlSet001\Control\Session Manager\DOS Devices" /v C: /d \Device\ImDisk0 /f >nul 2>nul
rem 克隆fira启动盘符为"x",注意HarddiskVolume后面的数字需要更改,"5"表示一个硬盘4个分区的情况
reg add "hklm\system\ControlSet001\Control\Session Manager\DOS Devices" /v X: /d \Device\HarddiskVolume5 /f >nul 2>nul
其它:
1、FBWF驱动推荐使用11ydy提供的,http://bbs.wuyou.net/forum.php?m ... 5323&highlight=
2、wimfltr.sys安装版本为:6.0.6001.18000。
3、Native.exe下载地址(559楼),http://bbs.wuyou.net/forum.php?m ... Ddigest&page=56
4、Nloadsys.exe下载地址(690楼),http://bbs.wuyou.net/forum.php?m ... hlight=&page=69
5、fira启动盘可以加载到高端未识别内存,不过primo为此需要进行限额:“限制最多可管理系统未识别内存数”减少的数量为fira启动盘的大小。
6、fbwf.sys加载过早的话,出现74蓝屏,提示“bad_system_config_info”。
------------------------------------------------------------------------------------------------------------------
wim启动+wim挂载
使用mount命令可以再次挂载到wim内存盘上,这就产生了一个新思路:
将系统分割成两部分,大部分的系统文件打包成wim,存放于硬盘也可以存放在primo内存盘上,系统启动所需的文件放入wim启动盘。wim内存盘启动,primo内存盘生成以后,进入native环境,使用mount命令将大wim文件挂载到wim启动内存盘上。
盘符假设:
系统盘符为C盘:最初母盘的盘符。
wim内存启动盘符为X盘:系统默认固定的盘符;
primo内存盘符为B盘:使用primo应用软件配置的盘符。
说明:primo内存盘需要再克隆虚拟出一个为C盘;当然也可以直接将primo内存盘符设定为C盘。
关键步骤:
1、安装primo内存盘,ms的ramdisk驱动以及fbwf驱动、wimfltr.sys(版本:6.0.6001.18000)等。
2、压缩所有的系统文件,选最大压缩,生成windows.wim,假设位于"F:\wim"。
3、下载native.exe(http://bbs.wuyou.net/viewthread. ... 3Ddigest&page=1),生成native.cfg:
mount F:\wim\windows.wim x: b:\tmp
exit
4、设置注册表实现native启动:
[HKEY_LOCAL_MACHINE\aa\ControlSet001\Control\Session Manager]字符串值"SetupExecute"中键入:
native.exe load native.cfg
5、设置注册表实现C盘克隆:
[HKEY_LOCAL_MACHINE\aa\ControlSet001\Control\Session Manager\DOS Devices]
"C:"="\\??\\B:"
6、注册表确认wimfltr.sys系统加载:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\WimFltr]
"Start"=dword:00000000
7、配置两个内存盘:
primo内存盘:
├─tmp(wim文件mount可写挂载目录,不能压缩)
├─temp(系统所有的临时目录,需要设置环境变量temp到此)
├─Program Files
├─users
├─ProgramData(不是实体目录,junction到x盘的虚目录)
└─windows(不是实体目录,而是junction到x盘的虚目录)
wim内存盘:
│
├ProgramData(只需要空目录)
│
└─windows
├─fonts
│ vga936.fon
│ vgaoem.fon
│ msyh.ttf (可以不用)
│ marlett.ttf
├─inf
│ errata.inf
└─system32
│ ├─CodeIntegrity
│ │
│ ├─config
│ │
│ ├─drivers
│ │
│ ├─zh-CN
│ │
│ ├─其它子目录(只需要空目录)
│ │
│ ├─(拷入native.exe,native.cfg)
│ └─其它所有的文件
│
├─其它子目录(只需要空目录)
│
└─其它所有的文件
[ 本帖最后由 2012wuzhong 于 2013-3-8 18:53 编辑 ] |
|