資料問題是指,機器可能可以 (或無法) 正確開機,但另一方面,系統上有著明顯的資料損毀,且必須修復系統。遇到這些情況的話,就需要用到您重要資料的備份檔案,以讓您的系統回復到故障前的狀態。SUSE Linux Enterprise 提供了專用的 YaST 模組,進行系統備份與還原,並可從外部對損毀的系統提供救援並予以修復。
使用 YaST 系統備份模組,可輕鬆管理系統備份:
以根使用者身份啟動 YaST,並選取
+ 。建立持有備份所需所有細節、歸檔檔名、範圍和備份類型等資訊的備份設定檔:
選取
+ 。輸入歸檔的名稱。
若您希望將備份保存於本地,請輸入備份的路徑與位置。若您要將備份歸檔於網路伺服器 (透過 NFS),請輸入要存放歸檔的 IP 位址或伺服器名稱和目錄。
決定歸檔類型,並按一下
。決定要使用的備份選項,如不隸屬任何套件的檔案是否要備份,以及建立歸檔前是否要先顯示檔案清單。同時也要決定是否要使用耗時的 MD5 機制,辨識檔案是否已變更過。
使用
進入備份整個硬碟區域的對話。此選項目前只適用於 Ext2 檔案系統。最後,請設定搜尋限制,以將不需備份的特定系統區域從備份區域中排除,如所定的檔案或是快取檔案。新增、編輯或刪除項目,直到符合您的需求為止,再按
離開。完成設定檔設定之後,您就可以立即使用
開始備份,或設定自動備份。您亦可針對其他不同目的,建立其他設定檔。使用 YaST 系統還原模組,從備份還原系統組態。您可還原整個備份,或選取特定損毀而需要重設置舊狀態的元件。
系統無法啟動並正常運作的原因可能有幾種。系統當機後檔案損毀、組態檔案損毀,或最常見的是,開機載入程式組態損毀。
SUSE Linux Enterprise 提供兩種不同的方法來處理這種狀況。您可以使用 YaST 系統修復功能,或啟動救援系統。下列章節會討論這兩種系統修復方式:
啟動「YaST 系統修復」模組前,請判定要使用哪種模式執行,以符合您的需求。根據精確程度、您系統故障的原因,以及您的專精程度,共有三種模式可選:
若您的系統會因為未知的原因故障,而您基本上不知道系統的哪個部分導致故障,請使用第 51.6.3.1.1 節「自動修復」。
。這會對所安裝系統的所有元件進行大規模的自動檢查。如需此程序的詳細描述,請參閱若您的系統故障,且您已經知道哪個元件造成故障,請將系統分析的範圍限制在那些元件上,停止第 51.6.3.1.2 節「自定修復」。
冗長的系統檢查。例如,若故障前的系統訊息指示套件資料庫有錯誤,則您可將分析與修復程序限定於檢查並復原系統的這一部份。如需此程序的詳細描述,請參閱若您已經對於造成系統故障的元件有清楚的概念,且知道如何修復,您可略過分析執行,並直接套用修復此部份元件所需的工具。如需詳細資訊,請參閱第 51.6.3.1.3 節「進階工具」。
如上所述選擇修復模式之一,並如以下章節所述繼續進行系統修復。
若要啟動「YaST 系統修復」的自動修復模式,請如下執行:
將 SUSE Linux Enterprise 的安裝媒體插入光碟機或 DVD 光碟機中。
重新啟動系統。
在開機畫面中,選取
。選取語言並按一下
。確認授權合約並按一下
。在
中,選取 + 。選擇
。YaST 會立即啟動已安裝系統的大規模分析。程序的進度會以畫面底部的兩個進度列顯示。上面的進度列顯示目前執行測試的進度。下面的進度列顯示分析程序的整體進度。上方區段的記錄視窗會追蹤目前執行中的測試及其結果。請參閱圖形 51.2 「自動修復模式」。每次執行時都會執行下列主測試執行。它們包括一些個別子測試。
對所有偵測到之硬碟的分割區表,進行有效性和連貫性的檢查。
會針對已安裝系統的交換分割區進行偵測、測試,並在適用的情況下提議啟用。為達更高的系統修復速度就會接受這種提議。
所有偵測到的檔案系統都會進行檔案系統的特定檢查。
/etc/fstab
中的項目針對檔案中的項目進行完整性和一致性的檢查。所有有效分割區都會進行裝載。
針對已安裝系統 (GRUB 或 LILO) 的開機載入程式組態,檢查其完整性和一致性。這時會檢查開機和 root 設備,並檢查 initrd 模組的可用性。
檢查是否具有最小安裝作業所需的所有套件。另外一個可用選項就是分析其基本套件。這很耗時,因為套件的數量十分龐大。
發生錯誤時,程序會停止,並開啟對話方塊,說明詳細資訊及可能的解決方法。
請仔細閱讀畫面訊息,再接受建議的修復動作。若您決定拒絕建議的解決方案,系統會保留不變。
修復程序成功完成之後,請按一下
和 ,並移除安裝媒體。這樣系統就會自動重新開機。若要啟動
模式,並選擇性檢查已安裝系統的特定元件,請依照下列步驟執行:將 SUSE Linux Enterprise 的安裝媒體插入光碟機或 DVD 光碟機中。
重新啟動系統。
在開機畫面中,選取
。選取語言並按一下
。確認授權合約並按一下
。在
中,選取 + 。選擇
。選擇
會顯示測試執行清單,這些測試執行最初都會標記為執行。測試的整個範圍會與自動修復相符。如果您已經知道系統沒有受損,請取消相對應測試的標記。按一下 ,然後啟動範圍較小的測試程序,它所需的執行時間可能短的多。不是所有測試群組都可以個別套用。檔案系統的檢驗一定會結合 fstab 項目的分析,包括現有的交換分割區。YaST 會選擇必要測試的最小執行數量,自動解析這樣的相依性。
發生錯誤時,程序會停止,並開啟對話方塊,說明詳細資訊及可能的解決方法。
請仔細閱讀畫面訊息,再接受建議的修復動作。若您決定拒絕建議的解決方案,系統會保留不變。
修復程序成功完成之後,請按一下
和 ,並移除安裝媒體。這樣系統就會自動重新開機。如果您瞭解 SUSE Linux Enterprise而且清楚知道需要修復系統中的什麼項目,請略過系統分析,直接套用工具。
若要使用「YaST 系統修復」模組的
功能,請依照下列步驟執行:使用最初安裝的原始安裝媒體來為系統開機 (詳細資訊請參閱第 3 章「使用 YaST安裝」)。
在
中,選取 + 。選取
並選擇一或多個修復選項。修復程序成功完成之後,請按一下
和 ,並移除安裝媒體。這樣系統就會自動重新開機。進階工具可提供下列選項來修復故障的系統:
這會啟動 YaST 開機載入程式組態模組。如需詳細資訊,請參閱第 21.3 節「使用 YaST 設定開機載入程式」。
這會啟動 YaST 裡的進階分割工具。
這會檢查您已安裝系統中的檔案系統。系統會先提供所有偵測到之分割區的選單,供您選擇一個來進行檢查。
您可以嘗試重建受損的分割區表。首先會提供所偵測到的硬碟清單,供您選擇。按一下
,啟動檢查。所需時間視處理能力和硬碟大小而定。![]() | 重建分割區表 |
---|---|
重建分割區表有些麻煩。YaST 會分析硬碟的資料磁區,嘗試辨識遺失的分割區。辨識之後,會將遺失的分割區新增至重新建好的分割區表。不過,這個方法並不一定適用於每個所想得到的例子。 |
這個選項將重要的系統檔案儲存至軟碟。如果這些檔案中任何一個受損時,就可以由磁片還原。
這會檢查套件資料庫的一致性,和最重要套件的可用性。任何已安裝套件在受損時都可以使用這個工具重新安裝。
SUSE Linux Enterprise 包含一個救援系統。救援系統是一個小型的 Linux 系統,可以載入到 RAM 磁碟上並裝載為根目錄檔案系統,好讓您從外部存取 Linux 分割區。藉由此救援系統,您可以復原或修改任何重要的系統項目:
操作任何類型的組態檔案。
檢查檔案系統有無缺失並啟動自動修復程序。
在「變更根目錄」環境中存取已安裝的系統。
檢查、修改和重新安裝開機載入程式設定。
使用 Parted 指令來調整分割區大小。如需此工具的詳細資訊,請參閱 GNU Parted 網站 (http://www.gnu.org/software/parted/parted.html)。
救援系統可以從各種來源與位置載入。最簡單的方法是原始安裝光碟或 DVD 啟動救援系統:
如果硬體安裝不包括 CD 或 DVD 光碟機,您可以從網路來源啟動救援系統。下列範例將套用至遠端開機方案—如果使用其他開機媒體 (例如軟碟機),請據此修改 info
檔案,並按照一般安裝方式開機。
輸入 PXE 開機設定的組態,將 install=
取代為 protocol
://instsource
rescue=
。正如一般安裝的情況,protocol
://instsource
protocol
代表任何支援的網路通訊協定 (NFS、HTTP、FTP 等等),而 instsource
代表網路安裝來源的路徑。
依照第 4.3.7 節「區域網路喚醒」中的說明,使用「網路喚醒」啟動系統。
在 Rescue:
提示輸入 root
。無須輸入密碼。
一旦進入救援系統後,您可以利用 Alt+F1 至 Alt+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
。
為了舉例說明使用救援系統如何修正組態檔案,請想像系統由於組態檔案損毀而無法正常開機。您可以使用救援系統來解決這個問題。
一般而言,檔案系統無法在執行中的系統上修復。如果發生了嚴重的問題,您可能甚至無法裝載開機檔案,而且系統可能會因為核心異常
而無法開機。在此情況下,唯一的方法就是從外部修復系統。強烈建議您使用 YaST 系統修復來執行這項任務 (請參閱 第 51.6.3.1 節「使用 YaST 系統修復」 以取得詳細資訊)。不過,如果您需要執行手動檔案系統檢查或修復,請啟動救援系統。其中包含的公用程式可檢查和修復 ext2
、ext3
、reiserfs
、xfs
、、dosfs
以及 vfat
檔案系統。
若您需要從救援系統存取已安裝的系統 (例如,您要修改開機載入程式組態或執行硬體組態公用程式,您必須在「變更根目錄」環境下執行這個動作。
若要根據已安裝的系統設定「變更根目錄」環境,請執行下列步驟:
首先,從已安裝的系統和設備檔案系統裝載根分割區:
mount /dev/sda6 /mnt mount --bind /dev /mnt/dev
現在您可以「變更根目錄」至新環境:
chroot /mnt
接著裝載 /proc
and /sys
:
mount /proc mount /sys
最後,從已安裝的系統裝載其餘分割區:
mount -a
現在您可以存取已安裝的系統。重新啟動系統之前,請先使用 umount -a
來解除裝載分割區,並以 exit 離開「變更根」目錄環境。
![]() | 限制 |
---|---|
雖然您可以完全存取已安裝系統的檔案和應用程式,但必須遵守某些限制。所執行的核心是以救援系統啟動的核心。它只支援基本硬體,而且無法從已安裝系統新增核心模組,除非核心版本完全一致 (這種機率很低)。因此舉例而言,您將無法存取音效卡。您也無法啟動圖形使用者介面。 另外請注意,當您使用 Alt+F1 至 Alt+F6 來切換主控台時,將會離開「變更根」目錄環境。 |
有時候系統無法開機是因為開機載入程式組態已損毀。譬如說,開機載入程式若未執行,啟動常式便無法將實體磁碟機轉譯為 Linux 檔案系統中的實際位置。
若要檢查開機載入程式組態和重新安裝開機載入程式,請執行下列步驟:
執行存取已安裝系統所需的必要步驟,如 第 51.6.3.2.3 節「存取已安裝的系統」 所述。
根據 第 21 章「開機載入程式」 中概述的 GRUB 組態原則,檢查下列檔案是否正確設定。
/etc/grub.conf
/boot/grub/device.map
/boot/grub/menu.lst
必要時,針對設備映射 (device.map
) 或開機分割區與組態檔案的位置套用修正程式。
依序使用下列指令來重新安裝開機載入程式:
grub --batch < /etc/grub.conf
解除裝載分割區,從「變更根目錄」環境登出,並重新啟動系統:
umount -a exit reboot