章 28. 一般問題和解決方案

目錄

28.1. 尋找並收集資訊
28.2. 安裝問題
28.3. 開機問題
28.4. 登入問題
28.5. 網路問題
28.6. 資料問題

本章節介紹一些可能會發生的問題及其解決方案。即使這裡沒有與您完全相同的情況,或許可以從類似情況中獲得一些提示,來解決您遇到的問題。

28.1. 尋找並收集資訊

Linux 會非常詳細地報告事件。當系統發生問題時,可以從幾個地方查看相關資訊,主要是 Linux 系統的標準記錄檔,也有與 SUSE Linux Enterprise Desktop 系統相關的記錄檔。大部分記錄檔都可以透過 YaST (其他+檢視開機記錄) 進行檢視。

YaST 可讓您收集支援團隊所需的所有系統資訊。使用其他+支援,然後選取問題類別。在收集到所有資訊之後,將此份資訊連結到您的支援要求。

以下是最常查看的記錄檔案清單,以及它們各自的一般用途。包含 ~ 的路徑表示目前使用者的主目錄。

表格 28.1. 記錄檔案

Log File

描述

~/.xsession-errors

來自目前執行中桌上應用程式的訊息。

/var/log/apparmor/

來自 AppArmor 的記錄檔案,請參閱第 IV 部分「Confining Privileges with Novell AppArmor」 (↑Security Guide) 以獲得詳細資訊。

/var/log/audit/audit.log

來自 Audit 的記錄檔案,可追蹤對檔案、目錄或系統資源的存取,並追蹤系統呼叫。

/var/log/boot.msg

開機程序期間報告的來自核心的訊息。

/var/log/mail.*

來自郵件系統的訊息。

/var/log/messages

執行時來自核心與系統記錄精靈的即時訊息。

/var/log/NetworkManager

NetworkManager 中的記錄檔,用於收集網路連接性的問題

/var/log/samba/

目錄包含 Samba 伺服器和用戶端記錄訊息。

/var/log/SaX.log

來自 SaX 顯示器與 KVM 系統的硬體訊息。

/var/log/warn

來自核心和系統記錄精靈的所有訊息,均為「警告」或以上等級。

/var/log/wtmp

二進位檔案包含使用者對於目前機器工作階段的登入記錄。請以 last 檢視。

/var/log/Xorg.*.log

來自 X Window System 的多種啟動和執行時期記錄。對於 X 啟動失敗的除錯非常實用。

/var/log/YaST2/

目錄包含 YaST 的動作與結果。

/var/log/zypper.log

zypper 的記錄檔案。


與記錄檔不同的是,您的機器亦提供您執行中系統的資訊。請參閱表格 28.2: /proc 檔案系統的系統資訊

表格 28.2. /proc 檔案系統的系統資訊

檔案

描述

/proc/cpuinfo

包含處理器資訊,如類型、廠商、型號與效能。

/proc/dma

顯示目前使用的 DMA 頻道。

/proc/interrupts

顯示使用中的岔斷,以及每種岔斷正在使用的數量。

/proc/iomem

顯示 I/O (輸入/輸出) 記憶體的狀態。

/proc/ioports

顯示此時正在使用的 I/O 連接埠。

/proc/meminfo

顯示記憶體狀態。

/proc/modules

顯示個別模組。

/proc/mounts

顯示目前掛接的設備。

/proc/partitions

顯示所有硬碟的分割區。

/proc/version

顯示目前的 Linux 版本。


除了 /proc 檔案系統,Linux 核心還會輸出 sysfs 模組 (記憶體內檔案系統) 的相關資訊。此模組代表核心物件及其屬性和關係。如需有關 sysfs 的詳細資訊,請參閱第 13 章「使用 udev 進行動態核心設備管理 中 udev 的相關內容。表格 28.3 提供了 /sys 下最常用目錄的綜覽。

表格 28.3. /sys 檔案系統的系統資訊

檔案

描述

/sys/block

包含系統中探查到之每個區塊設備的子目錄。一般情況下,大部分設備都是磁碟類型的設備。

/sys/bus

包含每種實體匯流排類型的子目錄。

/sys/class

包含組合為功能型設備 (如圖形、網路和印表機等) 的多個子目錄

/sys/device

包含全域設備階層。


Linux 隨附多種工具可進行系統分析和監控。請參閱第 2 章「System Monitoring Utilities」 (↑系統分析與調整指南) 以取得用於系統診斷最重要的選項。

下面的每種情境所採用的編排順序是,先在標題中描述問題,隨後用一兩個段落提供建議的解決方案、詳細解決方案的參考資料,以及對其他相關情境的交叉參照。

28.2. 安裝問題

安裝問題是安裝機器時失敗的一個狀況。可能是徹底失敗,也可能是無法啟動圖形安裝程式。本節重點介紹了您可能會遭遇的一般性問題,並對這些狀況提供了可能的解決方案或處理方式。

28.2.1. 檢查媒體

若您在使用 SUSE Linux Enterprise Desktop 安裝媒體時遇到問題,請使用軟體+媒體檢查檢查安裝媒體的完整性。出現媒體問題可能性較大的是您自己燒錄的媒體。若要檢查 SUSE Linux Enterprise Desktop 媒體,請將其插入磁碟機,並按一下 YaST媒體檢查畫面中的開始檢查。這可能會花費幾分鐘。如果偵測到錯誤,請勿使用此媒體來進行安裝。

圖形 28.1. 檢查媒體

檢查媒體

28.2.2. 硬體資訊

使用硬體+硬體資訊 顯示偵測到的硬碟和技術資料。按一下樹狀結構的任何節點,取得關於設備的更多資訊。提交需要提供硬體資訊的支援請求時,這個模組特別有用。

按一下儲存至檔案將顯示的硬體資訊儲存至檔案。選取想要的目錄和檔案名稱,然後按一下儲存來建立檔案。

圖形 28.2. 顯示硬體資訊

顯示硬體資訊

28.2.3. 無可用的可開機 DVD 磁碟機

如果您的電腦沒有可開機的 DVD-ROM 磁碟機,或是 Linux 不支援您的磁碟機,可以利用幾個選項在不使用內建 DVD 磁碟機的情況下安裝機器:

從磁片開機

建立開機磁片並從磁片而非 DVD 開機。

使用外接開機設備

如果 BIOS 和安裝核心支援,您可以從外接 DVD 磁碟機開機。

透過 PXE 以網路開機

如果機器沒有 DVD 磁碟機,但提供可用的乙太網路連線,則可採用全網路式安裝。請參閱第 11.1.3 節「Remote Installation via VNC—PXE Boot and Wake on LAN」 (第 11 章「Remote Installation」, ↑部署指南)和第 11.1.6 節「Remote Installation via SSH—PXE Boot and Wake on LAN」 (第 11 章「Remote Installation」, ↑部署指南)以取得詳細資料。

28.2.3.1. 從磁片 (SYSLINUX) 開機

在某些舊型電腦上,沒有可用的可開機 DVD 磁碟機,只有軟碟機。若要在這類系統上安裝,請建立開機磁片並以此開機。

開機磁片包括 SYSLINUX 載入程式與 linuxrc 程式。SYSLINUX 允許在啟動程序選取核心以及硬體需要的任何參數。linuxrc 程式可以為您的硬體載入核心模組,然後開始安裝。

從開機磁片開機時,會由 SYSLINUX 載入器 (syslinux 套件) 起始開機程序。系統啟動時,SYSLINUX 會執行最小的硬體偵測,主要包括以下步驟:

  1. 程式檢查 BIOS 是否提供 VESA 2.0–相容的框架緩衝區支援,然後啟動核心。

  2. 讀取監視器資料 (DDC 資訊)。

  3. 開機載入程式設定時,會讀取第一個硬碟的第一個區塊 (MBR),將 BIOS ID 對應至 Linux 設備名稱。程式嘗試透過 BIOS 的 lba32 功能讀取區塊,判斷 BIOS 是否支援這些功能。

