找回密碼
 我要註冊
搜索
查看: 1002|回復: 9

[已解決] WIN8 PE 加入raid卡驅動後,外置工具沒有載入

[複製鏈接]

1

主題

0

好友

103

積分

中級會員

Rank: 2

在線時間
48 小時
威望
0
金錢
252
貢獻
0
最後登錄
2017-8-18
註冊時間
2014-12-3
帖子
5
主題
1
精華
0
積分
103
UID
17923
發表於 2016-12-27 23:51:44 |顯示全部樓層
本帖最後由 蔡小資 於 2017-1-1 22:49 編輯

各位大大好,

小弟使用DISM部署映像工具在win8 PE 增加raid卡驅動後,要進去win8 PE後,發現外置工具沒載入.

經過爬文之後得知oem1.inf 會被覆蓋,請問有方法可以解決嗎?

參考無憂論壇的帖子:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=375332

依舊無法解決問題.懇請大大們解惑.感謝







26

主題

17

好友

2908

積分

超級版主

Rank: 16Rank: 16Rank: 16Rank: 16

在線時間
747 小時
威望
0
金錢
7241
貢獻
0
最後登錄
2017-8-18
註冊時間
2012-3-18
帖子
513
主題
26
精華
2
積分
2908
UID
211

版主 特殊貢獻

發表於 2016-12-30 19:25:32 |顯示全部樓層
本帖最後由 阿達金田一 於 2016-12-30 19:59 編輯

感覺和那個沒關係咧... 那個也沒說是用 dism ... 而且說的是 Primo Ramdisk
除非外置工具需求 Primo Ramdisk 否則應該無影響 ... (而且我覺的實際上就算會用到也應該無影響)

dism 整合驅動 或是 Windows 中安裝
都會丟一份 Driver 到 Driver DataBase ( Win7 是這個位置  \Windows\System32\DriverStore\FileRepository )
簡單說就是把 要加入的 驅動 ... 先丟一份到 Drivers 的 DataBase( DriverPack ) ...
然後才是 Windows\inf 和 System32\Drivers

Driver 若是 硬體驅動(主要也是 Sata Raid Scsi 之類的) ...
則會在 系統註冊 中加入 Drivers 的 硬體識別碼 對應用那一個 DataBase 的 Drivers 和 Drivers 的 Services
註:
Win7 是用 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase
不是單純就這一個註冊...不過這個註冊主要就是看對應的 DataBase Drivers

而在 系統 找到 硬體 且 該硬體 尚未安裝驅動時
也就是該硬體 在 系統註冊 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum 中尚未有安裝驅動的資料 時
會先去系統中的 (驅動資料庫) Drivers DataBase (DriverPack) 中找一下... 有就到自然就會安裝 DataBase 中的 Drivers

簡單說...對於 被整合 的 Windows 來說...被整合時...硬體 是不存在的... 所以是整合到 DataBase
實際上... 安裝 的時機是...使用 Windows 時... Windows 抓到 硬體 ... 才會自動安裝 DataBase 中的 Driver

而 Driver 安裝好後...就算砍了  Windows\inf  中的 Driver inf 也沒影響
因為 Driver 已經可以運作了 ... 砍了都沒關係 , 所以更別提覆蓋了
不過 Windows\inf 還是會影響 反安裝 和 同Driver 的反覆安裝(指多個裝置...用同一個 Driver 時)

而 安裝好 的驅動 ... 資料主要是在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services

而 oemxx.inf 就是 Dism 或 Windows 後來才安裝的 Driver ...
後來才安裝的 Driver ... 安裝時大多會用 oemxx.inf ... 正常來說...安裝時...遇到已有的 oemxx 檔名時會跳過
例如...oem1.inf 已存在...後來安裝別的驅動就會跳過 oem1.inf 用 oem2.inf ... oem2.inf 也有就用 oem3.inf

而 軟體驅動 不同... 其本身本來就沒有 硬體 ... 所以 識別碼 也是軟體做出來的
通常來說...和 硬體驅動 一樣的是 DataBase 會丟一份
然後會在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
建立軟體驅動需要的資料 (像 Windows 的 VHD 支援...其實就是 軟體驅動 )
所以 軟體驅動 整合的話 DataBase 會有一份且...也會安裝到 Windows 中

