NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 6250|回復: 8

[已解決] 量產成CD-ROM的USB裡面裝有XPE,但載入WIM檔時出現問題...

[複製鏈接]
發表於 2014-9-13 22:39:02 | 顯示全部樓層 |閱讀模式
本帖最後由 mickeyben 於 2014-9-14 23:59 編輯

如題,小弟將1隻容量1G的USB隨身碟量產成USB光碟機,是接上PC之後只會顯示一個CD-ROM的模式~

想請教各位大大,載入RAMDISK之後,進入PE在開機流程跑到執行X:\RXPE\SYSTEM32\PECMD.INI時,裡面的指令\OUTTOOL\OUTPECMD.INI找不到在USB裡面OUTTOOL資料夾下的OUTPECMD.INI檔,這是為什麼呢?

小弟有看了給新手看的XPE開機流程解說,發現是指令找不到OUTPECMD.INI,但是說明說指令以 [ \ ] 開頭會搜尋所有磁碟跟光碟機,但是找不到這個USB光碟機裡的檔案~

請問指令有沒有辦法調整成也會搜尋量產成光碟的USB呢?

小弟有試過在C槽或D槽的根目錄放一個OUTTOOL資料夾,指令是會找到這個資料夾的並載入的...

試過很多方法都沒辦法成功載入檔案,希望各位大大能夠幫小弟排除這個問題,萬分感謝...

發表於 2014-9-13 23:01:17 | 顯示全部樓層
你不會是用 usb3.0 開機吧...如果是那大概就是 XPE 沒 usb3.0 驅動...所以他找不到 usb
如果不是...你進 XPE 後能看到量產的 usb-cd 嗎
如果 XPE 看的到 usb-cd ...你試過手動載入嗎 ( PECMD LOAD CD:\OUTTOOL\OUTPECMD.INI  ... CD: 指你 usb-cd 的磁碟代號 若是 E: 就用 E: )
如果若手動載入也沒有辦法...那就無解了
 樓主| 發表於 2014-9-14 03:39:39 | 顯示全部樓層
回版主,USB開機是2.0的USB,進XPE是看的到這個量產的USB光碟機~

手動載入是會執行的,執行完會顯示選擇載入模組的倒數計時方框,但是選擇載入模組之後,WIM檔並沒有載入到X槽這個RAMDISK裡~

我用VM的虛擬機去測試量產USB光碟機的那個ISO檔,是會正常載入,但是量產成USB光碟機就載入WIM檔失敗,算是很特殊的情況...

發表於 2014-9-14 12:16:37 | 顯示全部樓層
手動載入 WIM 失敗是一定的...只是要測試會不會載入 PECMD LOAD 是否能正常載入 \OUTTOOL\OUTPECMD.INI
因為 XPE 掛載 WIM 有一定的順序

掛載 WIM 到 X: -> 啟動 FBWF

反過來就會失敗...因為手動是進 XPE 後...FBWF 都啟動了才掛載 WIM 所以一定會失敗

所以現在的問題就是 量產 usb-cd ...不會出現 模組選擇 ...也就是不會載入 OUTPECMD.ini
但手動加載時...可以 PECMD LOAD OUTPECMD.ini

那情況可能有2種
1. 就像你說的... PECMD LOAD 不會去找 usb-cd
2. 在開機過程式 usb-cd 是不存在的 ... 開機完才跑出來...所以開機過程中找不到 OUTPECMD.ini

你一樣試著...進 XPE 後...可以看到 usb-cd 的情況下執行
PECMD LOAD \OUTTOOL\OUTPECMD.INI
這次不加 usb-cd 的磁碟代號...讓 PECMD 自己找看看...如果這樣會載入 OUTPECMD.INI (模組選擇 有出現 當然 wim 還是會失敗)
那就很有可能是情況 2 (反之就是情況1)

那基本上...只能在開機過程中加上等待的動作...例如
直接 WAIT 個幾秒看看...(不過這個不是很準也不保險)
或是
找不到 OUTPECMD.INI 時...會詢問是否再搜尋一次

若是情況1...則是改用 .CMD 批次檔去載入 OUTPECMD.INI
用 批次檔 去找 OUTPECMD.INI 然後在載入
 樓主| 發表於 2014-9-14 23:58:35 | 顯示全部樓層