如果啟動 SYSLINUX 時,您一直按住 Shift,會略過所有這些步驟。基於疑難排解用途,請插入以下一行文字

verbose 1

syslinux.cfg,讓啟動載入器顯示目前執行的動作。

如果機器未從磁片開機,您可能需要將 BIOS 的啟動順序變更成 A,C,CDROM

28.2.3.2. 外接開機設備

Linux 支援大部分現有的 DVD 磁碟機。如果系統既沒有 DVD 磁碟機也沒有軟碟機,仍然可以使用 USB、FireWire 或 SCSI 來連接外接式 DVD 磁碟機,以執行系統開機。這操作主要依賴 BIOS 與所用硬體之間的互動。如果您遭遇到問題,有時更新 BIOS 可能會有幫助。

28.2.4. 從安裝媒體開機失敗

機器無法開機安裝媒體的一個原因可能是 BIOS 中的開機順序設定不正確。在 BIOS 開機順序中,必須將 DVD 磁碟機設為開機的第一項。否則機器會嘗試從其他媒體開機,一般會從硬碟開機。有關變更 BIOS 開機順序的指導,可參閱隨主機板提供的文件,也可參閱下文段落。

BIOS 是提供電腦最基本功能的軟體。主機板供應商會針對自己的硬體提供特製的 BIOS。通常,BIOS 設定只可在特定時間 (機器開機時) 進行存取。在這個啟始化階段,機器會執行一些硬體診斷測試。其中之一是記憶體檢查,由記憶體計數器指示。當計數器出現時,請尋找指示按下按鍵來存取 BIOS 設定的一行文字,通常在計數器下方或底端某個位置。要按的鍵通常是 DelF1Esc 中的一個。請按住這個按鍵,直到 BIOS 設定畫面出現為止。

過程 28.1. 變更 BIOS 開機順序

  1. 使用開機常式所宣告的正確按鍵進入 BIOS,等待 BIOS 畫面出現。

  2. 要變更 AWARD BIOS 中的開機順序,請尋找 BIOS FEATURES SETUP (BIOS 功能設定) 項目。其他製造商可能使用不同的名稱,例如 ADVANCED CMOS SETUP (進階 CMOS 設定)。當您找到該項目後,請選取並按 Enter 確認。

  3. 在隨後開啟的畫面中,找到BOOT SEQUENCEBOOT ORDER(開機順序) 子項目。開機順序通常顯示為 C,AA,C。在前一種情況,機器首先搜尋硬碟 (C),然後是軟碟機 (A) 來尋找可開機媒體。請按 PgUpPgDown 鍵來變更設定,直到順序改成 A,CDROM,C 為止。

  4. 請按 Esc 來離開 BIOS 設定畫面。若要儲存變更,請選取SAVE & EXIT SETUP(儲存並結束設定),或者按 F10。要確認儲存設定,請按 Y

過程 28.2. 在 SCSI BIOS (Adaptec 主機介面卡) 中變更開機順序

  1. Ctrl+A 開啟設定。

  2. 選取磁碟公用程式。連接的硬體元件隨即顯示。

    記下您 DVD 磁碟機的 SCSI ID。

  3. 使用 Esc 離開功能表。

  4. 開啟 Configure Adapter Settings (設定介面卡設定)。在 Additional Options (其他選項) 下,請選取 Boot Device Options (開機設備選項),然後按 Enter

  5. 輸入 DVD 磁碟機的 ID,然後再按 Enter

  6. 按兩下 Esc 回到 SCSI BIOS 的開始畫面。

  7. 退出這個畫面,接著按 Yes (是) 來啟動電腦。

不管您最終安裝使用的語言和鍵盤配置為何,大部分的 BIOS 組態均使用美國鍵盤配置,如下圖所示:

圖形 28.3. 美國鍵盤配置

美國鍵盤配置

28.2.5. 無法開機

有些硬體類型 (多半是極舊或極新的機型) 無法安裝。在許多情況中,發生此狀況的原因是安裝核心不支援此類型的硬體,或是此核心中包含的某些功能 (如 ACPI) 會對一些硬體造成問題。

若您的系統無法使用標準安裝模式,從第一個安裝開機畫面安裝的話,請嘗試下列方法:

  1. 使用尚留在磁碟機中的 DVD,以 Ctrl-Alt-Del 或硬體重設按鈕重新開機。

  2. 出現開機畫面時按 F5,並使用鍵盤上的方向鍵導覽至無 ACPI,然後按 Enter 啟動開機與安裝程序。此選項會停用 ACPI 電源管理技術的支援。

  3. 如第 3 章「Installation with YaST」 (↑部署指南) 所述,繼續安裝。

如果失敗,請仍按上述步驟執行,但改選安全設定。此選項會停用 ACPI 和 DMA 支援。大部分硬體將以此選項開機。

若這些選項都失敗的話,請使用開機選項提示,將支援此類硬體所需的其他參數傳送到安裝核心。如需關於可做為開機選項之參數的詳細資訊,請參閱位於 /usr/src/linux/Documentation/kernel-parameters.txt 的核心文件。

[Tip]取得核心文件

安裝 kernel-source 套件以檢視核心文件。

其中有許多其他的 ACPI 相關參數,可讓您在開機前的開機提示中輸入,以進行安裝:

acpi=off

此參數會關閉電腦的所有 ACPI 子系統。如果您的電腦根本無法處理 ACPI 或者您認為電腦的 ACPI 造成問題,此參數會很有幫助。

acpi=force

永遠啟用 ACPI,即使電腦的 BIOS 出廠日期是在 2000 年以前。若沒有使用 acpi=off,設定此參數也會啟用 ACPI。

acpi=noirq

不將 ACPI 用於 IRQ 路由。

acpi=ht

只執行足夠啟用超執行緒的 ACPI。

acpi=strict

降低對不完全與 ACPI 規格相容之平台的容忍度。

pci=noacpi

停用新 ACPI 系統的 PCI IRQ 路由。

pnpacpi=off

當您的 BIOS 設定中包含錯誤的岔斷或連接埠時,可透過此選項解決序列或平行問題。

notsc

停用時戳計數器。可使用此選項解決系統中的計時問題。這是一項新功能。如果您發現機器上出現效能衰退,特別是越到最後,效能越低,甚至完全當機,不妨嘗試此選項。

nohz=off

停用 nohz 功能。如果您的機器當機,使用此選項可能會有所幫助。其他情況下則毫無用處。

一旦您判斷出正確的參數組合,YaST 就會自動將其寫入開機載入程式組態,以確定系統下次可正確開機。

如果核心載入或者安裝時發生不明錯誤,選取開機功能表的記憶體測試,檢查記憶體。若記憶體測試傳回錯誤,則通常會是硬體錯誤。

28.2.6. 無法啟動圖形安裝程式

將媒體插入磁碟機並將系統重新開機後,會出現安裝畫面,但在選取安裝之後,圖形安裝程式並未啟動。

有許多方法可以解決此狀況:

  • 嘗試選取安裝對話方塊的其他螢幕解析度。

  • 選取文字模式進行安裝。

  • 透過 VNC,使用圖形安裝程式進行遠端安裝。

過程 28.3. 變更安裝的畫面解析度

  1. 開機以進行安裝。

  2. F3 開啟功能表,從中選取較低解析度進行安裝。

  3. 選取安裝並如 第 3 章「Installation with YaST」 (↑部署指南) 所述繼續安裝。

過程 28.4. 在文字模式下安裝

  1. 開機以進行安裝。

  2. 按下 F3 並選取文字模式

  3. 選取安裝並如 第 3 章「Installation with YaST」 (↑部署指南) 所述繼續安裝。

