无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5604|回复: 5
打印 上一主题 下一主题

[原创] 基于wimfltr.sys的wim挂载-win7x86系统

[复制链接]
跳转到指定楼层
1#
发表于 2013-1-11 19:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 编辑 ]
2#
发表于 2013-1-12 13:02:51 | 只看该作者
强烈支持高人 做出成品 沙发。。。
回复

使用道具 举报

3#
发表于 2013-1-12 13:03:25 | 只看该作者
技术太水,静等候 事态发展
回复

使用道具 举报

4#
发表于 2013-3-1 13:50:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

5#
发表于 2019-10-17 23:37:54 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 2021-4-28 10:07:10 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-28 02:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表