無聊的可以試一下看一下 Win7
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vhdmp
這個 VHD 驅動是已安裝的 ... 但沒掛 VHD 時...不會有 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vhdmp\Enum
而 VHD掛上去後...就會有了 ...然後可以在其中找到對應的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
例如
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vhdmp\Enum 中...
可能會有個 0 ... 資料大概長這樣 {8e7bd593-6e6c-4c52-86a6-77175494dd8e}\MsVhdHba\1&3030e83&0&01
這是指對應到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\{8e7bd593-6e6c-4c52-86a6-77175494dd8e}\MsVhdHba\1&3030e83&0&01

睛尖的可能還會發現 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vhdmp 中
還有對應的 DriverPackageId 的資料...大概長 vhdmp.inf_amd64_neutral_ff4ad1ec394a9f9d
但...注意...這不一定是正確的...例如
Win 有 update 過 或 重新整合...可能 DataBase 有更新 所以 DriverPackageId 也改變過
但這不會影響已安裝的 Driver(services) ... 因為只是記錄用那個 DriverPack 來安裝的

所以注意... Windows 的 Drivers DataBase 和 已安裝 Driver 是 2回事 ... 不要混為一談
只是正常來說... Dism 整合 或 在 Windows 中 "正常" 的 安裝驅動 ... DataBase 都會也丟一份
但是也可以有 "不正常" 的安裝 ... 有安裝 Driver 但沒有 DataBase  ... 像是直接丟檔案到 system32\drivers , 自行加入 reg 註冊

所以你的問題...
先搞清楚... WinPE 8 外部工具會否會用到 Primo Ramdisk
若有 Primo Ramdisk 也是用 oem1.inf 嗎 ...
Primo Ramdisk 使用時會需要 inf 嗎 .... 正常來說用不到 ... 因為正常對 WinPE 來說 Primo Ramdisk 應該要是 已安裝 ... 只要會去做用 (像 vhd 那樣)
除非 PE 其實並未安裝 Primo Ramdisk (我是指註冊)  ... 所以使用前要先需要用 inf 安裝 ...
不過正常來說 安裝來源 也不會直接放到 Windows\inf 下 而且還是用 oemxx.inf ... 因為我說了...這是 Windows 安裝才會做的是 ... 所以在這的 inf 大多是安裝好了

個人認為你的問題和 Primo Ramdisk 沒啥關係
因為 Primo Ramdisk 這一類應該是 軟體驅動 ... 有可能不會用 dism 去整合... 而是直接安裝好 註冊 + 丟檔 ...  DataBase 應該是沒有
但這類東西 , 通常就是安裝好就可以用...根本用到不 inf (通常是用不到...除非是要用 .inf 來安裝)

但你其它的清況也沒說明 ...
例如 raid driver 是否正常運作 , 那個 PE 的外部工具怎麼運作的 (這個可能要去問原作者了)

所以如果你覺的是 Primo Ramdisk , oemxx.inf 的問題 (你自己都說了...試過了沒用)
那你用 dism 先整合 Primo Ramdisk Driver 再整合 Raid Driver 或是 反過來先  Raid Driver 後 Primo Ramdisk Driver
反之...檢查一下沒有沒你說的 oemxx.inf 覆蓋問題...
若沒有了...還是不行...八成是你 raid driver 有問題吧
或是...你 raid 的 HD 中...有什麼東西影響到 PE 的外部工具加載 ...
把 Raid 取消 或 HD 拔了看看

26

主題

18

好友

3776

積分

版主

Rank: 10Rank: 10Rank: 10

在線時間
664 小時
威望
0
金錢
9062
貢獻
0
最後登錄
2017-8-3
註冊時間
2012-3-25
帖子
1300
主題
26
精華
0
積分
3776
UID
553
發表於 2016-12-31 16:54:26 |顯示全部樓層

如果是用無憂啟動論壇 用WinBuilder制作一个Win8PE (X86,X64) 製做的 PE , 加上用 Primo Ramdisk 做虛擬磁碟掛載外置 , 的確有樓主提到的情況

來看一下 [2016新春版] 三啟動維護光碟/隨身碟 共用版  的情況 , 紅框標示的兩個 PE 都是這種類型


