如何在 Windows 安裝中添加 OEM 即插即用驅動程序
察看本文應用于的產品
文章編號 : 254078
最后修改 : 2004年6月25日
修訂 : 4.0
重要說明:本文包含有關修改注冊表的信息。修改注冊表之前,一定要備份注冊表,并且一定要知道在發生問題時如何還原注冊表。有關如何備份、還原和編輯注冊表的信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
256986 ( http://support.microsoft.com/kb/256986/) Microsoft Windows 注冊表說明
本頁
概要
更多信息
無人參與安裝
Sysprep 安裝
RIS 安裝
Riprep 映像
現有 Windows 安裝
這篇文章中的信息適用于:
概要
本文介紹在 Windows 安裝中添加原始設備制造商 (OEM) 提供的驅動程序的步驟。本文僅涵蓋通常在圖形用戶界面 (GUI) 模式安裝期間安裝的驅動程序,或在完成安裝后通過即插即用枚舉安裝的驅動程序。使用這些步驟,可以預先加載 OEM 即插即用驅動程序,以后向系統中添加相關的硬件時就可以使用這些驅動程序了。
本文介紹在下列情形中如何添加 OEM 即插即用驅動程序: • 無人參與安裝
• Sysprep 安裝
• 遠程安裝服務 (RIS) 安裝
• Riprep 映像
• 現有 Windows 安裝
有關在文本模式安裝期間添加 OEM 提供的大容量存儲設備的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
220845 ( http://support.microsoft.com/kb/220845/) 在 Windows 安裝期間添加第三方或更新的驅動程序
回到頂端
更多信息
必須找到在 GUI 模式安裝的“安裝設備”階段安裝的驅動程序的特定位置。找到后,安裝程序將使用由 Windows 即插即用功能所枚舉的即插即用 ID 來安裝這些設備。安裝程序將在驅動器上搜索一個預定義的路徑,查看 .inf 文件以找到與設備的即插即用 ID 最匹配的項。默認情況下,此路徑在下面的注冊表位置定義并設置為 %SystemRoot%\Inf:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath:REG_EXPAND_SZ:%SystemRoot%\Inf
安裝程序將使用此路徑為設備安裝定位 .inf 文件。安裝完畢后,此路徑還可用于所發現和安裝的任何新硬件。如果您在安裝期間使用 Sysprep.inf 或無人參與應答文件修改此項,該值將被保存而且在安裝完畢后還可以使用。
下面幾節將介紹向 Windows 的無人參與安裝或 Sysprep 安裝添加 OEM 提供的驅動程序的步驟。
回到頂端
無人參與安裝
當您向無人參與安裝添加驅動程序時,請按照下列步驟操作。如果 OEM 提供的驅動程序未經數字簽名,在安裝期間,您可能會接收到有關這些驅動程序的消息。有關如何避免顯示此消息的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
236029 ( http://support.microsoft.com/kb/236029/) 如何為 Windows 2000 無人參與安裝設置驅動程序簽名策略
1. 通過復制 Windows 安裝光盤上的 I386 文件夾中的內容,在網絡服務器上創建您的分發共享。您可以使用 Setupmgr.exe 創建此共享和您的 Unattended.txt 文件。您可以在 Windows 安裝光盤上的 Support\Tools 文件夾中的 Deploy.cab 文件中找到 Setupmgr.exe,以及包含關于 Windows 無人參與安裝信息的 Unattend.doc 文件。
2. 在 I386 文件夾中創建 $oem$\$1\Drivers 文件夾。根據您要安裝的硬件(例如,網絡適配器、調制解調器或視頻適配器),您可能需要在 Drivers 子文件夾中創建其他一些文件夾。$1 文件夾解析為 %SystemDrive%。在文本模式安裝期間,這些文件夾和文件將被復制到 %SystemDrive%\Drivers 文件夾。例如:
\i386
\$oem$
- - \$1
- - - \Drivers
- - - - - \network adapter
- - - - - \MODEM
- - - - - \VIDEO
3. 將 OEM 提供的所有設備驅動程序文件復制到上一步創建的這些文件夾中。
4. 在安裝程序應答文件的 [Unattended] 節中添加 OemPnPDriversPath = Driver_Paths 項。您可以在此項中列出多個路徑,并用分號 (;) 將它們分隔開。例如: [Unattended]
OemPnPDriversPath = "Drivers\network adapter;Drivers\Modem;Drivers\Video"
注意:%SystemDrive% 環境變量字符串將自動插入到每一個列出的搜索路徑的前面。
5. 保存該應答文件。
在 GUI 模式安裝期間,當系統在 .inf 文件中搜索即插即用 ID 時,它還搜索在 OemPnPDriversPath 中指出的路徑和 %WinDir%\Inf 這一標準默認路徑。%WinDir%\Inf 路徑在搜索順序中列在第一位,但是如果您的設備有多個 .inf 文件(Windows 可能包括一個提供一般功能的驅動程序)支持,安裝程序將繼續搜索在 OemPnPDriversPath 項中指定的所有路徑。盡管可以找到多個匹配項,但即插即用功能只使用包含最匹配的項的 .inf 文件,然后安裝相關聯的設備驅動程序以支持此設備。
回到頂端
Sysprep 安裝
向 Windows Sysprep 安裝中添加 OEM 提供的驅動程序的步驟與本文“無人參與安裝”一節描述的步驟相似,不同之處在于您不必創建分發共享。要向 Sysprep 的最小安裝向導中添加驅動程序,請按照下列步驟操作。
注意:要向您用來啟動計算機的 Sysprep 映像添加 OEM 第三方大容量存儲驅動程序,您需要安裝 Sysprep 的 1.1 版。要下載最新的 Sysprep 工具和文檔,請訪問下面的 Microsoft Web 站點:
http://www.microsoft.com/windows2000/downloads/deployment/sysprep/ ( http://www.microsoft.com/windows2000/downloads/deployment/sysprep/)
1. 在 %WinDir% 文件夾所在的卷的根目錄,創建一個文件夾結構以容納 OEM 提供的驅動程序。例如:
\Drivers
- - \network adapter
- - \VIDEO
\Sysprep
\WINNT
2. 將 OEM 提供的驅動程序復制到相應的子文件夾中。
3. 將 OemPnPDriversPath = Driver_Paths 項添加到 Sysprep.inf 文件的 [Unattended] 節。您可以在此項中列出多個路徑,并用分號 (;) 將它們分隔開。例如:[Unattended]
OemPnPDriversPath = "Drivers\network adapter;Drivers\Video"
注意:%SystemDrive% 環境變量字符串將自動插入到每一個列出的搜索路徑的前面。
如果您不想讓 OEM 提供的驅動程序在最小安裝向導完成后仍保留在卷上,您可以將在上一步中創建的文件夾結構添加到 Sysprep 文件夾下。您需要適當地調整“OemPnPDriversPath =”項。安裝完成后,將自動刪除 Sysprep 文件夾(及其子文件夾)。
將 Sysprep.inf 文件保存到 Sysprep 文件夾中并運行 Sysprep.exe。在最小安裝向導執行期間,所有即插即用設備(包括那些使用 OEM 驅動程序 .inf 文件找到的設備)將自動安裝到目標計算機上。請注意,您不必指定 -pnp 命令行開關,除非目標計算機上存在較早的 (ISA) 設備。如果您使用 -pnp 命令行開關,將對所有設備重新執行即插即用枚舉,這會使 Sysprep 最小安裝向導過程的時間增加 5-10 分鐘。而且,如果您使用 Sysprep 1.1 版指定附加的大容量存儲控制器,則 -pnp 命令行開關會導致一些多余的硬盤控制器出現在設備管理器中。有關其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
253340 ( http://support.microsoft.com/kb/253340/) 使用 Sysprep 1.1 版時設備管理器中出現不存在的 SCSI 設備
216937 ( http://support.microsoft.com/kb/216937/) 系統準備工具和應答文件的使用
注意:如果 OEM 提供的驅動程序未經數字簽名,最小安裝向導將推遲設備的安裝,直到有管理員登錄到該計算機上。這稱為“客戶端對服務器端”安裝,它出現在最小安裝向導安裝期間。
有關其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
256204 ( http://support.microsoft.com/kb/256204/) 在 Sysprep 最小安裝向導過程中如果不使用 -pnp 開關,將不會安裝未簽名的驅動程序
回到頂端
RIS 安裝
向 RIS 安裝添加 OEM 即插即用驅動程序的步驟與本文“無人參與安裝”一節列出的步驟相同,只不過要做兩個小的調整: 1. 將 $oem$ 文件夾置于與 RIS 映像所在的 \I386 文件夾相同的級別。例如:RemoteInstall\Setup\%language\Images\%dir_name%\i386
RemoteInstall\Setup\%language\Images\%dir_name%\$oem$\$1\Drivers
\network adapter
\MODEM
\VIDEO
2. 修改 RIS 映像默認模板 (Ristndrd.sif)。在 [Unattended] 節中,將“OemPreinstall =”項的值從 No 更改為 Yes,然后添加 OemPnPDriversPath = Driver_Path 項。您可以在此項中列出多個路徑,并用分號 (;) 將它們分隔開。例如:[Unattended]
OemPreinstall = Yes
OemPnPDriversPath = "Drivers\network adapter;Drivers\Modem;Drivers\Video"
注意:%SystemDrive% 環境變量字符串將自動插入到每一個列出的搜索路徑的前面。
注意:如果 OEM 提供的驅動程序中有一個是用于網卡設備的,則 RIS 服務器在文本模式安裝期間重新啟動時必須提供該文件。有關此過程的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
246184 ( http://support.microsoft.com/kb/246184/) 如何將第三方 OEM 網絡適配器添加到 RIS 安裝
3. 在 RIS 服務器上停止并重新啟動 BINL 服務,在命令提示符處鍵入下面的內容:
• net stop "boot information negotiation layer"
• net start "boot information negotiation layer"
回到頂端
Riprep 映像
Riprep 和 Sysprep 在功能上有許多相似之處,因此,為將要進行映像的計算機添加 OEM 即插即用驅動程序涉及的步驟,與針對 Sysprep 采取的步驟相似。在對映像計算機運行 Riprep 以將其復制到 RIS 服務器之前,請按照下列步驟操作: 1. 在 %SystemDrive% 文件夾上創建一個名為 Sysprep 的文件夾(這很可能是驅動器 C,因為 Riprep.exe 只能復制一個卷/分區)。
2. 在該卷的根目錄,創建一個文件夾結構以容納 OEM 提供的驅動程序。例如:
\Drivers
- - \network adapter
- - \VIDEO
\Sysprep
\WINNT
3. 將 OEM 提供的驅動程序復制到相應的子文件夾中。
4. 在 Sysprep 文件夾中創建一個 Sysprep.inf 文件,然后添加 [Unattended] 和 OemPnPDriversPath = Driver_Path 項。您可以在此項中列出多個路徑,并用分號 (;) 將它們分隔開。例如:
[Unattended]
OemPnPDriversPath = "Drivers\network adapter;Drivers\Video"
注意:%SystemDrive% 環境變量將自動插入到指定的每一個列出的搜索路徑的前面。
注意:如果該設備已被操作系統識別為已知設備或未知設備,則在運行 sysprep 之前,您必須通過設備管理器刪除該設備,否則在執行最小安裝期間將不會安裝更新的驅動程序。
5. 從客戶機上的 \\RisServer\Reminst\Admin\I386 文件夾中運行 Riprep.exe,以便將映像復制到選定的 RIS 服務器。Riprep 將在 Sysprep 文件夾中查找 Sysprep.inf 文件,讀取“OemPnPDriversPath=”項,然后在將計算機的注冊表復制到服務器之前更新其 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Devicepath 注冊表項,以便在執行最小安裝向導期間可以使用此項。
注意:在此過程中創建的默認 Riprep.sif 文件不受在前面步驟中創建的 Sysprep.inf 文件中的項的影響。
6. 在 RIS 服務器上停止然后重新啟動 BINL 服務。在命令提示符處鍵入下面的命令行:• “net stop "boot information negotiation layer"”(不帶最外層引號)
• “net start "boot information negotiation layer"”(不帶最外層引號)
注意:如果 OEM 提供的驅動程序中有一個是用于主網卡的,則在下載 Riprep 映像之前,RIS 服務器還必須從一般的 RIS 平面映像中提供此文件。如果是這種情況,您還必須按照本文“RIS 安裝”一節中介紹的步驟操作,或采用下面的 Microsoft 知識庫文章中介紹的過程:
246184 ( http://support.microsoft.com/kb/246184/) 如何將第三方 OEM 網絡適配器添加到 RIS 安裝
如果已創建好映像,并且您希望添加 OEM 提供的即插即用驅動程序,Microsoft 建議您使用 RIS 將該映像下載到一臺計算機上,按照前面的“Riprep 映像”一節中列出的步驟操作,然后通過 Riprep 將該映像返回到 RIS 服務器。
注意:這樣做有一個副作用,即驅動程序路徑在 Software\Microsoft\Windows\CurrentVersion\DevicePath 項中會被輸入兩次。
有關其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
258862 ( http://support.microsoft.com/kb/258862/) Riprep.exe 向注冊表中添加重復的路徑
回到頂端
現有 Windows 安裝
您可能需要向現有的、基于 Windows 并需要 OEM 提供的驅動程序的計算機添加新的硬件設備。盡管此過程要求您安裝新的設備,但您可能仍然希望讓 OEM 提供的驅動程序以可管理的方式分發,或讓它們集中放在一臺服務器上。為此,請按照下列步驟操作: 1. 決定是希望在本地復制驅動程序,還是希望將它們存儲在一臺集中分發服務器上。如果您想將驅動程序存儲在計算機的本地硬盤上,則必須執行一個將驅動程序復制到計算機的過程(例如,使用登錄腳本、Microsoft Systems Management Server (SMS) 批處理作業或其他方法)。
2. 確定分發方法以后,獲取這些設備驅動程序的路徑。如果您要在本地復制它們,則路徑可能會是 C:\Drivers\network adapter。如果要將它們復制到一個位于中心位置的服務器上,則路徑可能是 \服務器名\驅動程序\network adapter(其中驅動程序 是共享文件夾)。
3. 本地計算機注冊表中的 DevicePath 項必須更新,以反映出新的 OEM 驅動程序的位置。您必須設置一個遠程更新此注冊項的自動化方法。您可以將 Regedit 文件與登錄腳本或 SMS 批處理作業結合使用。DevicePath 項的默認值位于下面的注冊表項中:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath:REG_EXPAND_SZ:%SystemRoot%\Inf
4. 使用 Regedt32.exe 編輯 DevicePath 項,以便讓驅動程序所在的路徑包括在搜索路徑中。
警告:注冊表編輯器使用不當可導致嚴重問題,可能需要重新安裝操作系統。Microsoft 不能保證您可以解決因注冊表編輯器使用不當而導致的問題。使用注冊表編輯器需要您自擔風險。
例如,如果將這些驅動程序本地復制到 %WinDir% 文件夾所在的驅動器上的根目錄 (Drivers\network adapter),則 DevicePath 的最終值應是:
DevicePath:REG_EXPAND_SZ:%SystemRoot%\Inf;%SystemRoot%\Drivers\network adapter
如果這些驅動程序保存在位于中心位置的服務器或分發點上,您還要為 OEM 提供的驅動程序添加 UNC 路徑。例如:
DevicePath:REG_EXPAND_SZ:%SystemRoot%\Inf;\\服務器名\共享名\Drivers\network adapter
注意:因為安裝過程并不添加這些值,所以不會自動追加 %SystemRoot% 的值。在編輯注冊表時,必須手動鍵入 %SystemRoot% 的值。
在您完成了這些步驟并且已安裝新硬件后,當用戶登錄時,即插即用功能將找到此新硬件,并搜索您指定的設備路徑以找到 OEM 提供的驅動程序。請注意,適用于簽名/未簽名驅動程序的所有規則也都適用于在執行安裝程序后安裝的設備。如果新設備的 OEM 提供的驅動程序未經數字簽名,而且在安裝此新硬件后登錄到計算機上的用戶不是管理員,則該用戶將無法完成設備的驅動程序安裝,直到有管理員登錄到此計算機上。有關其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
219435 ( http://support.microsoft.com/kb/219435/) 無需管理員權限也可以加載和卸載設備驅動程序
注意:如果該設備已被操作系統識別為已知設備或未知設備,則在運行 sysprep 之前,您必須通過設備管理器刪除該設備,否則在執行最小安裝期間將不會安裝更新的驅動程序。
回到頂端
哥們,你說了這么多,我看得頭皮西昏,我要的是具體的制作過程