資料問題是指,機器或許可以 (或無法) 正確開機,但系統上有著明顯的資料損毀,且需要修復。遇到這些情況時,需要用到您重要資料的備份檔案,以讓您的系統回復到故障前的狀態。SUSE Linux Enterprise Desktop 提供了專用的 YaST 模組,用於系統備份與還原,並提供了一個救援系統,可從外部復原損毀的系統。
有時,您需要對整個分割區甚至是硬碟執行備份。Linux 附帶 dd 工具,可為磁碟建立完全一致的副本。結合 gzip,還能為您節省一些空間。
過程 28.7. 備份及還原硬碟
以 root 使用者身分啟動外圍程序。
選取來源設備。一般類似 /dev/sda (標示為 SOURCE)。
決定要儲存影像 (標示為 BACKUP_PATH) 的位置。此位置必須不同於來源設備的位置。換言之,如果您對 /dev/sda 進行備份,就不能將影像檔案儲存在 /dev/sda 下。
執行以下指令建立壓縮影像檔︰
dd if=/dev/SOURCE| gzip > /BACKUP_PATH/image.gz
使用以下指令還原硬碟:
gzip -dc /BACKUP_PATH/image.gz | dd of=/dev/SOURCE
如果您只需備份分割區,請使用各個分割區取代指令中預留的 SOURCE。如此,您的影像檔便會存放於同一個硬碟的不同分割區中。
使用 YaST 系統備份模組,可輕鬆管理系統備份:
以根使用者身份啟動 YaST,並選取、。
建立持有備份所需所有細節、歸檔檔名、範圍和備份類型等資訊的備份設定檔:
選取+。
輸入歸檔的名稱。
若您希望將備份保存於本地,請輸入備份的路徑與位置。若您要將備份歸檔於網路伺服器 (透過 NFS),請輸入要存放歸檔的 IP 位址或伺服器名稱和目錄。
決定歸檔類型,並按一下。
決定要使用的備份選項,如不隸屬任何套件的檔案是否要備份,以及建立歸檔前是否要先顯示檔案清單。同時也要決定是否要使用耗時的 MD5 機制,辨識檔案是否已變更過。
使用進入備份整個硬碟區域的對話。此選項目前只適用於 Ext2 檔案系統。
最後,請設定搜尋限制,以將不需備份的特定系統區域從備份區域中排除,如所定的檔案或是快取檔案。新增、編輯或刪除項目,直到符合您的需求為止,再按離開。
完成設定檔設定之後,您就可以立即使用開始備份,或設定自動備份。您亦可針對其他不同目的,建立其他設定檔。
使用 YaST 系統還原模組,從備份還原系統組態。您可還原整個備份,或選取特定損毀而需要重設置舊狀態的元件。
系統無法啟動並正常運作的原因可能有幾種。最常見的原因是系統當機後檔案系統損毀、組態檔案損毀,或開機載入程式組態損毀。
SUSE Linux Enterprise Desktop 提供了兩種不同的方法來解決這些情況。您可以使用 YaST 系統修復功能,或啟動救援系統。下面幾節會介紹這兩種系統修復。
![]() | 鍵盤與語言設定 |
|---|---|
如果您在開機後變更了語言設定,鍵盤也會相應調整。 | |
啟動 YaST 的「系統修復」模組前,請判定要使用哪種模式執行,以符合您的需求。根據嚴重性與系統故障的原因 (以及您的技術水準),有三種不同的模式可以選擇:
若您的系統會因為未知的原因故障,而您基本上不知道系統的哪個部分導致故障,請使用。這會對所安裝系統的所有元件進行大規模的自動檢查。如需此程序的詳細描述,請參閱第 28.6.4.1.1 節「自動修復」。
若您的系統故障,且您已經知道哪個元件造成故障,請將系統分析的範圍限制在那些元件上,停止冗長的系統檢查。例如,若故障前的系統訊息指示套件資料庫有錯誤,則您可將分析與修復程序限定於檢查並復原系統的這一部份。如需此程序的詳細描述,請參閱第 28.6.4.1.2 節「自定修復」。
如果您已經清楚瞭解發生故障的元件,且知道該如何修復,則可略過分析步驟,直接套用修復相關元件所需的工具。如需詳細資訊,請參閱第 28.6.4.1.3 節「進階工具」。
如上所述選擇修復模式之一,並如以下章節所述繼續進行系統修復。
若要啟動「YaST 系統修復」的自動修復模式,請如下執行:
將 SUSE Linux Enterprise Desktop 的安裝媒體插入 DVD 光碟機。
重新啟動系統。
在開機畫面中,選取。
確認授權合約並按一下。
選擇。
YaST 會立即啟動已安裝系統的大規模分析。程序的進度會以畫面底部的兩個進度列顯示。上面的進度列顯示目前執行測試的進度。下面的進度列顯示分析程序的整體進度。上方區段的記錄視窗會追蹤目前執行中的測試及其結果。請參閱圖形 28.4 「自動修復模式」。
每次執行時都會執行下列主測試執行。其中包括一些個別的子測試:
對所有偵測到之硬碟的分割區表,進行有效性和連貫性的檢查。
對所安裝系統的交換分割區進行偵測、測試,並提議啟用 (若適用)。您應接受此提議,以便達到更高的系統修復速度。
所有偵測到的檔案系統都會進行檔案系統的特定檢查。
針對檔案中的項目進行完整性和一致性的檢查。所有有效分割區都會進行裝載。
檢查是否具有最小安裝作業所需的所有套件。雖然您也可以選擇分析基礎套件,但這很耗時,因為套件的數量十分龐大。
針對已安裝系統 (GRUB 或 LILO) 的開機載入程式組態,檢查其完整性和一致性。這時會檢查開機和 root 設備,並檢查 initrd 模組的可用性。
發生錯誤時,程序會停止,並開啟對話方塊,說明詳細資訊及可能的解決方法。
請仔細閱讀畫面訊息,再接受建議的修復動作。若您決定拒絕建議的解決方案,系統會保留不變。
修復程序成功完成之後,請按一下和,並移除安裝媒體。這樣系統就會自動重新開機。
若要啟動模式,並選擇性檢查已安裝系統的特定元件,請依照下列步驟執行:
將 SUSE Linux Enterprise Desktop 的安裝媒體插入 DVD 光碟機。
重新啟動系統。
在開機畫面中,選取。
確認授權合約並按一下。
選擇。
選擇會顯示測試執行清單,這些測試執行最初都會標記為執行。測試的整個範圍會與自動修復相符。如果您已經知道系統沒有受損,請取消相對應測試的標記。按一下,然後啟動範圍較小的測試程序,它所需的執行時間可能短的多。
不是所有測試群組都可以個別套用。檔案系統的檢驗一定會結合 fstab 項目的分析,包括現有的交換分割區。YaST 會選擇必要測試的最小執行數量,自動解析這樣的相依性。
發生錯誤時,程序會停止,並開啟對話方塊,說明詳細資訊及可能的解決方法。
請仔細閱讀畫面訊息,再接受建議的修復動作。若您決定拒絕建議的解決方案,系統會保留不變。
修復程序成功完成之後,請按一下和,並移除安裝媒體。這樣系統就會自動重新開機。
如果您瞭解 SUSE Linux Enterprise Desktop,而且清楚知道需要修復系統中的哪些元件,請略過系統分析,直接套用工具。
若要使用「YaST 系統修復」模組的功能,請依照下列步驟執行:
將 SUSE Linux Enterprise Desktop 的安裝媒體插入 DVD 光碟機。
重新啟動系統。
在開機畫面中,選取。
確認授權合約並按一下。
選取,然後選擇一個修復選項。
修復程序成功完成之後,請按一下和,並移除安裝媒體。這樣系統就會自動重新開機。
可提供下列選項來修復故障系統:
這會啟動 YaST 開機載入程式組態模組。如需詳細資訊,請參閱第 10.2 節「使用 YaST 設定開機載入程式」。
嘗試將已安裝的 Linux 系統開機。
這會啟動 YaST 裡的進階分割工具。
這會檢查您已安裝系統中的檔案系統。系統會先提供所有偵測到之分割區的選單,供您選擇一個來進行檢查。
您可以嘗試重建受損的分割區表。首先會提供所偵測到的硬碟清單,供您選擇。按一下,啟動檢查。這可能需要一些時間,具體視電腦速度及硬碟的大小和速度而定。
![]() | |
重建分割區表有些麻煩。YaST 會分析硬碟的資料磁區,嘗試辨識遺失的分割區。辨識之後,會將遺失的分割區新增至重新建好的分割區表。不過,這個方法並不一定適用於每個所想得到的例子。 | |
這個選項將重要的系統檔案儲存至軟碟。如果這些檔案中有一個受損,就可以從磁碟還原。
這會檢查套件資料庫的一致性,和最重要套件的可用性。任何已安裝套件在受損時都可以使用這個工具重新安裝。
SUSE Linux Enterprise Desktop 包含一個救援系統。救援系統是一個小型的 Linux 系統,可以載入到 RAM 磁碟上並裝載為根目錄檔案系統,好讓您從外部存取 Linux 分割區。藉由此救援系統,您可以復原或修改任何重要的系統項目:
操作任何類型的組態檔案。
檢查檔案系統有無缺失並啟動自動修復程序。
在「變更根目錄」環境中存取已安裝的系統.
檢查、修改和重新安裝開機載入程式設定.
使用 Parted 指令來調整分割區大小。如需此工具的詳細資訊,請造訪 GNU Parted 網站 http://www.gnu.org/software/parted/parted.html。
救援系統可以從各種來源與位置載入。最簡單的方法就是從原始安裝媒體將救援系統開機:
如果硬體設定沒有包含 DVD 光碟機,您可以從網路來源將救援系統開機。以下範例適用於遠端開機情境 — 如果使用其他開機媒體 (例如 DVD),請相應修改 info 檔案,並按照一般安裝方式開機。
輸入 PXE 開機設定的組態,然後新增下列行:install= 和 protocol://instsourcerescue=1。如果需要啟動系統修復,請使用 repair=1。正如一般安裝的情況,protocol 代表任何支援的網路通訊協定 (NFS、HTTP、FTP 等等),而 instsource 代表網路安裝來源的路徑。
依照第 11.3.7 節「Wake on LAN」 (第 11 章「Remote Installation」, ↑部署指南)中的說明,使用「網路喚醒」啟動系統。
在 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。
為了舉例說明使用救援系統如何修正組態檔案,請想像系統由於組態檔案損毀而無法正常開機。您可以使用救援系統來解決這個問題。
若要操作組態檔案,請執行下列步驟:
使用上述的其中一個方法啟動救援系統。
若要將 /dev/sda6 下的開機檔案系統裝載到救援系統,請使用下列指令:
mount /dev/sda6 /mnt
系統的所有目錄現在都存放在 /mnt 中
將此目錄變更到裝載的開機檔案系統中:
cd /mnt
在 vi 編輯器中開啟有問題的組態檔案。調整並儲存設定。
從救援系統解除裝載開機檔案系統:
umount /mnt
重新開機。
一般而言,檔案系統無法在執行中的系統上修復。如果發生了嚴重的問題,您可能甚至無法裝載開機檔案,而且系統可能會因為「核心異常」而無法開機。在此情況下,唯一的方法就是從外部修復系統。強烈建議您使用 YaST 系統修復來執行這項任務 (如需詳細資料,請參閱第 28.6.4.1 節「使用 YaST 系統修復」)。不過,如果您需要執行手動檔案系統檢查或修復,請啟動救援系統。其中包含的公用程式可檢查和修復 ext2、ext3、ext4、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 檔案系統中的實際位置。
若要檢查開機載入程式組態和重新安裝開機載入程式,請執行下列步驟:
執行存取已安裝系統所需的必要步驟,如 第 28.6.4.2.3 節「存取已安裝的系統」 所述。
根據第 10 章「開機載入程式 GRUB」 中概述的 GRUB 組態原則,檢查下列檔案是否正確設定,並在必要時加以修正。
/etc/grub.conf
/boot/grub/device.map
/boot/grub/menu.lst
/etc/sysconfig/bootloader
依序使用下列指令來重新安裝開機載入程式:
grub --batch < /etc/grub.conf
解除裝載分割區,從「變更根目錄」環境登出,並重新啟動系統:
umount -a exit reboot