網頁

2024年4月15日 星期一

多PE共用驅動程式

PE開機,最重要的是要能看到硬碟,因此,PE添加最新且完整硬碟驅動是必須的。現在添加PE驅動,用DISM ++,快速方便。如有4個PE,繁體PE無聲音、網路,繁體PE有聲音網路,簡體PE無聲音、網路,簡體PE有聲音、網路,每個PE都添加驅動,等於驅動有4份,有增刪都要在PE個別修改。本文希望做到驅動只有一份,4個PE共用,只維護一份驅動。

實作構想:
1.彙整PE驅動,做成WIM檔或.7z檔均可。
2.刪除PE驅動
3.在PE pecmd.ini檔加入PE開機後,執行Drvindex.exe 安裝PE驅動,這樣就可以看到磁碟機。
4.執行 orderdrv.cmd順理磁碟機代號,這個指令須在Primo Ramdisk創建虛擬磁碟機Y碟之前,才不會造成執行DISK++時,顯示掛載至Y碟的WIM檔損壞。
5.原本測試時orderdrv.cmd於Primo Ramdisk創建虛擬磁碟機Y碟之後,orderdrv.cmd造成存PE檔案的磁碟機代號變更,未掛載入wim檔的程式或驅動程式安裝,原本用於存PE檔案的磁碟機代號,變成因磁碟機代號變更,導致無法正常執行用pehd.cmd來找出改變後存PE檔案的磁碟機代號,重新建立連結。後來,orderdrv.cmd順理磁碟機代號移至前面,就未發生存PE檔案的磁碟機代號被修改的問題,pehd.cmd檔就沒用到了。pehd.cmd檔還是保留在文章後面,可供磁碟機代號被變更,可找出磁碟機代號的指令。
以下的pecmd.ini檔加入的指令,僅供參考,如何應用及融入自己的PE,有待自行測試。

以上構想經歷實做及測試,確實可行且能減少PE檔案大小。
不是每一個PE都可以於PE開機安裝PE驅動,功能越完整PE,可行性越高。無聲音無網路的精簡PE,微PE還未修改成功。KUER 網友的無聲無網路PE,有一行指令會影響pecmd掛載wim檔,要改為:
EXEC !Wpeutil.exe InitializeNetwork /NoWait

pecmd.ini檔加入
load \sources\pe\disc.ini
EXEC != %cdna%\win8chtxpe\pedriver\Drvindex.exe -t %cdna%\win8chtxpe\pedriver
EXEC !=%Curdir%\orderdrv\orderdrv.cmd
EXEC !Wpeutil.exe InitializeNetwork /NoWait
.
.
.
TEXT make ramdisk wait......  ……#0xFFDDDD L4 T700 R300 B768 $20
load \sources\pe\disc.ini
EXEC !=%Curdir%\RAMDISK.cmd
IFEX ! Y:\TEMP,WAIT 4000
IFEX ! Y:\TEMP,WAIT 2000
IFEX ! Y:\TEMP,WAIT 2000
wait 2000
EXEC !=%Curdir%\sousuo.cmd

pehd.cmd
@echo off
for %%i in (z w v u t s r q p o n m l k j i h g f e d c) do (
cd /d %%i:\
if exist %%i:\skpext\mytools.wim (
X:\Windows\System32\pecmd.exe envi $cdna=%%i:
X:\Windows\System32\pecmd.exe LINK %Desktop%\install wlan driver,%WinDir%\SYSTEM32\pecmd.exe,LOAD %%i:\win8chtxpe\NetCard64_wLan\installwlan.ini,y:\DeviceDriver\wlan.ico
X:\Windows\System32\pecmd.exe LINK %Desktop%\install lan driver,%WinDir%\SYSTEM32\pecmd.exe,LOAD %%i:\win8chtxpe\NetCard64_Lan\installlan.ini,y:\DeviceDriver\lan.ico
X:\Windows\System32\pecmd.exe LINK %Desktop%\install vga driver,%WinDir%\SYSTEM32\pecmd.exe,LOAD %%i:\win8chtxpe\DRIVERS64_VGA\installdisplay.ini,y:\DeviceDriver\installdisplay.ico
X:\Windows\System32\pecmd.exe LINK %Desktop%\install office2007,%WinDir%\SYSTEM32\pecmd.exe,LOAD %%i:\skpext\Office2007\office2007.ini,%%i:\skpext\Office2007\office2007.ico
)
)
exit

disc.ini
ENVI $CDNA=%CURDRV%
ENVI $CDNA1=%CURDRV%
RUNS PECMD ENVI,ENVI

沒有留言:

張貼留言