28.2. 安裝程式救援模式

安裝程式救援模式乃一個能由 Red Hat Enterprise Linux 7 DVD 或其它開機媒介啟動的最小型 Linux 環境。它包含了用來修復許多問題的指令列工具程式。安裝程式救援模式能透過安裝程式開機選單的「疑難排解」子選單存取。在此模式中,您可將檔案系統掛載為唯讀,或甚至是根本不掛載它們、新增或將驅動程式光碟上所提供的驅動程式納入黑名單、安裝或升級系統套件,或管理分割區。

注意

請注意不要將安裝程式救援模式(installer rescue mode)和救援模式(rescue mode)(相當於單使用者模式)以及緊急模式(emergency mode)(屬於 systemd 系統與服務管理程式的一部份)搞混。欲取得更多有關於這些模式上的相關資訊,請查看《Red Hat Enterprise Linux 7 系統管理員指南》。
若要開機進入安裝程式救援模式,您必須要能夠使用以下媒介之一啟動系統:
  • 開機 CD-ROM 或 DVD
  • 其它安裝開機媒介,例如 USB 卸除式裝置
  • Red Hat Enterprise Linux 安裝 DVD
欲取得更多詳細資訊,請查看相關章節:

過程 28.2. 開機進入安裝程式救援模式

  1. 由安裝或開機媒介啟動系統。
  2. 在開機選單上,從「疑難排解」子選單中選擇「救援一部 Red Hat Enterprise Linux 系統」選項,或附加 inst.rescue 選項至開機指令列上。若要進入開機指令列,請在基於 BIOS 的系統上按下 Tab 鍵,或是在基於 UEFI 的系統上按下 e 鍵。
  3. 若您的系統需要驅動程式光碟上提供協力廠商的驅動程式才能啟動,請將 inst.dd=driver_name 附加至開機指令列上:
    inst.rescue inst.dd=driver_name
    欲取得更多在開機時使用驅動程式磁碟的資訊,請參閱〈節 4.3.3, “手動驅動程式更新”〉(AMD64 和 Intel 64 系統)或〈節 9.3.3, “手動驅動程式更新”〉(IBM Power Systems 伺服器)。
  4. 若有個屬於 Red Hat Enterprise Linux 7 發行版的驅動程式造成系統無法啟動,請將 modprobe.blacklist= 選項附加至開機指令列上:
    inst.rescue modprobe.blacklist=driver_name
    欲取得更多有關於將驅動程式納入黑名單上的相關資訊,請參閱〈節 4.3.4, “將驅動程式納入黑名單”〉。
  5. 當準備好時,請按下 Enter(基於 BIOS 的系統)或是 Ctrl+X(基於 UEFI 的系統)以啟用修改過的選項。接著請等待下列訊息出現:
    救援模式現在將會嘗試尋找您的 Linux 並將它掛載在 /mnt/sysimage 下。接著,您便可依照需求針對於您的系統進行變更。若您希望進行此步驟,請選擇「繼續」。與其將您的檔案系統掛載為可讀寫,您亦可透過選取唯讀「Read-only」來選擇將您的檔案系統掛載為唯讀。若基於某些原因造成此步驟失敗,您可選擇「跳過」,這將會略過此步驟,並且您將會直接進入一個指令列上。
    
    如果您選取「繼續」,它將會嘗試掛載您的檔案系統到 /mnt/sysimage/ 目錄下,如果無法掛載該分割區,系統將會提示您。如果您選取了「唯讀」,它則將會嘗試以唯讀的模式掛載檔案系統到 /mnt/sysimage/ 目錄下。如果您選取「略過」,您的檔案系統將不會被掛載,如果您認為您的檔案系統已毀損,請選擇「略過」。
  6. 當您的系統進入了安裝程式救援模式後,在虛擬主控台 1 與 2 會出現一個提示符號(使用 Ctrl+Alt+F1 按鍵組合來進入虛擬主控台 1,使用 Ctrl+Alt+F2 來進入虛擬主控台 2):
    sh-4.2#