過程 28.5. 安裝 VNC

  1. 開機以進行安裝。

  2. 在開機選項提示中輸入下列文字:

    vnc=1 vncpassword=some_password

    以 VNC 安裝所使用的密碼取代 some_password

  3. 選取 安裝,然後按 Enter 啟動安裝。

    這樣不會直接啟動圖形安裝常式,系統會繼續以文字模式執行,然後終止,顯示含有 IP 位址與連接埠號碼的訊息,根據此訊息便可以透過瀏覽器介面或 VNC 檢視器應用程式找到安裝程式。

  4. 如果使用瀏覽器來存取安裝程式,則啟動瀏覽器並輸入 SUSE Linux Enterprise Desktop 機器安裝常式所提供的位址資訊,並按 Enter

    http://ip_address_of_machine:5801

    瀏覽器視窗中會開啟一個對話方塊,提示您輸入 VNC 密碼。輸入密碼,並如 第 3 章「Installation with YaST」 (↑部署指南) 所述繼續安裝。

    [Important]

    若要在任何作業系統下、使用任何瀏覽器、透過 VNC 工作,首先必須啟用 Java 支援。

    出現提示時,提供 VNC 檢視器的 IP 位址和密碼。會開啟一個視窗,顯示安裝對話。請如一般方式繼續安裝。

28.2.7. 只有極簡開機畫面被啟動

將媒體插入磁碟機後,BIOS 常式結束,但系統未啟動圖形開機畫面。而是啟動一個非常簡化的文字介面。若機器無法提供足夠的圖形記憶體以轉譯圖形開機畫面,就可能發生此狀況。

雖然文字開機畫面看起來簡化,但其提供的功能幾乎與圖形介面一樣:

開機選項

與圖形介面不同的是,這裡無法以鍵盤游標選取開機選項。文字模式開機畫面的開機功能表,會在開機提示時提供一些可輸入的關鍵字。這些關鍵字對映到圖形版本所提供的選項。輸入您的選擇並按一下 Enter 以啟動開機程序。

自定開機選項

選取開機選項之後,在開機提示中輸入適當的關鍵字,或如第 28.2.5 節「無法開機」所述輸入自定開機選項。若要啟動安裝程序,請按下 Enter

螢幕解析度

使用 F 鍵決定安裝時的螢幕解析度。若您需要以文字模式開機,請選擇 F3

28.3. 開機問題

開機問題指的是您的系統無法正常開機的狀況 (無法開機到預期的執行層級和登入畫面)。

28.3.1. 無法載入 GRUB 開機載入程式

若硬體運作正常,則可能是開機載入程式已損毀,Linux 無法在機器上啟動。若是這樣的話,必須重新安裝開機載入程式。若要重新安裝開機載入程式,請執行下列步驟:

  1. 將安裝媒體插入光碟機中。

  2. 重新開機。

  3. 從開機功能表選取 安裝

  4. 選擇語言。

  5. 接受授權合約。

  6. 安裝模式螢幕中,選取修復已安裝的系統

  7. 進入 YaST 系統修復模組後,選取進階工具,然後選取安裝新開機載入程式

  8. 還原原始設定並重新安裝開機載入程式。

  9. 結束 YaST 系統修復並重新啟動系統。

另一個機器無法開機的原因可能跟 BIOS 有關:

BIOS 設定

檢查與您硬碟相關的 BIOS 設定。若在目前的 BIOS 設定下找不到硬碟本身,則可能只是未啟動 GRUB。

BIOS 開機順序

檢查您系統的開機順序是否包含硬碟。若未啟用硬碟選項,您的系統可能已正確安裝,但在需要存取硬碟時無法開機。

28.3.2. 沒有登入或是出現提示

這種問題通常的發生情況是在核心更新失敗之後,而且已知道是因為發生系統主控台類型錯誤的核心異常所導致,這種異常情形有時會在作業程序的最後階段發生。而如果實際上機器才在軟體更新之後進行重開機,這時的立即處理方式就是用舊版且已確認版本的 Linux 核心和相關檔案來進行重開機。您可以在開機程序過程中,從 GRUB 開機載入器畫面依照下列步驟來執行這項處理:

  1. 使用重設按鈕將電腦重新開機,或將其關機後再重新開啟。

  2. 當 GRUB 開機畫面出現時,請選取Linux--Failsafe,然後按 Enter。這樣機器會使用舊版的核心和其相關聯檔案來開機。

  3. 當開機程序完成之後,移除新安裝的核心,並在必要時手動修改 /boot/grub/menu.lst,讓舊版核心做為預設選項。如需取得這個組態檔案所使用語法的部分詳細資訊,請參閱第 10 章「開機載入程式 GRUB

    您不一定要更新這個檔案,因為自動化更新工具通常已在進行復原程序期間為您完成修改。

  4. 重新開機.

如果這項處理在Linux--Failsafe選項無法正確開機電腦情況下而無法解決此問題,請使用安裝媒體來開機電腦。在機器開機之後,繼續執行步驟 3

28.3.3. 沒有圖形登入

若可開機,但未開機到圖形登入管理員,可能的問題不是出在預設的執行層級選擇,就是在於 X Window System 組態。若要檢查執行層級組態,請以使用者的身份登入,檢查機器是否設定為開機至執行層級 5 (圖形桌面)。有個方法可以快速檢查此設定,就是檢驗 /etc/inittab 的內容,如下:

tux@mercury:~> grep "id:" /etc/inittab 
id:5:initdefault:

傳回的行指示機器的預設執行層級 (initdefault) 設為 5,且應開機至圖形桌面。若執行層級設為其他數字,請使用 YaST 執行層級編輯器模組將它設為 5

[Important]

請勿手動編輯執行層級組態。否則 SUSEconfig (由 YaST 所執行) 會在下次執行時覆寫這些變更。若您需要在此進行手動變更,請在 /etc/sysconfig/suseconfig 中,將 CHECK_INITTAB 設定為 no

若執行層級設為 5,可能是您的桌面或 X Windows 軟體設定錯誤或已損毀。請檢查 /var/log/Xorg.*.log 中的記錄檔,以瞭解 X 伺服器嘗試啟動時的訊息。若啟動時桌面出現故障,系統可能會將錯誤訊息記錄至 /var/log/messages。若這些錯誤訊息指出 X 伺服器中有組態問題,請嘗試修復這些問題。若仍然未出現圖形系統,請考慮重新安裝圖形桌面。

[Tip]手動啟動 X Window System

快速測試:若使用者目前已登入主控台中,則 startx 指令可強制 X Window System 以預設的組態啟動。若這樣沒有作用的話,會將錯誤記錄至主控台。

28.4. 登入問題

登入問題是指,您的機器已確實開機並進入歡迎畫面或收到登入提示,但不接受使用者名稱或密碼,或是接受後運作不正常 (無法啟動圖形桌面、產生錯誤、出現指令行等等)。

28.4.1. 有效的使用者名稱和密碼組合失敗

這種情形常發生於系統設定為使用網路驗證或目錄服務時,且基於某些原因,會無法從其所設定的伺服器取得結果。身為唯一的本地使用者,使用者是唯一仍可登入這些機器的使用者。下面是機器看似運作良好卻無法正確執行登入的一些常見原因:

  • 網路未作用。如須對此情況的進一步指示,請參閱第 28.5 節「網路問題」

  • DNS 此時未運作 (這樣會阻礙 GNOME 或 KDE 運作,也會妨礙系統驗證安全伺服器的要求)。若機器花費過久的時間回應任何動作的話,表示可能是這種情況。如需此主題的詳細資訊,請參閱第 28.5 節「網路問題」

  • 若系統設定為使用 Kerberos,則系統的本地時間有可能超過了 Kerberos 伺服器時間所容許的時間差 (一般為 300 秒)。若 NTP (網路時間協定) 未正確運作,或本地 NTP 伺服器未運作,則 Kerberos 驗證會停止作用,因為它必須仰賴網路上同步的共同時脈才可運作。

  • 系統的驗證組態設定錯誤。請檢查 PAM 組態檔案是否有錯字或指示詞順序錯誤。如需關於 PAM 和所包含組態檔案語法的其他背景資料,請參閱第 2 章「Authentication with PAM」 (↑Security Guide)。

  • 主分割區已加密。如需此主題的詳細資訊,請參閱第 28.4.3 節「無法登入加密的主分割區」