回報版主,只要進到桌面再執行PECMD LOAD就找的到USB-CD,不加磁碟代號也能載入模組選擇,而且選擇模組後按確定WIM檔會載入...

在PECMD.INI裡面,在LOAD指令前把WAIT 1000改成WAIT 60000 也行不通...

所以可能就像版主說的情況2,開機過程是找不到USB-CD的,要等進入桌面之後,USB-CD出現再載入就可解決~

能測試的時間不多,不過問題點找出來了,一定有辦法克服的~ 感謝版主協助排除問題~
發表於 2014-9-15 05:26:36 | 顯示全部樓層
本帖最後由 阿達金田一 於 2014-9-15 05:29 編輯

目前我是推測...應該是 bartpe -pnp 後 usb-cd 才會出來
所以你可以試著修改一下 pecmd.ini

因為不知道你核心用那版...所以我拿 NoName XPE 2012 RC5 來說
原始的 pecmd.ini 指令順序都把一些修正指令放到後面才執行
barpte.cmd (barpte.exe -pnp) 也是開機進桌面之前才執行
試著把 drivers 修正的部份 (就是 REGI %V0%\USBHUB\ImagePath=%V1%\USBHUB.SYS 那些)
放到最前面...然後 執行 bartpe.cmd (bartpe.exe -pnp)

RC5 的 pecmd.ini 前面長這樣

CALL Start_Logon
EXEC !=%SystemRoot%\SYSTEM32\orderdrv.cmd
WAIT 1000
LOAD \OUTTOOL\OUTPECMD.INI
CALL @PECMDINI

後面都是副程序 ...因為是先 LOAD \OUTTOOL\OUTPECMD.INI
之後才 CALL PECMDINI ... 修正動作都放到 PECMDINI

_SUB PECMDINI,L1T580W800H20,模組,,,1
     PBAR PBAR,L1T7W794H10,60
     TIME OUTTOOLRUN,100,Team CALL FixSystem|CALL Created_System_Menu|CALL Setting_SystemRun|CALL Setting_SHELL
_END

下面是 CALL PECMDINI 會執行的副程序 (依順序)
CALL FixSystem ( 系統註冊 和 drivers path 修正 )
CALL Created_System_Menu (這裡加載 shell32.dll )
CALL Setting_SystemRun  ( Bartpe.cmd 這裡執行)
CALL Setting_SHELL (這個加載桌面)

個人覺的簡單一點的改法是

CALL Start_Logon
EXEC !=%SystemRoot%\SYSTEM32\orderdrv.cmd
WAIT 1000
CALL FixSystem
EXEC !=%SYSTEMROOT%\SYSTEM32\BARTPE.CMD
WAIT 1000 (覺的不夠長就自己改大一點)
LOAD \OUTTOOL\OUTPECMD.INI
CALL @PECMDINI

其它應該不用改
簡單說就是把 CALL FixSystem 單獨拿出來放到前面先修改 drivers path
接著 bartpe.cmd 一下...抓一下 usb-cd ... 然後才 LOAD \OUTTOOL\OUTPECMD.INI
 樓主| 發表於 2014-9-18 21:02:47 | 顯示全部樓層
感謝版主熱心的協助,回報版主,實測後發現call fixsystem放在前面抓不到USB-ROM

目前小弟暫時的做法是把OUTTOOL資料夾放進RAMDISK裡面,也不用CAB格式壓縮了,直接放在根目錄讓RXPE.SIF載入,時間變長一些,但可以載入WIM檔

用虛擬機設定RAM的大小來測試,主機的RAM最少要有440MB才能成功載入RAMDISK...

另外進PE之後在裝置管理員裡面看不到CD-ROM類的裝置,USB-ROM也看不到,但是會有卸除式磁碟,我想這可能是OUTPECMD.INI在剛進PE的時候,可以抓到卸除式磁碟裡面的OUTTOOL但是抓不到USB-ROM裡面的OUTTOOL的主因

而CALL FIXSYSTEM如果是讓裝置重新整理,裝置管理員裡面沒有CD-ROM,LOAD指令也許是因此失敗...

