<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux常見緊急情況處理方法

          Linux常見緊急情況處理方法

          作者: 時間:2010-08-08 來源:網(wǎng)絡(luò) 收藏
          一般來說,如果系統(tǒng)管理員不能正常進入系統(tǒng),就需要考慮使用急救盤組進入急救模式排除系統(tǒng)的故障。但在沒有制作急救盤組的下,系統(tǒng)不能啟動,該怎么辦?


            在個人計算機使用 系統(tǒng)時,通常都是和MS Windows 9x或MS Windows NT并存的。

          本文引用地址:http://www.ex-cimer.com/article/151699.htm


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


            如果有急救盤組,那么很簡單,用第一張啟動盤啟動硬盤的Linux系統(tǒng),重新運行LILO命令,就可以將LILO系統(tǒng)引導(dǎo)程序?qū)懟赜脖P的主引導(dǎo)記錄。再次開機即可。


            如果沒有系統(tǒng)啟動盤,怎樣恢復(fù)硬盤上的Linux呢?在這種下,如果知道Linux在硬盤上的確切安裝分區(qū),且有l(wèi)oadlin程序,就可以重新返回Linux。loadlin程序是DOS下的程序,運行它可以從DOS下直接啟動Linux,快速進入Linux環(huán)境。在 Red Hat Linux 6.0光盤的 dosutil/目錄下就有這個程序。除此之外,還需要一個Linux啟動內(nèi)核的映像文件。在 Red Hat Linux 6.0光盤的 images/目錄下有這個文件――vmlinuz。


            例如,在Windows 98系統(tǒng)下面,進入DOS的單用戶模式,然后運行下述的loadlin命令,即可重新進入Linux系統(tǒng):


            loadlin vmlinuz root=/dev/hda8


            /dev/hda8是Linux的root文件系統(tǒng)所在的硬盤分區(qū)位置。命令執(zhí)行后,就引導(dǎo)Linux系統(tǒng)。用root登錄后,運行LILO命令,則重新將LILO裝入MBR,回到以前多操作系統(tǒng)并存使用的狀態(tài)。

           1.使用急救盤組進行維護


            急救盤組(也稱為boot/root盤組),是系統(tǒng)管理員必不可少的工具。 用它可以獨立地啟動和運行一 個完整的Linux系統(tǒng)。實際上,急救盤組中的第2張盤上就有一個完整的Linux系統(tǒng),包括root文件系 統(tǒng);而第1張盤則存放了可啟動的內(nèi)核。使用急救盤組維護系統(tǒng)很簡單。只需用這兩張盤啟動系統(tǒng)后,進入急救模式,這時使用的是root賬戶。為了能訪問硬盤上的文件,需要手工安裝硬盤文件系統(tǒng)。例如,用下面的命令可在/mnt目錄中安裝 /dev/hda2盤上的ext2fs類型的Linux文件系統(tǒng): # monut -t ext2/dev/hda2/mnt


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


            2、文件系統(tǒng)被破壞時的


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


            注:文件系統(tǒng)被破壞的原因是超級塊被損壞,超級塊是文件系統(tǒng)的“頭部”。它包含文件系統(tǒng)的 狀態(tài)、尺寸和空閑磁盤塊等信息。如果損壞了一個文件系統(tǒng)的超級塊(例如不小心直接將數(shù)據(jù)寫到了 文件系統(tǒng)的超級塊分區(qū)中),那么系統(tǒng)可能會完全不識別該文件系統(tǒng),這樣也就不能安裝它了,即使 采用e2fsck命令也不能這個問題。 不過,ext2fs類型的文件系統(tǒng)將超級塊的內(nèi)容進行了備份,并存放于驅(qū)動程序的塊組(block group)邊界。可以用如下的命令通知e2fsck使用超級塊的備份: # e2fsck -b 8193


          它是指文件系統(tǒng)所在的分區(qū),-b 8193選項用于顯示使用存放在文件系統(tǒng)中的8193塊的超級塊的備份數(shù)據(jù)。


            3、恢復(fù)丟失的文件


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


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


            4.函數(shù)庫破壞時的


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

            5、無法用root賬號登錄系統(tǒng)


            由于系統(tǒng)管理員的疏忽,或者由于系統(tǒng)受到黑客的入侵,系統(tǒng)管理員可能無法用root帳號登錄系統(tǒng)。 對于第1種,可能是系統(tǒng)管理員忘記了root密碼,用急救盤組就可以解決問題。 對于第2種情況,由于很可能是密碼被黑客修改了,因此系統(tǒng)管理員無法進入系統(tǒng),也就是說,Linux系統(tǒng)完全失去了控制,因此應(yīng)盡快重新獲得系統(tǒng)的控制權(quán)。在取得 root權(quán)限后,還應(yīng)檢查系統(tǒng)被破壞的情況,以防被黑客再次入侵。 需要做的最主要的工作就是重新設(shè)置root的密碼,獲得Linux操作系統(tǒng)的控制權(quán)。首先用急救盤組啟動系統(tǒng), 然后將硬盤的文件系統(tǒng)安裝到/mnt目錄下,編輯/mnt/etc/passwd文件,將其對應(yīng)于root賬戶的一行加密口 令域置空,如下所示: root::0:0:root:/root:bin/bash


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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: 處理 方法 情況 緊急 常見 Linux

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();