對於所有非外部網路造成的問題,解決方案就是重新開機進入單一使用者模式,並修復組態後再次開機進入操作模式,以嘗試重新登入。若要開機進入單一使用者模式:

  1. 重新啟動系統。會出現開機畫面及提示。

  2. 在開機提示中輸入 1,讓系統開機進入單一使用者模式。

  3. 輸入的使用者名稱與密碼。

  4. 進行必要的所有變更。

  5. 在指令行中輸入 telinit 5,開機進入完整多使用者及網路模式。

28.4.2. 有效的使用者名稱和密碼不被接受

這顯然是使用者最常遇到的問題,其發生的原因有很多。根據您使用本地使用者管理和驗證,或使用網路驗證,會有不同原因造成登入失敗。

本地使用者管理可能因為下列原因而失敗:

  • 使用者輸入的密碼有誤。

  • 使用者包含桌面組態檔的主目錄損毀或有防寫保護。

  • X Window System 可能無法驗證此特定使用者,尤其是在安裝目前版本的 Linux 之前,此使用者的主目錄已用於其他 Linux 版本的情況下。

若要找出本地登入失敗的原因,請執行下列步驟:

  1. 開始進行整個驗證機制的偵錯之前,先確認使用者可以正確記住密碼。若使用者無法正確記住密碼,請使用 YaST 使用者管理模組變更使用者的密碼。請注意 Caps Lock 鍵的使用,並根據需要進行切換。

  2. 根使用者登入,並檢查 /var/log/messages 中有沒有登入程序和 PAM 的錯誤訊息。

  3. 嘗試從主控台登入 (使用 Ctrl+Alt+F1)。如果成功,表示問題不在 PAM,因為它能夠在此機器上驗證此使用者。嘗試找出 X Window System 或桌面系統 (GNOME 或 KDE) 的任何問題。如需詳細資訊,請參閱第 28.4.4 節「登入成功但 GNOME 桌面失敗」第 28.4.5 節「登入成功但 KDE 桌面失敗」

  4. 若使用者的主目錄已由其他 Linux 版本使用,請移除使用者主目錄中的 Xauthority 檔案。使用主控台透過 Ctrl+Alt+F1 登入,並以此使用者身份執行 rm .Xauthority。這樣應可排除此使用者的 X 驗證問題。重新嘗試圖形登入。

  5. 若仍無法進行圖形登入,請以 Ctrl+Alt+F1 執行主控台登入。嘗試在其他畫面啟動 X 工作階段—第一個 (:0) 已被使用:

    startx -- :1

    這樣應可出現圖形畫面與您的桌面。若沒有的話,請檢查 X Window System 的記錄檔案 (/var/log/Xorg.displaynumber.log),或您桌面應用程式的登入檔案 (位於使用者主目錄中的 .xsession-errors),以得知是否有任何異常。

  6. 若由於組態檔案損毀導致桌面無法啟動,請繼續執行第 28.4.4 節「登入成功但 GNOME 桌面失敗」第 28.4.5 節「登入成功但 KDE 桌面失敗」

以下是特定使用者在特定機器上網路驗證失敗的一些常見原因:

  • 使用者輸入的密碼有誤。

  • 機器的本地驗證檔案中已存在使用者名稱,但網路驗證系統也提供了,兩者產生了衝突。

  • 主目錄是存在的,但損毀或無法使用。或許此目錄設為防止寫入,或位於此時無法存取的伺服器上。

  • 使用者沒有登入驗證系統特定主機的許可。

  • 機器的主機名稱已因某種原因而變更,而使用者沒有登入該主機的許可。

  • 機器無法聯繫驗證伺服器,或是含有使用者資訊的目錄伺服器。

  • X Window System 可能無法驗證此特定使用者,尤其是在安裝目前版本的 Linux 之前,此使用者的主目錄已用於其他 Linux 版本的情況下。

若要找出登入發生網路驗證失敗的原因,請執行下列步驟:

  1. 進行整個驗證機制的除錯之前,請先確認使用者所記的密碼正確無誤。

  2. 確定機器賴以進行驗證的目錄伺服器,並確定該伺服器已啟動且正在執行,而且能夠與其他機器正常進行通訊。

  3. 確定使用者的使用者名稱和密碼可以在其他機器上使用,以確定其驗證資料存在,而且已正確配送。

  4. 再看看在運作不正常的機器上,可否讓其他使用者登入。若其他使用者可以正常登入,或根使用者可以登入的話,請登入並檢驗 /var/log/messages 檔案。找出嘗試登入所對應的時間戳記,並判斷 PAM 是否已產生任何錯誤訊息。

  5. 嘗試從主控台登入 (使用 Ctrl+Alt+F1)。若是成功,說明問題不是出在 PAM 或使用者主目錄所在的目錄伺服器,因為能夠在此機器上驗證此使用者。嘗試找出 X Window System 或桌面系統 (GNOME 或 KDE) 的任何問題。如需詳細資訊,請參閱第 28.4.4 節「登入成功但 GNOME 桌面失敗」第 28.4.5 節「登入成功但 KDE 桌面失敗」

  6. 若使用者的主目錄已由其他 Linux 版本使用,請移除使用者主目錄中的 Xauthority 檔案。使用主控台透過 Ctrl+Alt+F1 登入,並以此使用者身份執行 rm .Xauthority。這樣應可排除此使用者的 X 驗證問題。重新嘗試圖形登入。

  7. 若仍無法進行圖形登入,請以 Ctrl+Alt+F1 執行主控台登入。嘗試在其他畫面啟動 X 工作階段—第一個 (:0) 已被使用:

    startx -- :1

    這樣應可出現圖形畫面與您的桌面。若沒有的話,請檢查 X Window System 的記錄檔案 (/var/log/Xorg.displaynumber.log),或您桌面應用程式的登入檔案 (位於使用者主目錄中的 .xsession-errors),以得知是否有任何異常。

  8. 若由於組態檔案損毀導致桌面無法啟動,請繼續執行第 28.4.4 節「登入成功但 GNOME 桌面失敗」第 28.4.5 節「登入成功但 KDE 桌面失敗」

28.4.3. 無法登入加密的主分割區

建議對筆記型電腦使用加密的主分割區。如果無法登入您的筆記型電腦,通常只是因為無法解除鎖定您的分割區。

開機期間,您必須輸入密碼片語以解除鎖定加密的分割區。如果不輸入密碼片語,則開機程序會繼續,但分割區將處於鎖定狀態。

若要解除鎖定加密的分割區,請執行以下步驟:

  1. Ctrl+Alt+F1 切換到文字主控台。

  2. root 使用者身分登入。

  3. 使用以下指令重新啟動解除鎖定程序︰

    /etc/init.d/boot.crypto restart
  4. 輸入可解除鎖定加密分割區的密碼片語。

  5. Alt+ F7 離開文字主控台並切換回登入畫面。

  6. 像往常一樣登入。

28.4.4. 登入成功但 GNOME 桌面失敗

若出現此狀況,可能是 GNOME 組態檔案已損毀。其他症狀還包括鍵盤無法工作、畫面幾何錯亂,甚至畫面呈現空白的灰色區塊。此問題最重要的區隔是,若其他使用者可以登入,則此機器是正常運作的。此類問題或許可以較快解決,只要將使用者的 GNOME 組態目錄移到新的位置,讓 GNOME 啟始化新的組態目錄即可。雖然這樣算是強制使用者重新設定 GNOME,但並沒有資料因此遺失。

  1. Ctrl+Alt+F1切換到文字主控台。

  2. 使用您的使用者名稱登入。

  3. 將使用者的 GNOME 組態目錄移到一個暫時位置:

    mv .gconf  .gconf-ORIG-RECOVER
    mv .gnome2 .gnome2-ORIG-RECOVER
  4. 登出。

  5. 再次登入,勿執行任何應用程式。

  6. 依照下列方式將 ~/.gconf-ORIG-RECOVER/apps/ 目錄複製回新的 ~/.gconf 目錄,修復您的個別應用程式組態資料 (包括 Evolution 電子郵件用戶端資料):

    cp -a .gconf-ORIG-RECOVER/apps .gconf/

    若這樣導致登入問題,請嘗試僅修復重要的應用程式資料,並重新設定其他的應用程式。

