1. 程式人生 > >驅動無法安裝成功的解決辦法

驅動無法安裝成功的解決辦法

經過幾天的努力,終於解決了驅動安裝不成功的問題,原因是出在作業系統上面,只有有些GHOST作業系統不能安裝此驅動程式,問題就出在GHOST系統之間以及GHOST系統和正常安裝系統之間存在什麼區別,分析了幾百個回合,最後終於發現問題的根本所在:GHOST為了實現快速安裝作業系統,中間省掉了很多系統檔案,經過分析,解決辦法出爐:在登錄檔中加入以下項即可:

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce]

再次安裝驅動成功!

最後附上登錄檔的一些語法:

概要
警告:登錄檔編輯器使用不當可導致嚴重問題,可能需要重新安裝作業系統。Microsoft 不能保證您可以解決因登錄檔編輯器使用不當而導致的問題。使用登錄檔編輯器需要您自擔風險。
本文分步介紹瞭如何使用註冊項 (.reg) 檔案新增、修改或刪除登錄檔子項和值。Regedit.exe 使用 .reg 檔案匯入和匯出登錄檔子項和值。您可以使用這些 .reg 檔案將登錄檔更改遠端分發到多臺基於 Windows 的計算機上。當您執行某個 .reg 檔案時,該檔案的內容就會合併到本地登錄檔中。因此,分發 .reg 檔案時必須格外小心。

.Reg 檔案的語法
.reg 檔案具有以下語法:

RegistryEditorVersion
Blank line
[RegistryPath1]
"DataItemName1"="DataType1:DataValue1"
DataItemName2"="DataType2:DataValue2"
Blank line
[RegistryPath2]
"DataItemName3"="DataType3:DataValue3"

其中:

RegistryEditorVersion 是“Windows Registry Editor Version 5.00”(對於 Windows 2000、Windows XP 和 Windows Server 2003)或“REGEDIT4”(對於 Windows 98 和 Windows NT 4.0)。“REGEDIT4”表頭也適用於基於 Windows 2000、Windows XP 和 Windows Server 2003 的計算機。

Blank line 就是一個空行。它標識新的登錄檔路徑的開始。每個項或子項都是一個新的登錄檔路徑。如果 .reg 檔案中有多個項,空白行可以幫助您檢查內容和排查其中的問題。

RegistryPathx 是存放要匯入的第一個值的子項的路徑。請用方括號將路徑括起來,並用反斜槓將層次結構的各個級別隔開。例如:
[HKEY_LOCAL_ MACHINE/SOFTWARE/Policies/Microsoft/Windows/System]
一個 .reg 檔案可以包含多個登錄檔路徑。如果登錄檔中不存在路徑語句中底層的層次結構,將建立一個新的子項。登錄檔檔案的內容將按照它們的輸入順序傳送到登錄檔。因此,如果您要新建一個包含另一子項的子項,必須按正確的順序輸入行。

DataItemNamex 是要匯入的資料項的名稱。如果檔案中的資料項在登錄檔中不存在,.reg 檔案將新增該資料項及其值。如果資料項存在,.reg 檔案中的值將覆蓋現有的值。資料項的名稱用引號引起來。資料項名稱後緊跟著一個等號 (=)。

DataTypex 是登錄檔值的資料型別,緊跟在等號後面。對於 REG_SZ(字串值)以外的所有資料型別,資料型別後都緊跟一個冒號。如果資料型別是 REG_SZ,則不包括資料型別值或冒號。在這種情況下,Regedit.exe 假定資料型別為 REG_SZ。下表列出了典型的登錄檔資料型別:資料型別 .reg 中的資料型別
REG_BINARY hexadecimal
REG_DWORD dword
REG_EXPAND_SZ hexadecimal(2)
REG_MULTI_SZ hexadecimal(7)
有關注冊表資料型別的更多資訊,請單擊下面的文章編號,以檢視 Microsoft 知識庫中相應的文章:
256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 登錄檔說明
DataValuex 緊跟在冒號(對於 REG_SZ,則為等號)後面,並且格式必須正確(例如,字串或十六進位制)。對二進位制資料項使用十六進位制格式。

注意:可以為同一個登錄檔路徑輸入多個數據項行。

