如何修複Linux無法正常啟動故障

來源:互聯網
上載者:User

如何修複Linux無法正常啟動故障 [html] 沒有作業系統能夠確保100%可靠。終有一天,即使Linux也會無法啟動。本文為你提供一些在Linux工作站無法正常啟動時所採用的策略。     不管你多麼喜愛你的Linux機器,有時候你都必須恢複你的系統。是的,即使一台Linux機器也可能遭受系統崩潰:不管是由於視頻配置錯誤、核心更新出錯、或是由於init指令碼配置錯誤,這種情況都是必然的。我看到過大量這種情況——即使在我自己的機器上,大多數是由於X配置出錯——這確實令人沮喪。     在我看來,重新安裝系統並不是最佳救援計劃。有時候,最佳救援計劃甚至不需要從救援磁碟啟動。本文將為如何避免系統崩潰提供一些提示和訣竅,協助你建立恢複崩潰的Linux機器所需的工具。     使用正確的運行層級     安裝好一個新的Linux系統後,我立即採取措施以確保災難不會輕易發生。其中一個措施就是編輯系統的運行層級。運行層級告訴系統離採用引導過程還有多遠。運行層級分為六個等級:     0級:停止(不設定initdefault)     1級:單一使用者模式     2級:多使用者模式,沒有NFS(與3級相同,如果你沒有建立網路)     3級:完整的多使用者模式     4級:不使用     5級:X11     6級:重新啟動(不設定initdefault)     新型的Linux系統幾乎總是預設使用運行級5(X11),表示系統在引導完成後,將會在圖形登入介面處停止。在某物(或某人)使用X配置前,系統一切正常。     然後你必須找到一個登入方法。你可以按下[Ctrl][Alt][F7]進入一個基於文本的虛擬視窗,但為什麼要這麼麻煩呢?相反,我總是在/etc/inittab檔案中將運行級更改為3級。你更改的代碼為:     id:5:initdefault:     它被更改為:     id:3:initdefault:     當X出錯時,這是一個非常簡單的系統復原方法。     多核心     另一個明顯的磁碟恢複方法是總是安裝一個正常運轉的核心。我通常在一個通過yum更新的核心上工作。有時候,核心會出現一些錯誤,使得我的一台或幾台機器無法啟動。     為避免這種情況,我一直保證在機器上使用至少一個正常啟動並執行核心。要解決這個問題,首先應在/etc/yum.conf檔案中添加plugins=1,然後應用這段指令碼(由RedHat的Jeremy Katz編寫),並將它命名為n-installonly.py,儲存在/usr/lib/yum-plugins檔案中。你可以通過修改tookeep變數(預設為2)的方法更新系統所使用核心的數量。     知道系統上有一個正常運轉的核心,你就可以進行安全升級。如果新核心出錯,只需啟動舊核心就可以解決新核心上的問題(不管是刪除、重新編譯還是升級)。     救援模式     如果你在使用Red Hat和LILO引導載入器,你就可以插入產品光碟片1,並在引導提示符下輸入Linuxrescue進入救援模式。啟動機器後,你就會看到bash#提示符。在這個模式下,你可以使用許多工具。     如你所見,有檢查硬碟完整性、修複硬碟、檢查核心模組、裝配裝置、以及建立檔案系統等的工具。此時是進行救援嘗試的最佳時機(如果你使用的是一個Red Hat,或基於Red Hat的系統)。     另一個救援方法是進入單一使用者模式,這裡你的電腦引導進入運行級1。系統裝配你的本地檔案系統,但不啟用網路。你得到一個可用的系統維護外殼。要進入單一使用者模式,在LILO提示符下輸入:     Linuxsingle     或     Linuxemergency     建立一張救援CD     如果你正在使用LILO引入載入器,可以使用一個叫做mkrescue的強大工具。這個工具一般用於建立引導磁碟片,但也可用來建立ISO。其用法如下。     如果你使用Mandriva:     mkrescue --iso --initrd /boot/initrd-KERNEL-NUMBER.img --     kernel /boot/vmlinuz-KERNEL-NUMBER     注意:這裡的KERNEL-NUMBER指核心的版本號碼。     如果你不能確定核心的版本,可以用以下命令找到intrd和vmlinuz的號碼:     uname –r     運行這個命令後,你就會在運行mkrescue命令的目錄中發現一個rescue.iso檔案。現在你可以用以下命令建立鏡像:     首先,檢查建立CD的裝置號碼:     cdrecord –scanbus     然後用以下命令建立鏡像:     cdrecord dev=0,0,0 rescue.iso     注意:這裡的dev=0,0,0是用上面的scanbus命令查出的號碼。     如果你使用Slackware,使用這些步驟建立一張引導CD:     mkrescue –iso     注意:Slackware自動獲知在ISO中放入何種核心。     然後,你可以用建立Mandriva鏡像同樣的方法建立鏡像。     SystemRescueCD     SystemRescueCD是一個儲存在可引導光碟片上的Linux系統,用於在系統崩潰後修複系統和資料。它還可在電腦上方便地執行管理工作,如建立和編輯硬碟分區。它由許多系統工具 + 生產力(parted、partimage、fstools)和基本工具 + 生產力(編輯器、midnight commander檔案管理工具和網路工具)構成。     它使用起來非常簡單。只需要從光碟片啟動你就可以執行一切操作,就像從硬碟啟動一樣。系統核心支援大多數重要的檔案系統(ext2/ext3, reiserfs, reiser4, xfs, jfs, vfat, ntfs, iso9660)和網路(samba和nfs)。     SystemRescueCD可能是市面上最優秀的救援系統。你不僅可以從光碟片上使用這種救援方法,還可以將這個救援系統放在隨身碟上使用。     要在一個隨身碟上建立一個SystemRescueCD,你需要大於256MB的磁碟空間。從Sourceforge下載iso鏡像並把它燒制到光碟片上。現在你必須在隨身碟上建立檔案系統。使用dmesg命令找出隨身碟名稱,然後用以下代碼擦寫隨身碟:     dd if=/dev/zero of=/dev/sda     這裡的/dev/sda是隨身碟的名稱。     現在在隨身碟上安裝主引導記錄:     install-mbr /dev/sda     或     install-mbr --force /dev/sda(如果命令出錯)     現在建立分散分區:     parted /dev/sda     (parted) mkpartfs primary fat32 0 100% // use help or help mkpartfs command to see help     (parted) print // check if the write was ok     (parted) quit     現在已經建立好檔案系統,然後將用SystemRescueCD鏡像燒制的CD中的檔案複製到隨身碟中。保證你複製的檔案等級和CD上的相同。     現在,使得隨身碟可以用sysLinux命令啟動:     sysLinux/dev/sda1     這裡的/dev/sda1是磁碟的名稱。     現在你已經建立了一個你可以整天隨身攜帶的救援隨身碟。由於你使用Linux,你並不需要經常用到它。     最後總結     Linux是一個非常穩定的環境,但由於該系統中還有許多其它系統,它們可能會出現錯誤。雖然我們很容易會由於使用Linux而洋洋自得(因為它存在諸多優點),但瞭解如何拯救一個系統崩潰的機器也不失為一種明智的做法。     當然,不是世界上所有的救援系統都能100%地恢複你的系統,因此你可能希望考慮為你的Linux伺服器和案頭系統實施一個災難恢複計劃。   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.