28.4.5. 登入成功但 KDE 桌面失敗

KDE 桌面無法讓使用者登入有幾個原因。快取資料損毀以及 KDE 桌面組態檔案損毀,均可能導致登入問題。

快取檔案可用於增進桌面啟動的效能。若此資料損毀的話,啟動速度會變慢或完全故障。請將其移除,並強制桌面啟動常式重新開始啟動。這樣會比正常啟動的時間久,但將不會損害資料的保存並讓使用者登入。

若要移除 KDE 桌面的快取檔案,請以根使用者身份發出以下指令:

rm -rf /tmp/kde-user /tmp/ksocket-user

以使用者名稱取代 user。移除這兩個目錄只會移除損毀的快取檔案,過程中並不會傷害到真正的資料。

我們永遠可以使用初始組態檔案取代損毀的桌面組態檔案。若您希望復原使用者的調整值,請在以預設組態值還原組態之後,小心地將調整值從暫存位置複製回原來位置。

若要以初始組態值取代損毀的桌面組態,請執行下列步驟:

  1. Ctrl+Alt+F1切換到文字主控台。

  2. 以此使用者名稱登入。

  3. 將 KDE 組態目錄和 .skel 檔案移動到暫時位置:

    • 對 KDE3 使用以下指令︰

      mv .kde  .kde-ORIG-RECOVER 
      mv .skel .skel-ORIG-RECOVER
    • 對 KDE4 使用以下指令︰

      mv .kde4  .kde4-ORIG-RECOVER 
      mv .skel .skel-ORIG-RECOVER
  4. 登出。

  5. 再次登入。

  6. 成功啟動桌面後,將使用者自己的組態複製回原位:

    cp -a KDEDIR/share .kde/share

    使用步驟 3 中的目錄取代 KDEDIR

    [Important]

    若使用者自己的調整值導致登入失敗,且一再重複,請重做以上步驟,但不要複製 .kde/share 目錄。

28.5. 網路問題

您系統的許多問題可能都與網路有關,但可能一開始看不出來。例如,系統不允許使用者登入,可能就是某種網路問題所致。此節會介紹簡單的檢查清單,可讓您用來辨識所遇到網路問題的原因。

過程 28.6. 如何識別網路問題

檢查機器網路連線時,請如下執行:

  1. 若使用乙太網路連線,請先檢查硬體。確認您的網路線正確插在電腦和路由器 (或集線器等) 上。正常情況下,乙太網路接頭旁的兩個控制燈都會亮起。

    若連接失敗,請檢查網路線在其他機器上可否使用。若可以的話,就是您的網路卡造成的問題。若您的網路設定中包含集線器或交換器,也可能是這些設備的問題。

  2. 若使用無線連接的話,請檢查可否由其他機器建立無線連結。若無法建立,請聯絡無線網路管理員。

  3. 檢查完基本網路連線之後,請嘗試找出未回應的服務為何。收集您設定中所需所有網路伺服器的位址資訊。您可在適當的 YaST 模組中查詢,或詢問您的系統管理員。下列清單提供了設定中所包含的一些基本的網路伺服器,以及其故障的症狀。

    DNS (名稱服務)

    名稱服務損壞或故障會從許多方面影響網路的運作。若本地網路仰賴網路伺服器進行驗證,而因為名稱解析問題而找不到這些伺服器的話,使用者就無法登入了。故障名稱伺服器所管理的機器將無法看到彼此並進行通訊。

    NTP (時間服務)

    NTP 服務的損壞或完全故障會影響 Kerberos 驗證以及 X 伺服器的功能。

    NFS (檔案服務)

    若應用程式所需的資料儲存於掛接 NFS 的目錄中,萬一此服務關閉或設定錯誤,該應用程式將無法啟動或無法正常運作。最糟糕的情況是,如果因 NFS 伺服器出現故障,而找不到包含 .gconf.kde 子目錄的使用者主目錄,則使用者的個人桌面組態將無法起作用。

    Samba (檔案服務)

    若應用程式所需的資料儲存於出現故障之 Samba 伺服器的目錄中,該應用程式將無法啟動或無法正常運作。

    NIS (使用者管理)

    若您的 SUSE Linux Enterprise Desktop 系統仰賴出現故障之 NIS 伺服器提供使用者資料,使用者將無法登入這部機器。

    LDAP (使用者管理)

    若您的 SUSE Linux Enterprise Desktop 系統仰賴出現故障之 LDAP 伺服器提供使用者資料,使用者將無法登入這部機器。

    Kerberos (驗證)

    不進行驗證,也無法登入任何機器。

    CUPS (網路列印)

    使用者無法列印。

  4. 請檢查網路伺服器是否運作,且您的網路設定可否讓您建立連接:

    [Important]

    下述偵錯程序只適用於不涉及任何內部路由的簡易網路伺服器/用戶端設定。假設伺服器和用戶端都是相同子網路的成員,不需要其他路由。

    1. 使用 ping IP 位址主機名稱 (以伺服器的主機名稱取代主機名稱),檢查各部機器是否開啟,以及能否回應網路。若此指令成功的話,就會告知您的主機您正在尋找並執行它,且您網路的名稱服務設定是正確的。

      若 ping 的結果失敗且傳回 destination host unreachable (無法聯繫目的地主機),則您的系統或想找的伺服器可能設定錯誤或故障。從其他機器執行 ping IP 位址您的主機名稱,檢查是否可連接您的系統。如果您可以從另一台機器存取您的機器,可能是伺服器完全未執行或設定錯誤。

      若 ping 失敗且傳回 unknown host (未知主機),則是名稱服務設定錯誤,或使用的主機名稱不正確。如須對此問題做進一步檢查,請參閱步驟 4.b。若 ping 仍然失敗,則是您的網路卡未設定正確,或網路硬體故障。

    2. 使用 host hostname 指令,檢查您嘗試連接的伺服器主機名稱是否正確轉譯為 IP 位址,反之亦然。若此指令傳回主機的 IP 位址,則名稱服務是啟動且執行中的。如果 host 指令失敗,請在您的主機上檢查所有與名稱及位址解析有關的網路組態檔案:

      /etc/resolv.conf

      此檔案用於追蹤您目前使用的名稱伺服器與領域。您可以手動修改此檔案,或以 YaST 或 DHCP 自動調整。建議您採用自動調整。然而,請確定此檔案的結構如下,且所有的網路位址與領域名稱均正確:

      search fully_qualified_domain_name
      nameserver ipaddress_of_nameserver

      此檔案會包含多個名稱伺服器位址,其中至少有一個必須是正確的,才能為您的主機提供名稱解析。需要時,請使用 YaST 網路設定模組 (「主機名稱」/「DNS」索引標籤) 調整此檔案。

      若您是透過 DHCP 處理網路連線,請在 YaST DNS 和主機名稱模組中選取 透過 DHCP 變更主機名稱透過 DHCP 更新名稱伺服器和搜尋清單,以啟用 DHCP 來變更主機名稱與名稱服務資訊。

      /etc/nsswitch.conf

      此檔案會告知 Linux 何處可找到名稱服務資訊。檔案外觀如下:

       ...
      hosts: files dns
      networks: files dns
      ...

      dns 項目是必備的。這會告訴 Linux 使用外部名稱伺服器。正常情況下,YaST 會自動管理這些項目,但檢查很謹慎。

      若主機上所有相關的項目都正確的話,請要求您的系統管理員檢查 DNS 伺服器組態是否具備正確的時區資訊。若您確定主機和 DNS 伺服器的 DNS 組態正確物誤,請繼續檢查網路組態和網路設備。

    3. 若您的系統無法建立與網路伺服器的連接,且您已經從問題可能原因清單中排除名稱服務的問題,則請檢查網路卡的組態。

      使用指令 ifconfig network_device (以根使用者身份執行) 來檢查設備是否正確設定。請確認 inet address Mask 均已設定正確。IP 位址有錯誤或網路遮罩有位元遺失的話,都可能造成網路組態無法使用。必要的話,請一併於伺服器上執行此檢查。

    4. 如果名稱服務與網路硬體均設定正確且在執行中,但仍有些外部網路連線逾時或完全失敗,請使用 traceroute fully_qualified_domain_name (以根使用者身份執行) 來追蹤這些要求所採用的網路路由。此指令會列出請求從您機器傳送到其目的地所經的所有閘道 (躍程)。其會列出各躍程的回應時間,以及是否能取得此躍程。請使用 traceroute 加上 ping 找出問題的原因,並告知管理員。