添加註冊表子項或新增和更改登錄檔值

要添加註冊表子項或新增/更改登錄檔值,請在登錄檔中進行相應的更改,然後匯出相應的一個或多個子項。匯出的登錄檔子項自動另存為 .reg 檔案。要對登錄檔進行更改並將更改匯出到 .reg 檔案,請按照下列步驟操作: 1. 單擊“開始”,單擊“執行”,在“開啟”框中鍵入 regedit,然後單擊“確定”。
2. 找到並單擊存放要更改的登錄檔項的子項。
3. 單擊“檔案”,然後單擊“匯出”。

此步驟在您進行更改之前備份子項。如果所做更改產生問題,您可以隨後將此檔案重新匯入登錄檔。
4. 在“檔名”框中,鍵入用於儲存包含原始登錄檔項的 .reg 檔案的檔名,然後單擊“儲存”。

注意:請使用能提示其內容的名稱,例如,可引用該子項的名稱。
5. 在右窗格中,新增或修改所需的登錄檔項。
6. 重複步驟 3 和步驟 4,再次匯出該子項,但是對該 .reg 檔案使用不同的檔名。可以使用此 .reg 檔案在其他計算機上對登錄檔進行更改。
7. 在本地計算機上測試所做更改。如果它們產生問題,請雙擊存放原始登錄檔資料備份的檔案,以將登錄檔返回到其原始狀態。如果更改起到預期作用,則可以使用本文分發登錄檔更改一節中的方法將您在步驟 6 中建立的 .reg 檔案分發給其他計算機。

刪除登錄檔項和值

要使用 .reg 檔案刪除登錄檔項,請在 .reg 檔案中的 RegistryPath 前放置一個連字元 (-)。例如,要從以下注冊表項中刪除 Test 子項:
HKEY_LOCAL_MACHINE/Software
請在 .reg 檔案中的以下注冊表項前放置一個連字元:
HKEY_LOCAL_MACHINE/Software/Test
以下示例就是一個可以執行此任務的 .reg 檔案。
[-HKEY_LOCAL_MACHINE/Software/Test]
要使用 .reg 檔案刪除登錄檔值,請在 .reg 檔案中的 DataItemName 後的等號後放置一個連字元 (-)。例如,要從以下注冊表項中刪除 TestValue 登錄檔值:
HKEY_LOCAL_MACHINE/Software/Test
請在 .reg 檔案中的 "TestValue"= 後面放置一個連字元。以下示例就是一個可以執行此任務的 .reg 檔案。
HKEY_LOCAL_MACHINE/Software/Test
"TestValue"=-
要建立 .reg 檔案,請使用 Regedit.exe 匯出要刪除的登錄檔項,然後使用記事本編輯 .reg 檔案並插入連字元。

重新命名登錄檔項和值

要重新命名項或值,請刪除該項或值,然後建立一個具有新名稱的新項或新值。

分發登錄檔更改

您可以通過電子郵件將 .reg 檔案傳送給使用者;將 .reg 檔案放到網路共享上並指導使用者到網路共享上執行它;或者向用戶的登入指令碼中新增命令以便在他們登入時自動匯入 .reg 檔案。當用戶執行 .reg 檔案時,他們會收到以下訊息:
登錄檔編輯器
是否確認要將 path of .reg file 中的資訊新增進登錄檔?
如果使用者單擊“是”,將會收到以下訊息:
登錄檔編輯器
.reg 檔案路徑裡的資訊已被成功地輸入登錄檔。
Regedit.exe 支援 /s 命令列開關,以便不顯示這些訊息。例如,要從登入指令碼批處理檔案以無提示方式執行 .reg 檔案(使用 /s 開關),請使用以下語法:
regedit.exe /s path of .reg file
還可以使用“組策略”或“系統策略”將登錄檔更改在網路上分發。有關其他資訊,請訪問下面的 Microsoft 網站:
http://msdn.microsoft.com/library/en-us/dnw2kmag01/html/DistributingRegistryChanges.asp(http://msdn.microsoft.com/library/en-us/dnw2kmag01/html/DistributingRegistryChanges.asp)

注意:如果更改有效,可將該註冊檔案傳送給網路上適當的使用者。