36.3. 透過救援模式修正或修復驅動程式問題

找不到驅動程式,或驅動程式運作異常會讓系統無法正常開機。救援模式提供的環境能讓使用者在系統無法啟動的情況下,新增、移除、或取代驅動程式。可能的話,我們建議您使用 RPM 套件管理員來移除運作異常驅動程式,或新增新版或尚未安裝的驅動程式。如果您因為某些原因無法移除運作異常的驅動程式,您可以將驅動程式放入「黑名單」(blacklist)裡,這樣開機時就不會載入這些驅動程式。
請注意,當您從「驅動程式磁碟」安裝驅動程式時,驅動程式磁碟會更新系統上的所有 initramfs,以使用這組驅動程式。如果有一組驅動程式會讓系統無法開機,那您無法靠著用另一個 initramfs 映像檔啟動系統。

36.3.1. 使用 RPM 新增、移除或取代驅動程式

在救援模式中,您可以使用 RPM 來安裝、移除、或更新套件,即使您沒有啟動系統亦然。要移除運作異常的驅動程式:
  1. 在開機提示符號下輸入 linux rescue 指令,啟動系統至救援模式;如果您需要從驅動程式磁碟載入協力廠商的驅動程式,請輸入 linux rescue dd 指令。請遵循〈節 36.1.2, “開機進入救援模式”〉裡的指示,但「不要」以唯讀方式掛載已安裝的系統。
  2. 將 root 目錄更改為 /mnt/sysimage/
    chroot /mnt/sysimage/
  3. 使用 rpm -e 指令來將驅動程式套件移除。比方說,若要移除 kmod-foobar 驅動程式套件,請執行:
    rpm -e kmod-foobar
  4. 退出 chroot 環境:
    exit
安裝驅動程式為相似的程序,不過系統上必須擁有包含了驅動程式的 RPM 套件。
  1. 在開機提示符號下輸入 linux rescue 指令,啟動系統至救援模式;如果您需要從驅動程式磁碟載入協力廠商的驅動程式,請輸入 linux rescue dd 指令。請遵循〈節 36.1.2, “開機進入救援模式”〉裡的指示,但「不要」以唯讀方式掛載已安裝的系統。
  2. 請使包含了驅動程式的 RPM 套件有效化。比方說,掛載 CD 或 USB 卸除式磁碟,並將 RPM 套件複製至您在 /mnt/sysimage/ 下所選擇的位置,例如:/mnt/sysimage/root/drivers/
  3. 將 root 目錄更改為 /mnt/sysimage/
    chroot /mnt/sysimage/
  4. 請使用 rpm -ivh 指令來安裝驅動程式套件。比方說,若要由 /root/drivers/ 安裝 kmod-foobar 驅動程式套件,請執行:
    rpm -­ivh /root/drivers/kmod-foobar-­1.2.0­4.17.el6.i686
    請注意,此 chroot 環境中的 /root/drivers/,在原始的救援環境中為 /mnt/sysimage/root/drivers/
當您完成移除、安裝驅動程式後,請重新開機。