目前有想到用DEVCON.EXE這個工具,在命令提示字元裡面RUN一次DEVCON RESCAN再LOAD看看能不能產生效果,不過需要等有空再試...
發表於 2014-9-19 01:05:49 | 顯示全部樓層
本帖最後由 阿達金田一 於 2014-9-19 01:08 編輯

你有改把 bartpe.cmd(bartpe.exe -pnp) 也改進去嗎...這才是刷硬體裝置..
光把 CALL FIXSYSTEM 前移沒意義...我前面說的很清楚...這只是修正 系統註冊 部份的資料
(也就是以免 刷新硬體裝置驅動 或 安裝驅動 時因為 系統註冊 的 path 值錯誤而有問題)

bartpe.exe -pnp 功能 和 devcon 類似...只不過刷新的硬體比較少的樣子...不過 bartpe.exe -pnp 較簡便
( 基本上 3卡 都是用 bartpe.exe -pnp 去刷的 )

因為你說的...進 XPE 後 usb-cd 會抓到
也就是按照原始流程..."最後"是會抓到 usb-cd
而 OUTPECMD.INI 無法載入...所以流桯一直到 LOAD \OUTTOOL\OUTPECMD.INI 是沒有抓到 usb-cd
而流程中...有做刷新硬體驅動的動作...也只有 bartpe.cmd
( 也就是說...抓到 usb-cd 主要是在流程的哪一步驟 )

簡單說的...pecmd.ini 的原始流程是下面這樣的話 (把 CALL PECMDINI 拆解的話)
CALL Start_Logon
EXEC !=%SystemRoot%\SYSTEM32\orderdrv.cmd
WAIT 1000
LOAD \OUTTOOL\OUTPECMD.INI
CALL FixSystem
CALL Created_System_Menu
CALL Setting_SystemRun ( bartpe.cmd 在這一步 )
CALL Setting_SHELL

因為到最後是會抓到 usb-cd...所以主要是把 LOAD \OUTTOOL\OUTPECMD.INI  後移(到抓到 usb-cd 之後)
而驅動部份比較有可能有關係的會是 CALL FixSystem 和 bartpe.cmd ...所以之前只改這2部份
不過如果把 FixSystem 和 bartpe.cmd 放到 LOAD \OUTTOOL\OUTPECMD.INI 之前也抓不到的話
那就有可能是其它流程部份也會有影響

最簡單的大概是...直接把 LOAD \OUTTOOL\OUTPECMD.INI 放到最後
不過這樣就變成進桌面才會 LOAD \OUTTOOL\OUTPECMD.INI

CALL Start_Logon
EXEC !=%SystemRoot%\SYSTEM32\orderdrv.cmd
WAIT 1000
CALL @PECMDINI
LOAD \OUTTOOL\OUTPECMD.INI


另外之前回文有個地方我有說錯
在 FBWF 啟動後 WIM 掛載會失敗...這沒錯
不過想到...你連 OUTPECMD.INI 都沒載入...那應該 FBWF 也沒啟動才對
(因為 XPE 的 FBWF 好像都改在 OUTPECMD.INI  啟動...因為要先 掛WIM -> 再啟動 FBWF )

所以若 FBWF 沒啟動...那你進 XPE 後...手動 LOAD OUTPECMD.INI 應該是可以掛載 WIM 才對
(看一下你前面的回文...手動載入...你1次說 WIM 沒有載入...1次說有...所以我也搞不清楚...照理應該是有)

所以...如果你不在乎開機過程怪怪的(其實也還好...只是和原本不太一樣而以)
直接把 LOAD \OUTTOOL\OUTPECMD.INI  放到最後去載入
發表於 2014-10-18 23:12:41 | 顯示全部樓層
量產變數好多,曾用某款慧榮晶片隨身碟量產XPE,結果非常順利工具都可以載入。最近用安國晶片量產出現跟作者一樣的情況,無法載入工具。經參照版主提示將LOAD \OUTTOOL\OUTPECMD.INI 放到最後載入,結果OK可以順利載入。感謝版主,是先進桌面然後載入工具沒錯。不同晶片的隨身碟量產相同內容光碟,結果開機的結果竟然不同,還有待進一步去瞭解。也就是兩個隨身碟量產後比對內容都一樣,但是開機後一個可以載入工具,一個不行。
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2025-8-18 19:24 , Processed in 0.182975 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表