一旦您辨識出網路問題的原因,就可以自己解決 (若問題發生在您機器上的話),或將您的發現告訴網路系統管理員,讓他們可以重新設定服務,或修復必要的系統。

28.5.1. NetworkManager 問題

若您有網路連線的問題,請依過程 28.6 「如何識別網路問題」所述將範圍調窄。若 NetworkManager 似乎有問題,請執行下列步驟,取得 NetworkManager 故障原因的提示記錄:

  1. 開啟外圍程序並以 root 身份登入。

  2. 重新啟動 NetworkManager:

    rcnetwork restart -o nm
  3. 以一般使用者身份開啟網頁,例如 http://www.opensuse.org,看看是否可以連接。

  4. /var/log/NetworkManager 中收集 NetworkManager 狀態的所有相關資訊。

如需關於 NetworkManager 的詳細資訊,請參閱第 23 章「使用 NetworkManager

28.6. 資料問題

資料問題是指,機器或許可以 (或無法) 正確開機,但系統上有著明顯的資料損毀,且需要修復。遇到這些情況時,需要用到您重要資料的備份檔案,以讓您的系統回復到故障前的狀態。SUSE Linux Enterprise Desktop 提供了專用的 YaST 模組,用於系統備份與還原,並提供了一個救援系統,可從外部復原損毀的系統。

28.6.1. 管理分割區影像

有時,您需要對整個分割區甚至是硬碟執行備份。Linux 附帶 dd 工具,可為磁碟建立完全一致的副本。結合 gzip,還能為您節省一些空間。

過程 28.7. 備份和還原硬碟

  1. root 使用者身分啟動外圍程序。

  2. 選取來源設備。一般類似 /dev/sda (標示為 SOURCE)。

  3. 決定要儲存影像 (標示為 BACKUP_PATH) 的位置。此位置必須不同於來源設備的位置。換言之,如果您對 /dev/sda 進行備份,就不能將影像檔案儲存在 /dev/sda 下。

  4. 執行以下指令建立壓縮影像檔︰

    dd if=/dev/SOURCE | gzip > /BACKUP_PATH/image.gz 
  5. 使用以下指令還原硬碟:

    gzip -dc /BACKUP_PATH/image.gz | dd of=/dev/SOURCE

如果您只需備份分割區,請使用各個分割區取代指令中預留的 SOURCE。如此,您的影像檔便會存放於同一個硬碟的不同分割區中。

28.6.2. 備份重要資料

使用 YaST 系統備份模組,可輕鬆管理系統備份:

  1. 以根使用者身份啟動 YaST,並選取系統+系統備份

  2. 建立持有備份所需所有細節、歸檔檔名、範圍和備份類型等資訊的備份設定檔:

    1. 選取設定檔管理+新增

    2. 輸入歸檔的名稱。

    3. 若您希望將備份保存於本地,請輸入備份的路徑與位置。若您要將備份歸檔於網路伺服器 (透過 NFS),請輸入要存放歸檔的 IP 位址或伺服器名稱和目錄。

    4. 決定歸檔類型,並按一下下一步

    5. 決定要使用的備份選項,如不隸屬任何套件的檔案是否要備份,以及建立歸檔前是否要先顯示檔案清單。同時也要決定是否要使用耗時的 MD5 機制,辨識檔案是否已變更過。

      使用進階進入備份整個硬碟區域的對話。此選項目前只適用於 Ext2 檔案系統。

    6. 最後,請設定搜尋限制,以將不需備份的特定系統區域從備份區域中排除,如所定的檔案或是快取檔案。新增、編輯或刪除項目,直到符合您的需求為止,再按確定離開。

  3. 完成設定檔設定之後,您就可以立即使用開始開始備份,或設定自動備份。您亦可針對其他不同目的,建立其他設定檔。

若要為已知設定檔設定自動備份,請如下操作:

  1. 設定檔管理中選取自動備份功能表。

  2. 選取開始自動備份

  3. 決定備份的頻率。選擇每日每週每月

  4. 決定備份開始時間。這些設定會根據所選取的備份頻率而定。

  5. 決定是否保留舊的備份,以及要保留多少。若要收到自動產生的備份程序狀態訊息,請按一下傳送摘要郵件給使用者 root

  6. 按一下確定套用您的設定,並於指定的時間啟動第一次備份。

28.6.3. 還原系統備份

使用 YaST 系統還原模組,從備份還原系統組態。您可還原整個備份,或選取特定損毀而需要重設置舊狀態的元件。

  1. 啟動 YaST+系統+系統還原

  2. 輸入備份檔案的位置。可以是本地檔案、掛載於網路的檔案,或是軟碟或 DVD 等抽取式設備中的檔案。然後按下一步

    下列對話方塊會顯示歸檔內容的摘要,如檔案名稱、建立日期、備份類型和選用的註解。

  3. 按一下歸檔內容檢視歸檔的內容。按一下確定返回歸檔內容對話方塊。

  4. 會開啟進階選項對話方塊,讓您微調還原程序。按一下確定即可回到歸檔內容對話。

  5. 按一下下一步開啟要還原的套件檢視畫面。按接受還原歸檔中的所有檔案,或使用各式各樣的全選取消全選選取檔案按鈕,微調您的選擇。只有當 RPM 資料庫損毀或已刪除,而且此檔案包含於備份中時,才使用還原 RPM 資料庫選項。

  6. 按一下接受之後,就會還原備份。備份程序完成後,請按一下結束離開模組。

28.6.4. 修復損毀的系統

系統無法啟動並正常運作的原因可能有幾種。最常見的原因是系統當機後檔案系統損毀、組態檔案損毀,或開機載入程式組態損毀。

SUSE Linux Enterprise Desktop 提供了兩種不同的方法來解決這些情況。您可以使用 YaST 系統修復功能,或啟動救援系統。下面幾節會介紹這兩種系統修復方法。

28.6.4.1. 使用 YaST 系統修復

[Note]鍵盤與語言設定

如果您在開機後變更了語言設定,鍵盤也會相應調整。

啟動 YaST 的「系統修復」模組前,請判定要使用哪種模式執行,以符合您的需求。根據嚴重性與系統故障的原因 (以及您的技術水準),有三種不同的模式可以選擇:

自動修復

若您的系統會因為未知的原因故障,而您基本上不知道系統的哪個部分導致故障,請使用自動修復。這會對所安裝系統的所有元件進行大規模的自動檢查。如需此程序的詳細描述,請參閱第 28.6.4.1.1 節「自動修復」

自定修復

若您的系統故障,且您已經知道哪個元件造成故障,請將系統分析的範圍限制在那些元件上,停止自動修復冗長的系統檢查。例如,若故障前的系統訊息指示套件資料庫有錯誤,則您可將分析與修復程序限定於檢查並復原系統的這一部份。如需此程序的詳細描述,請參閱第 28.6.4.1.2 節「自定修復」

進階工具