oem1.inf 的確是 Primo Ramdisk


PE 開機 , Y 槽是 Primo Ramdisk 創建的虛擬磁碟 , 也掛載到外置 , 不過 oem1.inf 是顯卡


PE 用 DISM 整合 3個 raid 驅動


oem1.inf 變成 raid


PE 開機 , Y 槽沒建立 , 所以沒掛載到外置


實際解開 boot.wim 改一下
(1) 把原來的 oem1.inf 改名 oem0.inf , 加到相關的位置


(2) 把原來的 oem1.cat 改名 oem0.cat , 加到相關的位置


(3) 改註冊表 SYSTEM
RegWorkshop 載入 SYSTEM 為 22-sys , 搜索 oem1.inf


替換 oem1.inf 為 oem0.inf




(4) 替換 SYSTEM


ˊ重新打包 boot.wim , 開機測試




本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

1

主題

0

好友

103

積分

中級會員

Rank: 2

在線時間
48 小時
威望
0
金錢
252
貢獻
0
最後登錄
2017-8-18
註冊時間
2014-12-3
帖子
5
主題
1
精華
0
積分
103
UID
17923
發表於 2016-12-31 23:10:59 |顯示全部樓層
本帖最後由 蔡小資 於 2016-12-31 23:22 編輯

TO:阿達金田一 、2567288大大,

我是使用 2567288大大 製作的三啟動usb,裡面的932.win來修改。如有冒犯,請 大大見諒.

小弟之前新增驅動後,導致oem1.inf被覆蓋,這個在微軟技術論壇也有提到,新增的驅動會以oem1.inf. oem2.inf.....命名以此類推

掛載932.win映像,在cmd輸入Dism /image:C:\PE\ /Get-Drivers,結論是掃描不到驅動,

後續處理方法:
1.安裝驅動前,備份oem1.inf,位置在C:\PE1\Windows\inf,PE1是我掛載的資料夾,等驅動安裝完再將oem1.inf改成oem0.inf放回,

2.參照無憂論壇這篇 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=276328 ,搜尋所有oem1.inf改成oem0.inf

3.匯入這932.win裡的system32\0.reg 和 1.reg (我無法確認此動作是否影響Primo Ramdiskg是否置入)

4. 卸載映像,重新進入PE,是可以載入工具的

5.後續有建立raid硬碟後再分享結果.




















30

主題

25

好友

1萬

積分

版主

Rank: 10Rank: 10Rank: 10

在線時間
2529 小時
威望
0
金錢
10781
貢獻
3000
最後登錄
2017-8-19
註冊時間
2012-3-13
帖子
465
主題
30
精華
1
積分
11249
UID
86

最佳新人 活躍會員 好友任務 版主

發表於 2016-12-31 23:46:05 |顯示全部樓層
蔡小資 發表於 2016-12-31 23:10
TO:阿達金田一 、2567288大大,

我是使用 2567288大大 製作的三啟動usb,裡面的932.win來修改。如有冒犯 ...

小弟也來討論一下,我試過幾款RAID卡(試的真的不多),都是近PE完成後,使用裝置管理員載入RAID卡驅動,這樣的方式似乎沒啥問題,有誤嗎???

26

主題

18

好友

3776

積分

版主

Rank: 10Rank: 10Rank: 10

在線時間
664 小時
威望
0
金錢
9062
貢獻
0
最後登錄
2017-8-3
註冊時間
2012-3-25
帖子
1300
主題
26
精華
0
積分
3776
UID
553
發表於 2017-1-1 00:24:53 |顯示全部樓層
蔡小資 發表於 2016-12-31 23:10
TO:阿達金田一 、2567288大大,

我是使用 2567288大大 製作的三啟動usb,裡面的932.win來修改。如有冒犯 ...


WinBuilder 使用 Primo Ramdisk 的腳本


932.wim 也可以不需要用 Primo Ramdisk 建立虛擬磁碟 , 改用 imdisk 也可以 , 改  RamOSInit.pre , 或者直接替換附件的 RamOSInit.pre
使用 Primo Ramdisk 加載外置




改成 imdisk 加載外置(這個就不會有 oem1.inf 被替換而無法加載外置的情況)