即使您的檔案系統已經被掛載了,安裝程式救援模式中的預設根目錄分割區只是暫時的根目錄分割區,而不是正常使用者模式(multi-user.targetgraphical.target)檔案系統所使用的根目錄分割區。如果您選擇要掛載您的檔案系統而且掛載順利,您可以藉由下列指令,來將安裝程式救援模式環境的根目錄分割區,更改為您檔案系統的根目錄分割區:
sh-4.2# chroot /mnt/sysimage
這個方法適用於您需要執行例如 rpm 的指令時(需要您的根目錄分割區掛載為 /)。如要離開 chroot 的環境,請輸入 exit,您則會回到提示符號。
如果您選擇「略過」,您仍然可以在安裝程式救援模式中試著手動掛載分割區或 LVM2 邏輯空間,您只要建立一個例如 /directory/ 的目錄,然後輸入以下指令即可:
sh-4.2# mount -t xfs /dev/mapper/VolGroup00-LogVol02 /directory
在上述指令當中,/directory/ 代表您已建立的目錄,並且 /dev/mapper/VolGroup00-LogVol02 代表您希望掛載的 LVM2 邏輯卷冊。若分割區類型不是 XFS 的話,請將 xfs 替換為正確的類型(例如 ext4)。
如果您不知道實體分割區的名稱,請使用下列指令來將它們列出:
sh-4.2# fdisk -l
若您不知道所有 LVM2 實體卷冊、卷冊群組或邏輯卷冊的名稱,請使用相應的 pvdisplayvgdisplaylvdisplay 指令。
在提示符號下,您可以執行許多有用的指令,如:
  • ssh,scpping:測試網路是否已啟動
  • dumprestore:適用於擁有磁帶機的使用者
  • partedfdisk:用來管理分割區
  • rpm:用來安裝或升級軟體
  • vi:用以編輯設定檔

28.2.1. 截取 sosreport

