|
|
發表於 2014-3-22 10:16:56
|
顯示全部樓層
本帖最後由 wang_966 於 2014-3-22 10:37 編輯
阿達金田一 發表於 2014-3-18 05:00 
FBWF + WIM 問題
很久以前有討論過...不過主題...隨舊站消失了
用 google 搜尋 fbwf wim 是還能找到我在遊 ...
本人 留存了 "舊站資料", 存檔格式為 *.json,
內容參雜了一些額外資訊, 因此會比原文多了一些編碼.
借花獻佛 : 以下內容來自 "阿達(金田一)" 大大的 精解:
________________________________________________________________
{ "author": "阿達(金田一)", "datetime": "2008/01/22 01:07", "content": "\n
稍微知道 NoN大 要的 WIM 模組化 是什麼了
一開始以為是 庫卡大 說那樣...就是單純要載入 WIM 中的 outtool.ini
結果...原來和我曾提過的 模組化WIM方案 中的一部份有點像
不過如果 WIM 太多所以掛載時間會比較長...這點當初也有提到過
類似這個的東西當時我就有用出來...只不過我要的不只是那樣而以
所以當時用的是 outtool.ini + wim 的方式 (其實就和 outpecmd.ini + outtool.wim 意思是一樣的)
而不是單純的把 用outtool.ini的軟體 包成 WIM ... 然後掛載後...去 Load WIM 中的 outtool.ini
註:
我提的 outtool.ini + wim ... 其實還是 outtool.ini 的方式
只不過把 軟體包成 wim...用 outtool.ini 去掛載
原則上和目前 OUTPECMD.INI 掛載 OUTTOOL.WIM 其實是一樣
OUTTOOL.WIM 只是含有軟體...而設定等等都是 OUTPECMD.INI
不過當然不是直接用 outtool.ini...而是改成 outwim.ini ... 因為掛載 WIM 有分 FBWF 前 或 後
outwim.ini 是在 FBWF 前 而原本的 outtool.ini 是在 FBWF 後
( 所以視需要...看是用 outwim.ini 或 outtool.ini )
簡單說...NoN大 提的只是把 outtool.ini 的軟體 整個 WIM ...連 outtool.ini 都在 WIM
然後自動掛載 WIM 再去 LOAD outtool.ini
而我當時用的是用 outtool.ini 來掛載 WIM
我會用 outtool.ini + wim 是因為還有考慮其它的部份
例如 掛載路徑 可以自行設定...或 把 wim 放到 X: 中 再掛載 等等
(簡單一句就是彈性比較大而以)
不過以目前 NoN大 僅要效果的部份而言...就如 NoN大 所做的一樣
自動掛載 WIM 會比較好一點...(結構上比較簡單)
至於 CMD ... 還可以在簡化一下
WIMMOD.CMD內容
FOR /F "delims=" %%i IN ('dir /b/s *.wim') Do (
MD %SYSTEMROOT%\WIMMOD\%%~ni
WimTool /Mount %%i "1" %SYSTEMROOT%\WIMMOD\%%~ni
)
如果是原本用2個 FOR ...等於 FOR 執行2次...dir /b/s 也是執行2次
會拖長時間...因為找的 wim 是相同的...所以可以只有 1次 For 和 dir/b/s ...
然後 outtool.cmd 的部份要改一下
因為你用的還是 %windir%\wimtool 可是你掛的是 %SYSTEMROOT%\WIMMOD
OUTTOOL.CMD內容
FOR /F "delims=" %%i IN ('dir /b/s %SYSTEMROOT%\WIMMOD\outtool.ini') Do echo LOAD %%i >> %windir%\outtool.ini
不過我覺的原本的 outtool.ini 還是保留比較好...因為又不一定會包成 WIM
而且...在製作測試時用 非WIM 比較方便...
簡單的說...這樣好了
FOR /F "delims=" %%i IN ('dir /b/s outtool.ini %SYSTEMROOT%\WIMMOD\outtool.ini') Do echo LOAD %%i >> %windir%\outtool.ini
另外...還有一個問題...就是原本的 outtool.wim 也是 wim
如果用直接用自動掛 WIM 的方法...
outtool.wim 會掛到 %SYSTEMROOT%\WIMMOD\OUTTOOL 喔
雖然不是不行...不過...outtool.wim 中有相關到路徑的問題...都要修改了
( 反過來說...我當初的 outtool.ini + wim 就沒這問題...wim 掛載是依靠 outtool.ini
如同 outtool.wim 是依 outpecmd.ini 掛載一樣 )
不過要解決這個小問題也不是不行...只不過 WIMMOD.CMD 就要修改一下了
WIMMOD.CMD內容
FOR /F "delims=" %%i IN ('dir /b/s *.wim') Do (
IF /I NOT "%%~ni"=="OUTTOOL" (
MD %SYSTEMROOT%\WIMMOD\%%~ni
WimTool /Mount %%i "1" %SYSTEMROOT%\WIMMOD\%%~ni
)
)
這樣就會跳過 outtool.wim 的掛載...不過多個 if 去判斷...wim 太多也是會拖時間
比較最佳化的方式是...除了 outtool.wim 外...把要 WIM 都放到同一個目錄下
例如 \OUTTOOL\WIMMOD... 那 WIMMOD.CMD 只要改一下
WIMMOD.CMD內容
FOR /F "delims=" %%i IN ('dir /b/s WIMMOD\*.wim') Do (
MD %SYSTEMROOT%\WIMMOD\%%~ni
WimTool /Mount %%i "1" %SYSTEMROOT%\WIMMOD\%%~ni
)
\n \n \n " }, |
|