本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

26

主題

18

好友

3776

積分

版主

Rank: 10Rank: 10Rank: 10

在線時間
664 小時
威望
0
金錢
9062
貢獻
0
最後登錄
2017-8-3
註冊時間
2012-3-25
帖子
1300
主題
26
精華
0
積分
3776
UID
553
發表於 2017-1-1 00:57:44 |顯示全部樓層
蔡小資 發表於 2016-12-31 23:10
TO:阿達金田一 、2567288大大,

我是使用 2567288大大 製作的三啟動usb,裡面的932.win來修改。如有冒犯 ...

有關 raid 的驅動 , 也可以試一下 , 用附件的 PECAB.EXE 打包成 srs_x32.CAB


把它放在 mytools 目錄下 81pe_x32.iso 的這個位置 , 看看開機過程是否抓的到




本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

1

主題

0

好友

103

積分

中級會員

Rank: 2

在線時間
48 小時
威望
0
金錢
252
貢獻
0
最後登錄
2017-8-18
註冊時間
2014-12-3
帖子
5
主題
1
精華
0
積分
103
UID
17923
發表於 2017-1-1 19:37:54 |顯示全部樓層
2567288 發表於 2017-1-1 00:57
有關 raid 的驅動 , 也可以試一下 , 用附件的 PECAB.EXE 打包成 srs_x32.CAB

謝謝 2567288大大幫忙

目前932.win掛載的是最新的Intel® RST raid驅動,成果如下,

可以辨識raid0 ,我的主板是Maximus vii hero z97,尚不知是否也可以辨識其他商用電腦上的raid.

26

主題

17

好友

2908

積分

超級版主

Rank: 16Rank: 16Rank: 16Rank: 16

在線時間
747 小時
威望
0
金錢
7241
貢獻
0
最後登錄
2017-8-18
註冊時間
2012-3-18
帖子
513
主題
26
精華
2
積分
2908
UID
211

版主 特殊貢獻

發表於 2017-1-1 19:39:05 |顯示全部樓層
本帖最後由 阿達金田一 於 2017-1-1 19:56 編輯

看 2567288 大貼的資料... WinBuilder Primo Ramdisk 的做法好像就是 直接Copy 檔案 和 註冊...不是用 dism

不過我倒是忽略 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class
現在都沒在玩 PE ... NT6 以後的系統也沒在研究...
不知道是不是因為... NT6 以後大概都會檢查 .cat 簽章...
Class 中記錄的 inf 相關資料不正確... 也找不到對應的正確 .cat
搞不好改 class 的部份就好了...

因為 enum 的 DeviceDesc Mfg 沒記錯的話只是 顯示文字 ... 像 @machine.inf,%gendev_mfg%;(標準系統裝置)
只是先調用 machine.inf 中...文字變數的 gendev_mfg ... 沒有時...會用後面那個 (標準系統裝置)
所以...前面 @machine.inf,%gendev_mfg%; 去掉...只留後面的文字 (標準系統裝置) ... 應該是沒影響
因此...主要大概是 class 的問題

然後 Primo Ramdisk  (enum services) 驅動載入部份...是沒問題...但 class 中的 infpath 不正確所以驅動沒運作
不知道開機時... bcd 禁用簽章檢查... 能不能 ok

至於開機後加入 raid drivers 我想應該是沒問題吧... 安裝PE 不也是可以開機後才加載
就是不清楚是怎麼加載的 以前在玩時(Vista) 記得 MS PE 本身是用 Drvload.exe

0

主題

0

好友

9

積分

初級會員

Rank: 1

在線時間
2 小時
威望
0
金錢
11
貢獻
0
最後登錄
2017-8-6
註冊時間
2017-1-4
帖子
5
主題
0
精華
0
積分
9
UID
27974
發表於 2017-1-5 01:52:16 |顯示全部樓層
謝謝大大,,好東西
您需要登錄後才可以回帖 登錄 | 我要註冊

游客,提醒您,您還沒有註冊,註冊後可查看更多內容,更精彩!NoName Team[關閉]

手機版|NoName Team 論壇

GMT+8, 2017-8-19 22:53 , Processed in 0.082395 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回頂部