如果您已經清楚瞭解發生故障的元件,且知道該如何修復,則可略過分析步驟,直接套用修復相關元件所需的工具。如需詳細資訊,請參閱第 28.6.4.1.3 節「進階工具」

如上所述選擇修復模式之一,並如以下章節所述繼續進行系統修復。

28.6.4.1.1. 自動修復

若要啟動「YaST 系統修復」的自動修復模式,請如下執行:

  1. 將 SUSE Linux Enterprise Desktop 的安裝媒體插入 DVD 光碟機。

  2. 重新啟動系統。

  3. 在開機畫面中,選取修復已安裝的系統

  4. 確認授權合約並按一下下一步

  5. 選擇自動修復

    YaST 會立即啟動已安裝系統的大規模分析。程序的進度會以畫面底部的兩個進度列顯示。上面的進度列顯示目前執行測試的進度。下面的進度列顯示分析程序的整體進度。上方區段的記錄視窗會追蹤目前執行中的測試及其結果。請參閱圖形 28.4 「自動修復模式」

    圖形 28.4. 自動修復模式

    自動修復模式

    每次執行時都會執行下列主測試執行。其中包括一些個別的子測試:

    檢查分割區表

    對所有偵測到之硬碟的分割區表,進行有效性和連貫性的檢查。

    檢查交換區域

    對所安裝系統的交換分割區進行偵測、測試,並提議啟用 (若適用)。您應接受此提議,以便達到更高的系統修復速度。

    檢查檔案系統

    所有偵測到的檔案系統都會進行檔案系統的特定檢查。

    檢查 fstab 項目

    針對檔案中的項目進行完整性和一致性的檢查。所有有效分割區都會進行裝載。

    檢查套件資料庫

    檢查是否具有最小安裝作業所需的所有套件。雖然您也可以選擇分析基礎套件,但這很耗時,因為套件的數量十分龐大。

    檢查開機載入器組態

    針對已安裝系統 (GRUB 或 LILO) 的開機載入程式組態,檢查其完整性和一致性。這時會檢查開機和 root 設備,並檢查 initrd 模組的可用性。

  6. 發生錯誤時,程序會停止,並開啟對話方塊,說明詳細資訊及可能的解決方法。

    請仔細閱讀畫面訊息,再接受建議的修復動作。若您決定拒絕建議的解決方案,系統會保留不變。

  7. 修復程序成功完成之後,請按一下確定完成,並移除安裝媒體。這樣系統就會自動重新開機。

28.6.4.1.2. 自定修復

若要啟動自定修復模式,並選擇性檢查已安裝系統的特定元件,請依照下列步驟執行:

  1. 將 SUSE Linux Enterprise Desktop 的安裝媒體插入 DVD 光碟機。

  2. 重新啟動系統。

  3. 在開機畫面中,選取修復已安裝的系統

  4. 確認授權合約並按一下下一步

  5. 選擇自定修復

    選擇自定修復會顯示測試執行清單,這些測試執行最初都會標記為執行。測試的整個範圍會與自動修復相符。如果您已經知道系統沒有受損,請取消相對應測試的標記。按一下下一步,然後啟動範圍較小的測試程序,它所需的執行時間可能短的多。

    不是所有測試群組都可以個別套用。檔案系統的檢驗一定會結合 fstab 項目的分析,包括現有的交換分割區。YaST 會選擇必要測試的最小執行數量,自動解析這樣的相依性。YaST 不支援加密分割區。如果您有加密分割區,YaST 會通知您這一情況。

  6. 發生錯誤時,程序會停止,並開啟對話方塊,說明詳細資訊及可能的解決方法。

    請仔細閱讀畫面訊息,再接受建議的修復動作。若您決定拒絕建議的解決方案,系統會保留不變。

  7. 修復程序成功完成之後,請按一下確定完成,並移除安裝媒體。這樣系統就會自動重新開機。

28.6.4.1.3. 進階工具

如果您瞭解 SUSE Linux Enterprise Desktop,而且清楚知道需要修復系統中的哪些元件,請略過系統分析,直接套用工具。

若要使用「YaST 系統修復」模組的進階工具功能,請依照下列步驟執行:

  1. 將 SUSE Linux Enterprise Desktop 的安裝媒體插入 DVD 光碟機。

  2. 重新啟動系統。

  3. 在開機畫面中,選取修復已安裝的系統

  4. 確認授權合約並按一下下一步

  5. 選取進階工具,然後選擇一個修復選項。

  6. 修復程序成功完成之後,請按一下確定完成,並移除安裝媒體。這樣系統就會自動重新開機。

進階工具可提供下列選項來修復故障系統:

安裝新的開機載入程式

這會啟動 YaST 開機載入程式組態模組。如需詳細資訊,請參閱第 10.2 節「使用 YaST 設定開機載入程式」

將已安裝的系統開機

嘗試將已安裝的 Linux 系統開機。

啟動磁碟分割工具

這會啟動 YaST 裡的進階分割工具。

修復檔案系統

這會檢查您已安裝系統中的檔案系統。系統會先提供所有偵測到之分割區的選單,供您選擇一個來進行檢查。

復原遺失的分割區

您可以嘗試重建受損的分割區表。首先會提供所偵測到的硬碟清單,供您選擇。按一下確定,啟動檢查。這可能需要一些時間,具體視電腦速度及硬碟的大小和速度而定。

[Important]重建分割區表

重建分割區表有些麻煩。YaST 會分析硬碟的資料磁區,嘗試辨識遺失的分割區。辨識之後,會將遺失的分割區新增至重新建好的分割區表。不過,這個方法並不一定適用於每個所想得到的例子。

將系統設定儲存至軟碟

這個選項將重要的系統檔案儲存至軟碟。如果這些檔案中有一個受損,就可以從磁碟還原。

驗證安裝的軟體

這會檢查套件資料庫的一致性,和最重要套件的可用性。任何已安裝套件在受損時都可以使用這個工具重新安裝。

28.6.4.2. 使用救援系統

SUSE Linux Enterprise Desktop 包含一個救援系統。救援系統是一個小型的 Linux 系統,可以載入到 RAM 磁碟上並裝載為根目錄檔案系統,好讓您從外部存取 Linux 分割區。藉由此救援系統,您可以復原或修改任何重要的系統項目:

  • 操作任何類型的組態檔案。

  • 檢查檔案系統有無缺失並啟動自動修復程序。

  • 變更根目錄環境中存取已安裝的系統.

  • 檢查、修改和重新安裝開機載入程式設定.

  • 從錯誤安裝的設備驅動程式或無法使用的核心復原。

  • 使用 Parted 指令來調整分割區大小。如需此工具的詳細資訊,請造訪 GNU Parted 網站 http://www.gnu.org/software/parted/parted.html

救援系統可以從各種來源與位置載入。最簡單的方法就是從原始安裝媒體將救援系統開機:

  1. 將安裝媒體插入 DVD 光碟機。

  2. 重新啟動系統。

  3. 在開機畫面中按 F4,然後選擇DVD-ROM。之後從主功能表中選擇救援系統

  4. Rescue: 提示輸入 root。無須輸入密碼。

如果硬體設定沒有包含 DVD 光碟機,您可以從網路來源將救援系統開機。以下範例適用於遠端開機情境 — 如果使用其他開機媒體 (例如 DVD),請相應修改 info 檔案,並按照一般安裝方式開機。

  1. 輸入 PXE 開機設定的組態,然後新增下列行:install=protocol://instsourcerescue=1。如果需要啟動系統修復,請使用 repair=1。正如一般安裝的情況,protocol 代表任何支援的網路通訊協定 (NFS、HTTP、FTP 等等),而 instsource 代表網路安裝來源的路徑。

  2. 依照第 11.3.7 節「Wake on LAN」 (第 11 章「Remote Installation」, ↑部署指南) 中的說明,使用網路喚醒啟動系統。

  3. Rescue: 提示輸入 root。無須輸入密碼。

一旦進入救援系統後,您可以利用 Alt+F1Alt+F6 來使用虛擬主控台。

