首頁 | 社區 | 博客 | 招聘 | 文章 | 新聞 | 下載 | 讀書 | 代碼
親,您未登錄哦! 登錄 | 注冊

熟知Linux操作系統緊急情況處理方法

打印文章

分享到:
急救盤組(也稱為boot/root盤組),是系統管理員必不可少的工具。用它可以獨立地啟動和運行一個完整的Linux系統。實際上,急救盤組中的第2張盤上就有一個完整的Linux系統,包括root文件系統;而第1張盤則存放了可啟動的內核。

使用急救盤組維護系統很簡單。只需用這兩張盤啟動系統后,進入急救模式,這時使用的是root賬戶。

為了能訪問硬盤上的文件,需要手工安裝硬盤文件系統。例如,用下面的命令可在/mnt目錄中安裝/dev/hda2盤上的ext2fs類型的Linux文件系:

#monut-text2/dev/hda2/mnt

注:現在根目錄是急救盤上的根目錄。為了訪問硬盤文件系統中的文件,必須先把它安裝到某個目錄下。這樣,如果將硬盤上文件系統安裝在/mmt目錄下,則硬盤上原來的/etc/passwd文件的路徑就是/mnt/etc/passwd。

文件系統被破壞時的處理方法

當文件系統被破壞時,如果使用的是ext2fs類型的文件系統,就可從軟盤運e2fsck命令來修正文件系統中被損壞的數據。對于其他類型的文件系統,可以使用相應的fsck命令。當從軟盤上檢查文件系統時,最好不要mount安裝。

注:文件系統被破壞的常見原因是超級塊被損壞,超級塊是文件系統的“頭部”。它包含文件系統的狀態、尺寸和空閑磁盤塊等信息。如果損壞了一個文件系統的超級塊(例如不小心直接將數據寫到了文件系統的超級塊分區中),那么系統可能會完全不識別該文件系統,這樣也就不能安裝它了,即使采用e2fsck命令也不能處理這個問題。

不過,ext2fs類型的文件系統將超級塊的內容進行了備份,并存放于驅動程序的塊組(blockgroup)邊界。可以用如下的命令通知e2fsck使用超級塊的備份

#e2fsck

-b8193是指文件系統所在的分區,-b8193選項用于顯示使用存放在文件系統中的8193塊的超級塊的備份數據。

恢復丟失的文件

如果不小心刪除了重要的文件,那么沒有辦法直接恢復。但是還可以將相應的文件從急救盤復制到硬盤上。例如,如果刪除了文件/bin/login,此時系統無法正常進到登錄界面,可以用急救盤組啟動系統,將硬盤文件系統安裝到/mnt目錄下,然后使用下述命令:

#cp-a/bin/login/mnt/bin

“-a”選項用于告訴cp在拷貝時保持文件的訪問權限。當然如果被刪除的基本文件不在“急救盤組”中,也就不能用這種方法了。如果以前做過系統備份的話,那么也可以用以前的備份來恢復。

函數庫破壞時的處理方法

如果不小心將系統函數庫文件破壞了,或者破壞了/lib目錄下符號鏈接,那么將導致依賴這些庫的命令無法執行。最簡單的解決辦法是用急救盤組啟動系統,在/mnt目錄中安裝硬盤文件系統,然后修復/mnt/lib目錄下的庫。

無法用root賬號登錄系統

由于系統管理員的疏忽,或者由于系統受到黑客的入侵,系統管理員可能無法用root帳號登錄系統。

對于第1種情況,可能是系統管理員忘記了root密碼,用急救盤組就可以解決問題。

對于第2種情況,由于很可能是密碼被黑客修改了,因此系統管理員無法進入系統,也就是說,Linux系統完全失去了控制,因此應盡快重新獲得系統的控制權。在取得root權限后,還應檢查系統被破壞的情況,以防被黑客再次入侵。

需要做的最主要的工作就是重新設置root的密碼,獲得Linux操作系統的控制權。首先用急救盤組啟動系統,然后將硬盤的文件系統安裝到/mnt目錄下,編輯/mnt/etc/passwd文件,將其對應于root賬戶的一行加密口令域置空,如下所示:

root::0:0:root:/root:bin/bash

注:如果系統使用shadow工具,就需要對文件/etc/shadow進行上述的操作,使root登錄系統不需要口令。這樣,root賬戶就沒有口令了。當重新從硬盤啟動Linux系統時,就可以用root賬戶登錄(系統不會要求輸入密碼)。進入系統后,再用命令passwd設置新的口令。

Linux系統不能啟動

一般來說,如果系統管理員不能正常進入系統,就需要考慮使用急救盤組進入急救模式排除系統的故障。但在沒有制作急救盤組的情況下,Linux系統不能啟動,該怎么辦?在個人計算機使用Linux系統時,通常都是Linux和MSWindows9x或MSWindowsNT并存的。

由于重新安裝其他的操作系統,經常會導致原有的Linux不能啟動。這主要是因為,這些操作系統默認為計算機中沒有其他的操作系統,因而改寫了硬盤的主引導記錄(MBR),沖掉了Linux的LILO系統引導程序。

如果有急救盤組,那么很簡單,用第一張啟動盤啟動硬盤的Linux系統,重新運行LILO命令,就可以將LILO系統引導程序寫回硬盤的主引導記錄。再次開機即可。

如果沒有系統啟動盤,怎樣恢復硬盤上的Linux呢?在這種情況下,如果知道Linux在硬盤上的確切安裝分區,且有loadlin程序,就可以重新返回Linux。loadlin程序是DOS下的程序,運行它可以從DOS下直接啟動Linux,快速進入Linux環境。在RedHatLinux6.0光盤的dosutil/目錄下就有這個程序。除此之外,還需要一個Linux啟動內核的映像文件。在RedHatlinux6.0光盤的images/目錄下有這個文件——vmlinuz。

例如,在Windows98系統下面,進入DOS的單用戶模式,然后運行下述的loadlin命令,即可重新進入Linux系統:

loadlinvmlinuzroot=/dev/hda8

/dev/hda8是Linux的root文件系統所在的硬盤分區位置。命令執行后,就引導Linux系統。用root登錄后,運行LILO命令,則重新將LILO裝入MBR,回到以前多操作系統并存使用的狀態。

本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。( Pfan.cn )

編程愛好者論壇

本欄最新文章

黑龙江p62彩票开奖