sosreport 指令列工具程式會蒐集配置並診斷資訊(例如系統執行的 kernel 版本、載入的模組,以及系統與服務配置檔案。工具程式的輸出會被儲存在 /var/tmp/ 目錄中的一個 tar 封存檔案中。
sosreport 工具程式對於分析系統錯誤來說相當有幫助,並且可能能夠簡化疑難排解的程序。以下程序詳述了如何在安裝程式救援模式中截取 sosreport 的輸出:

過程 28.3. 在安裝程式救援模式下使用 sosreport

  1. 依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的步驟啟動進入安裝程式救援模式。請確認您已將安裝的系統掛載為可讀寫模式。
  2. 將 root 目錄更改為 /mnt/sysimage/ 目錄:
    sh-4.2# chroot /mnt/sysimage/
  3. 執行 sosreport 以產生一個包含系統配置和診斷資訊的封存檔案:
    sh-4.2# sosreport

    重要

    當執行時,sosreport 將會提示您輸入您的名稱,以及當您聯絡 Red Hat 支援客服,開啟支援案例時所得到的專案號碼。請只使用字母和數字,若加入以下任何字元或空格將會造成報告無法使用:
    # % & { } \ < > > * ? / $ ~ ' " : @ + ` | =
  4. 選用性。若您希望透過網路將產生的封存檔案傳輸至新的位置上,您必須要先配置好一個網路介面卡。若您使用了動態式的 IP 定址,您將無需進行其它步驟。然而,當使用靜態定址時,請執行下列指令以指定一組 IP 位址(例如 10.13.153.64/23)給網路介面卡(例如 dev eth0):
    bash-4.2# ip addr add 10.13.153.64/23 dev eth0
    更多有關於靜態定址上的相關資訊,請參閱《 Red Hat Enterprise Linux 7 網路指南》。
  5. 退出 chroot 環境:
    sh-4.2# exit
  6. 將產生的封存檔案儲存在一個容易存取的新位置上:
    sh-4.2# cp /mnt/sysimage/var/tmp/sosreport new_location
    若要透過網路傳輸封存檔案,請使用 scp 工具程式:
    sh-4.2# scp /mnt/sysimage/var/tmp/sosreport username@hostname:sosreport
欲取得更多資訊請查看以下參照:

28.2.2. 重新安裝開機管理程式

在某些情況下,GRUB2 開機載入程式可能會不小心被刪除、損毀或被其它作業系統覆蓋過去。下列步驟詳述了如何在主開機記錄(MBR)上重新安裝 GRUB:

過程 28.4. 重新安裝 GRUB2 開機載入程式

  1. 依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的指示啟動進入安裝程式救援模式。請確認您已將安裝的系統掛載為可讀寫模式。
  2. 更改 root 分割區:
    sh-4.2# chroot /mnt/sysimage/
  3. 使用下列指令來重新安裝 GRUB2 開機載入程式,install_device 代表開機裝置(一般會是 /dev/sda):
    sh-4.2# /sbin/grub2-install install_device
  4. 重新啟動系統。

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

驅動程式遺失或運作異常皆會讓系統無法正常啟動。安裝程式救援模式提供的環境,能讓使用者就算在系統無法啟動的情況下,也能新增、移除、或替換驅動程式。可能的話,我們建議您使用 RPM 套件管理員來移除運作異常驅動程式,或新增新版或尚未安裝的驅動程式。

注意

請注意,當您從驅動程式光碟安裝驅動程式時,驅動程式光碟會更新系統上的所有 initramfs,以使用這組驅動程式。如果有一組驅動程式造成系統無法開機,您將無法依賴另一個 initramfs 映像檔來啟動系統。

過程 28.5. 使用 RPM 來移除驅動程式

  1. 啟動系統進入安裝程式救援模式中。依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的指示進行。請確認您使用了可讀寫模式來掛載已安裝的系統。
  2. 將 root 目錄更改為 /mnt/sysimage/
    sh-4.2# chroot /mnt/sysimage/
  3. 使用 rpm -e 指令來將驅動程式套件移除。比方說,若要移除 xorg-x11-drv-wacom 驅動程式套件,請執行:
    sh-4.2# rpm -e xorg-x11-drv-wacom
  4. 退出 chroot 環境:
    sh-4.2# exit
若您基於某些原因無法移除出錯的驅動程式,您可將該驅動程式納入黑名單(blacklist)來代替,如此一來它便不會在開機時載入。欲取得更多有關於黑名單上的相關資訊,請參閱〈節 4.3.4, “將驅動程式納入黑名單”〉和〈章 20, 開機選項〉。
安裝驅動程式的程序大同小異,不過 RPM 套件必須在系統上:

過程 28.6. 由 RPM 套件安裝驅動程式

  1. 啟動系統進入安裝程式救援模式中。依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的指示進行。請勿將已安裝的系統掛載為唯讀。
  2. 請使包含了驅動程式的 RPM 套件有效化。比方說,掛載 CD 或 USB 卸除式磁碟,並將 RPM 套件複製至您在 /mnt/sysimage/ 下所選擇的位置,例如:/mnt/sysimage/root/drivers/
  3. 將 root 目錄更改為 /mnt/sysimage/
    sh-4.2# chroot /mnt/sysimage/
  4. 請使用 rpm -ivh 指令來安裝驅動程式套件。比方說,若要由 /root/drivers/ 安裝 xorg-x11-drv-wacom 驅動程式套件,請執行:
    sh-4.2# rpm -­ivh /root/drivers/xorg-x11-drv-wacom-0.23.0-6.el7.x86_64.rpm

    注意

    在此 chroot 環境中的 /root/drivers/ 目錄乃原始救援環境中的 /mnt/sysimage/root/drivers/ 目錄。
  5. 退出 chroot 環境:
    sh-4.2# exit
當您完成移除、安裝驅動程式後,請重新開機。