/bin 目錄中提供外圍程序以及其他許多有用的公用程式,例如 mount 程式。sbin 目錄中包含重要的檔案與網路公用程式,以便檢視及修復檔案系統。此目錄中也包含最重要的二進位系統維護程式,例如 fdisk、mkfs、mkswap、mount、mount、init 及 shutdown,還有維謢網路的 ifconfig、ip、route 以及 netstat。目錄 /usr/bin 包含 vi 編輯器、find、less 以及 ssh。

若要檢視系統訊息,請使用指令 dmesg 或檢視檔案 /var/log/messages

28.6.4.2.1. 檢查和操作組態檔案

為了舉例說明使用救援系統如何修正組態檔案,請想像系統由於組態檔案損毀而無法正常開機。您可以使用救援系統來解決這個問題。

若要操作組態檔案,請執行下列步驟:

  1. 使用上述的其中一個方法啟動救援系統。

  2. 若要將 /dev/sda6 下的開機檔案系統裝載到救援系統,請使用下列指令:

    mount /dev/sda6 /mnt

    系統的所有目錄現在都存放在 /mnt

  3. 將此目錄變更到裝載的開機檔案系統中:

    cd /mnt
  4. 在 vi 編輯器中開啟有問題的組態檔案。調整並儲存設定。

  5. 從救援系統解除裝載開機檔案系統:

    umount /mnt
  6. 重新開機。

28.6.4.2.2. 修復和檢查檔案系統

一般而言,檔案系統無法在執行中的系統上修復。如果發生了嚴重的問題,您可能甚至無法裝載開機檔案,而且系統可能會因為核心異常而無法開機。在此情況下,唯一的方法就是從外部修復系統。強烈建議您使用 YaST 系統修復來執行這項任務 (如需詳細資料,請參閱第 28.6.4.1 節「使用 YaST 系統修復」)。不過,如果您需要執行手動檔案系統檢查或修復,請啟動救援系統。其中包含的公用程式可檢查和修復 btrfsext2ext3ext4reiserfsxfsdosfs 以及 vfat 檔案系統。

28.6.4.2.3. 存取已安裝的系統

如果需要從救援系統存取已安裝的系統,您需要在變更根目錄環境中執行此操作。例如,若要修改開機載入程式組態或執行硬體組態公用程式。

若要根據已安裝的系統設定變更根目錄環境,請執行下列步驟:

  1. 首先,從已安裝系統與設備檔案系統掛接根分割區 (將設備名稱變更為目前設定):

    mount /dev/sda6 /mnt
    mount --bind /dev /mnt/dev
  2. 現在您可以變更根目錄至新環境:

    chroot /mnt
  3. 接著裝載 /proc and /sys

    mount /proc
    mount /sys
  4. 最後,從已安裝的系統裝載其餘分割區:

    mount -a
  5. 現在您可以存取已安裝的系統。重新啟動系統之前,請先使用 umount -a 來解除裝載分割區,並以 exit 離開變更根目錄環境。

[Warning]限制

雖然您可以完全存取已安裝系統的檔案和應用程式,但必須遵守某些限制。執行中的核心是使用救援系統啟動的核心,而不是使用變更根目錄環境啟動的核心。它只支援基本硬體,而且無法從已安裝系統新增核心模組,除非核心版本完全一致。一律使用 uname -r 檢查目前執行的 (救援) 核心,然後確定變更根目錄環境的 /lib/modules 目錄中是否有相符的子目錄。如果有,您便可以使用已安裝的模組,否則,需要在其他媒體 (例如 USB 隨身碟) 上提供模組的正確版本。多數情況下,救援核心版本與已安裝的版本並不相同,因此,舉例來說,您便不能像平常一樣存取聲卡。您也無法啟動圖形使用者介面。

另外請注意,當您使用 Alt+F1Alt+F6 來切換主控台時,將會離開變更根目錄環境。

28.6.4.2.4. 修改和重新安裝開機載入程式

有時候系統無法開機是因為開機載入程式組態已損毀。譬如說,開機載入程式若未執行,啟動常式便無法將實體磁碟機轉譯為 Linux 檔案系統中的實際位置。

若要檢查開機載入程式組態和重新安裝開機載入程式,請執行下列步驟:

  1. 執行存取已安裝系統所需的必要步驟,如 第 28.6.4.2.3 節「存取已安裝的系統」 所述。

  2. 根據第 10 章「開機載入程式 GRUB 中概述的 GRUB 組態原則,檢查下列檔案是否正確設定,並在必要時加以修正。

    • /etc/grub.conf

    • /boot/grub/device.map

    • /boot/grub/menu.lst

    • /etc/sysconfig/bootloader

  3. 依序使用下列指令來重新安裝開機載入程式:

    grub --batch < /etc/grub.conf
  4. 解除裝載分割區,從變更根目錄環境登出,並重新啟動系統:

    umount -a
    exit
    reboot
28.6.4.2.5. 修正核心安裝

核心更新可能會帶來新的錯誤,進而會影響系統作業。例如,系統中某個硬體的驅動程式可能有錯誤,致使您無法存取和使用系統。在這種情況下,請復原至上回正常運作的核心 (如果系統中提供的話),或者從安裝媒體安裝原始核心。

[Tip]如何在更新後保留之前的核心

為了防止在錯誤的核心更新後無法開機,請使用核心多版本功能,並告知 libzypp 您要在更新後保留哪些核心。

例如,若要永遠保留最後兩個核心和目前執行中的核心,請新增

multiversion.kernels = latest,latest-1,running

/etc/zypp/zypp.conf 檔案。

另一個類似的情況是,當您需要重新安裝或更新 SUSE Linux Enterprise Desktop 不支援之設備的已損毀驅動程式時。例如,當硬體廠商使用特定設備時,比如使用硬體 RAID 控制器,這就要求作業系統能夠識別二進位驅動程式。廠商一般會發行「驅動程式更新磁碟」,內含所需驅動程式的修正或更新版本。

在這兩種情況下,您都需要以救援模式存取安裝的系統,並修正與核心相關的問題,否則系統可能無法正常開機︰

  1. 從 SUSE Linux Enterprise Desktop 安裝媒體開機。

  2. 如果您要在錯誤的核心更新之後復原,請跳過此步驟。如果需要使用驅動程式更新磁碟 (DUD),請在開機功能表出現之後按 F6 以載入驅動程式更新,並選擇驅動程式更新的路徑或 URL,然後按一下確認。

  3. 從開機功能表中選擇救援系統,然後按 Enter。如果您之前選擇使用 DUD,系統將會要求您指定儲存驅動程式更新的位置。

  4. Rescue: 提示輸入 root。無須輸入密碼。

  5. 手動將目標系統和變更根目錄掛接至新環境:如需詳細資訊,請參閱第 28.6.4.2.3 節「存取已安裝的系統」

  6. 如果要使用 DUD,請安裝/重新安裝/更新錯誤的設備驅動程式套件。請務必確定已安裝的核心版本與要安裝的驅動程式版本完全相符。

    如果要修正錯誤的核心更新安裝,可以按照以下程序從安裝媒體安裝原始核心。

    1. 使用 hwinfo --cdrom 識別 DVD 設備,並使用 mount /dev/sr0 /mnt 掛接設備。

    2. 導覽到 DVD 上儲存核心檔案的目錄,例如 cd /mnt/suse/x86_64/

    3. 使用 rpm -i 指令安裝您的產品類別所需的 kernel-*kernel-*-base 以及 kernel-*-extra 套件。

    4. 安裝完成之後,檢查與新安裝核心相關的新功能表項目是否已新增至開機載入程式組態檔 (grub 對應的組態檔為 /boot/grub/menu.lst)。

  7. 根據需要更新組態檔,然後重新啟動開機載入程式。如需詳細資訊,請參閱第 28.6.4.2.4 節「修改和重新安裝開機載入程式」

  8. 從系統磁碟機中取出任何可開機的媒體,然後重新開機。