• WINPE
  • WinPE系统挂载wim文件的技巧

    作者:upzxt 文章来源:u盘装系统 发布时间:2012-09-17 08:48点击:

    WinPE系统挂载wim文件的技巧

    WinPE系统分光盘、U盘和硬盘启动,其挂载WIM文件有可写和非可写挂载两种方式,如果是可写介质启动的话可以实现可写挂载(本文不重点探讨)。光盘是非可写的,所以无法可写挂载WIM文件。 一些软件运行的时候会产生一些文件,如:杀软、迅雷等,如果非可写的话就会出错。现提供一种方法彻底解决这样的问题,解决的关键就是判断WinPE系统是从那种介质启动的?如果是CD方式启动的,就是非可写的。这个判断让WIM文件里的启动程序来做是最好的。下面好用U盘装系统官网以opera.wim为例说明处理方法,假设opera.wim中包含两个文件,一个opera.exe,另一个opera.cmd,而关键的部分就opera.cmd,其代码如下:
     
    @echo off
    COLOR 5f
    for %%a in (y x w v u t s r q p o n m l k j i h g f e d c) do (
    if exist %%a:\minipe\opera.wim (
    if not exist %%a:\minipe\opera.wim\ (
    fsutil fsinfo drivetype %%a:|findstr /i "CD">nul&&(
    call :one
    exit)||(
    call :two
    exit)
    )
    )
    )
     
     
    :one
    echo.
    echo    启动程序判断此PE是光盘启动的,光盘是非可写介质,为了是程序正常启动,
    echo.
    echo.   请指定文件运行的分区,我们会将文件复制到您指定分区的peopera下,以便
    echo.
    echo.   下次可以减少此次操作。
    echo.   -------------------------------------------------------------------
    echo.
    set /p TP=请输入运行分区
    echo.
    echo.
    Set TP=%TP:~0,1%
    xcopy Y:\opera /e %TP%:\peopera\ /y /h /r>nul 2>nul
    attrib -r -a %TP%:\peopera /s /d
    pushd %TP%:\peopera
    start operausb.exe
    )
    goto :eof
     
     
    :two
    start operausb.exe
    goto :eof
      说明:
      1、首先,用户点击运行opera.wim的时候,会先启动里面的opera.cmd,由它来判断WinPE系统是不是在CD介质上启动运行的,如果是,那么就提示用户设置一个本地分区,当用户指定本地分区后,这时候,opera.cmd就会将所需的文件复制到本地分区上并运行。如果判断WinPE系统在可写介质上运行,那么就直接运行程序。
      2、此判断程序需要有findstr.exe和fsutil.exe这两个文件,一般的WinPE系统内核中是没有的,这两个文件或放在内核中,或放在WIM文件中,但建议放在内核中,因为有许多软件都需要同样的处理。
      3、此方法适用于ISO和IMG核心的WinPE系统,同样也适合是否开B盘的。

     

    U盘装系统

     

    (责任编辑:www.upzxt.com)