Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
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
欲取得更多詳細資訊,請查看相關章節:
- AMD64 和 Intel 64 systems:章 5, 在 AMD64 和 Intel 64 系統上啟動安裝程式
- IBM Power Systems 伺服器:章 10, 在 IBM Power Systems 上啟動安裝程序
- IBM system z:章 14, 在 IBM System z 上啟動安裝程序
過程 28.2. 開機進入安裝程式救援模式
- 由安裝或開機媒介啟動系統。
- 在開機選單上,從「疑難排解」子選單中選擇「救援一部 Red Hat Enterprise Linux 系統」選項,或附加
inst.rescue
選項至開機指令列上。若要進入開機指令列,請在基於 BIOS 的系統上按下 Tab 鍵,或是在基於 UEFI 的系統上按下 e 鍵。 - 若您的系統需要驅動程式光碟上提供協力廠商的驅動程式才能啟動,請將
inst.dd=driver_name
附加至開機指令列上:inst.rescue inst.dd=driver_name
欲取得更多在開機時使用驅動程式磁碟的資訊,請參閱〈節 4.3.3, “手動驅動程式更新”〉(AMD64 和 Intel 64 系統)或〈節 9.3.3, “手動驅動程式更新”〉(IBM Power Systems 伺服器)。 - 若有個屬於 Red Hat Enterprise Linux 7 發行版的驅動程式造成系統無法啟動,請將
modprobe.blacklist=
選項附加至開機指令列上:inst.rescue modprobe.blacklist=driver_name
欲取得更多有關於將驅動程式納入黑名單上的相關資訊,請參閱〈節 4.3.4, “將驅動程式納入黑名單”〉。 - 當準備好時,請按下 Enter(基於 BIOS 的系統)或是 Ctrl+X(基於 UEFI 的系統)以啟用修改過的選項。接著請等待下列訊息出現:
救援模式現在將會嘗試尋找您的 Linux 並將它掛載在
/mnt/sysimage
下。接著,您便可依照需求針對於您的系統進行變更。若您希望進行此步驟,請選擇「繼續」。與其將您的檔案系統掛載為可讀寫,您亦可透過選取唯讀「Read-only」來選擇將您的檔案系統掛載為唯讀。若基於某些原因造成此步驟失敗,您可選擇「跳過」,這將會略過此步驟,並且您將會直接進入一個指令列上。如果您選取「繼續」,它將會嘗試掛載您的檔案系統到/mnt/sysimage/
目錄下,如果無法掛載該分割區,系統將會提示您。如果您選取了「唯讀」,它則將會嘗試以唯讀的模式掛載檔案系統到/mnt/sysimage/
目錄下。如果您選取「略過」,您的檔案系統將不會被掛載,如果您認為您的檔案系統已毀損,請選擇「略過」。 - 當您的系統進入了安裝程式救援模式後,在虛擬主控台 1 與 2 會出現一個提示符號(使用 Ctrl+Alt+F1 按鍵組合來進入虛擬主控台 1,使用 Ctrl+Alt+F2 來進入虛擬主控台 2):
sh-4.2#
即使您的檔案系統已經被掛載了,安裝程式救援模式中的預設根目錄分割區只是暫時的根目錄分割區,而不是正常使用者模式(
multi-user.target
或 graphical.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 實體卷冊、卷冊群組或邏輯卷冊的名稱,請使用相應的
pvdisplay
、vgdisplay
或 lvdisplay
指令。
在提示符號下,您可以執行許多有用的指令,如:
ssh
,scp
與ping
:測試網路是否已啟動dump
與restore
:適用於擁有磁帶機的使用者parted
與fdisk
:用來管理分割區rpm
:用來安裝或升級軟體vi
:用以編輯設定檔
28.2.1. 截取 sosreport
sosreport
指令列工具程式會蒐集配置並診斷資訊(例如系統執行的 kernel 版本、載入的模組,以及系統與服務配置檔案。工具程式的輸出會被儲存在 /var/tmp/
目錄中的一個 tar 封存檔案中。
sosreport
工具程式對於分析系統錯誤來說相當有幫助,並且可能能夠簡化疑難排解的程序。以下程序詳述了如何在安裝程式救援模式中截取 sosreport
的輸出:
過程 28.3. 在安裝程式救援模式下使用 sosreport
- 依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的步驟啟動進入安裝程式救援模式。請確認您已將安裝的系統掛載為可讀寫模式。
- 將 root 目錄更改為
/mnt/sysimage/
目錄:sh-4.2#
chroot /mnt/sysimage/
- 執行
sosreport
以產生一個包含系統配置和診斷資訊的封存檔案:sh-4.2#
sosreport
重要
當執行時,sosreport
將會提示您輸入您的名稱,以及當您聯絡 Red Hat 支援客服,開啟支援案例時所得到的專案號碼。請只使用字母和數字,若加入以下任何字元或空格將會造成報告無法使用:# % & { } \ < > > * ? / $ ~ ' " : @ + ` | =
- 選用性。若您希望透過網路將產生的封存檔案傳輸至新的位置上,您必須要先配置好一個網路介面卡。若您使用了動態式的 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 網路指南》。 - 退出 chroot 環境:
sh-4.2#
exit
- 將產生的封存檔案儲存在一個容易存取的新位置上:
sh-4.2#
cp /mnt/sysimage/var/tmp/sosreport new_location
若要透過網路傳輸封存檔案,請使用scp
工具程式:sh-4.2#
scp /mnt/sysimage/var/tmp/sosreport username@hostname:sosreport
欲取得更多資訊請查看以下參照:
- 有關於
sosreport
的一般資訊,請查看〈什麼是 sosreport 以及如何在 Red Hat Enterprise Linux 4.6 和更新版本中建立它?〉。 - 有關於在安裝程式救援模式下使用
sosreport
,請查看〈如何由救援環境產生 sosreport〉。 - 有關於如何手動蒐集
sosreport
,請查看〈Sosreport 失敗。我該提供什麼資料來代替它?〉。
28.2.2. 重新安裝開機管理程式
在某些情況下,GRUB2 開機載入程式可能會不小心被刪除、損毀或被其它作業系統覆蓋過去。下列步驟詳述了如何在主開機記錄(MBR)上重新安裝 GRUB:
過程 28.4. 重新安裝 GRUB2 開機載入程式
- 依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的指示啟動進入安裝程式救援模式。請確認您已將安裝的系統掛載為可讀寫模式。
- 更改 root 分割區:
sh-4.2#
chroot /mnt/sysimage/
- 使用下列指令來重新安裝 GRUB2 開機載入程式,install_device 代表開機裝置(一般會是 /dev/sda):
sh-4.2#
/sbin/grub2-install install_device
- 重新啟動系統。
28.2.3. 使用 RPM 新增、移除或取代驅動程式
驅動程式遺失或運作異常皆會讓系統無法正常啟動。安裝程式救援模式提供的環境,能讓使用者就算在系統無法啟動的情況下,也能新增、移除、或替換驅動程式。可能的話,我們建議您使用 RPM 套件管理員來移除運作異常驅動程式,或新增新版或尚未安裝的驅動程式。
注意
請注意,當您從驅動程式光碟安裝驅動程式時,驅動程式光碟會更新系統上的所有 initramfs,以使用這組驅動程式。如果有一組驅動程式造成系統無法開機,您將無法依賴另一個 initramfs 映像檔來啟動系統。
過程 28.5. 使用 RPM 來移除驅動程式
- 啟動系統進入安裝程式救援模式中。依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的指示進行。請確認您使用了可讀寫模式來掛載已安裝的系統。
- 將 root 目錄更改為
/mnt/sysimage/
:sh-4.2#
chroot /mnt/sysimage/
- 使用
rpm -e
指令來將驅動程式套件移除。比方說,若要移除 xorg-x11-drv-wacom 驅動程式套件,請執行:sh-4.2#
rpm -e xorg-x11-drv-wacom
- 退出 chroot 環境:
sh-4.2#
exit
若您基於某些原因無法移除出錯的驅動程式,您可將該驅動程式納入黑名單(blacklist)來代替,如此一來它便不會在開機時載入。欲取得更多有關於黑名單上的相關資訊,請參閱〈節 4.3.4, “將驅動程式納入黑名單”〉和〈章 20, 開機選項〉。
安裝驅動程式的程序大同小異,不過 RPM 套件必須在系統上:
過程 28.6. 由 RPM 套件安裝驅動程式
- 啟動系統進入安裝程式救援模式中。依照〈過程 28.2, “開機進入安裝程式救援模式”〉中的指示進行。請勿將已安裝的系統掛載為唯讀。
- 請使包含了驅動程式的 RPM 套件有效化。比方說,掛載 CD 或 USB 卸除式磁碟,並將 RPM 套件複製至您在
/mnt/sysimage/
下所選擇的位置,例如:/mnt/sysimage/root/drivers/
。 - 將 root 目錄更改為
/mnt/sysimage/
:sh-4.2#
chroot /mnt/sysimage/
- 請使用
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/
目錄。 - 退出 chroot 環境:
sh-4.2#
exit
當您完成移除、安裝驅動程式後,請重新開機。