2017-09-20 15:22:50 1489瀏覽
Linux培訓(xùn)大綱Linux培訓(xùn)學(xué)習(xí)之故障修復(fù)。Linux系統(tǒng)在啟動(dòng)過程中會(huì)出現(xiàn)一些故障,導(dǎo)致系統(tǒng)無(wú)法正常啟動(dòng),廢話不多說了,我們一塊來(lái)看一下故障修復(fù)的案例吧。
(一)單用戶模式
Linux系統(tǒng)提供了單用戶模式(類似Windows安全模式),可以在最小環(huán)境中進(jìn)行系統(tǒng)維護(hù)。在單用戶模式(運(yùn)行級(jí)別1)中,Linux引導(dǎo)進(jìn)入根shell,網(wǎng)絡(luò)被禁用,只有少數(shù)進(jìn)程運(yùn)行。單用戶模式可以用來(lái)修改文件系統(tǒng)損壞、還原配置文件、移動(dòng)用戶數(shù)據(jù)等。
以下列舉了兩個(gè)單用戶模式修復(fù)系統(tǒng)故障的典型案例:
案例一:硬盤扇區(qū)錯(cuò)亂
在啟動(dòng)過程中最容易遇到的問題就是硬盤可能有壞道或扇區(qū)錯(cuò)亂(數(shù)據(jù)損壞)的情況,這種情況多由于異常斷電、不正常關(guān)機(jī)導(dǎo)致。此種問題發(fā)生,在系統(tǒng)啟動(dòng)的時(shí)候,屏幕會(huì)顯示:
Press root password or ctrl+D:此時(shí)輸入root密碼系統(tǒng)自動(dòng)進(jìn)入單用戶模式,輸入“fsck -y /dev/hda6”(fsck為文件系統(tǒng)檢測(cè)修復(fù)命令,“-y”設(shè)定檢測(cè)到錯(cuò)誤自動(dòng)修復(fù),/dev/hda6為發(fā)生錯(cuò)誤的硬盤分區(qū),請(qǐng)依據(jù)具體情況更改此參數(shù)),系統(tǒng)修復(fù)完成后,用命令“reboot”重新啟動(dòng)即可。
案例二、GRUB選項(xiàng)設(shè)置錯(cuò)誤
“Error 15”顯示系統(tǒng)無(wú)法找到grub.conf中指定的內(nèi)核。 GRUB引導(dǎo)錯(cuò)誤信息,我們觀察發(fā)現(xiàn)因?yàn)榇蜃皱e(cuò)誤,內(nèi)核文件的“vmlinuz”打成了“vmlinux”,所以系統(tǒng)無(wú)法找到內(nèi)核的可執(zhí)行文件。我們可以按任意鍵回到GRUB編輯界面,修改此錯(cuò)誤,回車保存后按“b”鍵即可正常引導(dǎo),當(dāng)然不要忘記進(jìn)入系統(tǒng)后修改grub.conf文件中此處錯(cuò)誤。這是很多初學(xué)Linux的用戶在修改GRUB設(shè)置時(shí)很容易犯的錯(cuò)誤,出現(xiàn)此黑屏提示時(shí)注意觀察報(bào)錯(cuò)信息,即可針對(duì)性修復(fù)。
(二)GRUB引導(dǎo)故障排除
我發(fā)現(xiàn)有時(shí)Linux啟動(dòng)后會(huì)直接進(jìn)入GRUB命令行界面(只有“grub>”提示符),此時(shí)很多用戶就選擇了重新安裝GRUB甚至重新安裝系統(tǒng)。其實(shí)一般而言此故障的原因最常見的有兩個(gè):一是GRUB配置文件中選項(xiàng)設(shè)置錯(cuò)誤;二是GRUB配置文件丟失(還有少數(shù)原因,如內(nèi)核文件或鏡像文件損壞、丟失,/boot目錄誤刪除等),如果是第一種情況,可以首先通過GRUB命令引導(dǎo)系統(tǒng)后修復(fù);若是第二種情況,則要使用Linux救援模式修復(fù)了(本文后續(xù)有描述)。
首先,我們需要了解GRUB啟動(dòng)系統(tǒng)的引導(dǎo)過程,grub.conf文件中主要的配置選項(xiàng)如下(注意,GRUB配置文件為/boot/grub/grub.conf, /etc/grub.conf只是此文件的軟鏈接):
title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.18-1.2798.fc6.img
其中“title”段指定了GRUB引導(dǎo)的系統(tǒng):“root”段指定了/boot分區(qū)所在的位置:“kernel”段指定了內(nèi)核文件所在位置,內(nèi)核加載時(shí)權(quán)限屬性為只讀(“ro”)以及指定根分區(qū)所在位置(root=LABEL=/);initrd指定了鏡像文件所在位置。所以GRUB在引導(dǎo)時(shí)順序?yàn)槭紫燃虞d/boot分區(qū),然后依次載入內(nèi)核與鏡像文件。
案例:“title Fedora Core (2.6.18-1.2798.fc6)”段被誤刪除
此時(shí),系統(tǒng)啟動(dòng)后會(huì)自動(dòng)進(jìn)入“GRUB>”命令行,為排除故障我們可以依次做如下操作:
1、查找/boot/grub/grub.conf文件所在分區(qū)GRUB> find /boot/grub/grub.conf(hd0,0)
2、查看grub.conf文件錯(cuò)誤GRUB>cat (hd0,0)/boot/grub/grub.conf建議系統(tǒng)安裝設(shè)置好后,要將grub.conf文件備份,如果有備份文件如grub.conf.bak,則此時(shí)可以查看備份文件,與當(dāng)前文件比較,發(fā)現(xiàn)錯(cuò)誤:GRUB>cat (hd0,0)/boot/grub/grub.conf.bak
3、確認(rèn)錯(cuò)誤后,先通過命令行方式完成GRUB引導(dǎo),進(jìn)入系統(tǒng)后再行修復(fù)grub.conf文件錯(cuò)誤:1)指定/boot分區(qū)root (hd0,0)
2)指定內(nèi)核加載kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet 3)指定鏡像文件所在位置initrd /boot/initrd-2.6.18-1.2798.fc6.img
提示:GRUB支持tab鍵命令補(bǔ)全功能
4、從/boot分區(qū)啟動(dòng)boot (hd0,0)
命令行模式可以在GRUB菜單模式中通過按“c”鍵調(diào)用,也可以用于測(cè)試新編譯的內(nèi)核(設(shè)置kernel、initrd引導(dǎo)新內(nèi)核及鏡像文件)。增加對(duì)GRUB引導(dǎo)以及Linux系統(tǒng)引導(dǎo)知識(shí)的了解將對(duì)此類故障排除大有幫助。
(三)Linux救援模式應(yīng)用
當(dāng)系統(tǒng)連單用戶模式都無(wú)法進(jìn)入時(shí)或出現(xiàn)GRUB命令行也不能解決的引導(dǎo)問題,我們就需要使用Linux救援模式來(lái)進(jìn)行故障排除了。步驟如下:
1、將Linux安裝光盤(如果使用CD光盤,則放入第一張引導(dǎo)光盤)放入光驅(qū),設(shè)置固件CMOS/BIOS為光盤引導(dǎo),當(dāng)Linux安裝畫面出現(xiàn)后,在“boot:”提示符后輸入“l(fā)inux rescue”回車進(jìn)入救援模式。(想了解救援模式詳細(xì)信息,還可以按F5鍵查看)
2、系統(tǒng)會(huì)檢測(cè)硬件,引導(dǎo)光盤上的Linux環(huán)境,依次提示你選擇救援模式下使用的語(yǔ)言(建議選擇默認(rèn)的英文即可,根據(jù)筆者測(cè)試,部分Linux系統(tǒng)選擇中文會(huì)出現(xiàn)亂碼);鍵盤設(shè)置用默認(rèn)的“us”就好;網(wǎng)絡(luò)設(shè)置可以根據(jù)需要,大部分故障修復(fù)不需要網(wǎng)絡(luò)連接,可不進(jìn)行此項(xiàng)設(shè)置,選擇“No”。
3、接下來(lái)系統(tǒng)將試圖查找根分區(qū),出現(xiàn)掛載提示,設(shè)置默認(rèn)在救援模式,硬盤的根分區(qū)將掛載到光盤Linux環(huán)境的/mnt/sysimage目錄下,默認(rèn)選項(xiàng)“continue”表示掛載權(quán)限為讀寫:“Read-only”為只讀,如果出現(xiàn)檢測(cè)失敗可以選擇“skip”跳過。此處,因?yàn)橐獙?duì)系統(tǒng)進(jìn)行修復(fù),所以需要有讀寫權(quán)限,一般選擇默認(rèn)選項(xiàng)“continue”。
進(jìn)入下一步后,系統(tǒng)提示執(zhí)行“chroot /mnt/sysimage”命令,可以將根目錄掛載到我們硬盤系統(tǒng)的根目錄中去。
案例一:雙系統(tǒng)啟動(dòng)修復(fù)
當(dāng)我們安裝雙系統(tǒng)環(huán)境,先安裝Linux再安裝Windows;或者已經(jīng)安裝好雙系統(tǒng)環(huán)境的Windows損壞,在重新安裝Windows后,保存 GRUB的MBR(Master Boot Record,主引導(dǎo)記錄)會(huì)被Windows系統(tǒng)的自舉程序NTLDR所覆蓋,造成Linux系統(tǒng)無(wú)法引導(dǎo)。
1、如果要恢復(fù)雙系統(tǒng)引導(dǎo),首先用上述方法進(jìn)入救援模式,執(zhí)行chroot命令如下:
sh-3.1# chroot /mnt/sysimage
2、將根目錄切換到硬盤系統(tǒng)的根目錄中,然后執(zhí)行grub-install命令重新安裝GRUB:
sh-3.1# grub-install /dev/hda
“/dev/hda”為硬盤名稱,如使用SCSI硬盤或Linux安裝在第二塊IDE硬盤,此項(xiàng)設(shè)置要做相應(yīng)調(diào)整。
3、然后依次執(zhí)行exit命令,退出chroot模式及救援模式(執(zhí)行兩次exit命令):
sh-3.1# exit
系統(tǒng)重啟后,將恢復(fù)GRUB引導(dǎo)的雙系統(tǒng)啟動(dòng)。
扣丁學(xué)堂Linux視頻教程講師:扣丁學(xué)堂Linux培訓(xùn)課程由大牛講師全程講解,采用分階段教學(xué)法保證學(xué)員所學(xué)知識(shí)最新最全,舉一反三,最大限度調(diào)動(dòng)學(xué)員的積極性與創(chuàng)造性??鄱W(xué)堂Linux培訓(xùn)課程采用真實(shí)的商業(yè)案例教學(xué),秉承實(shí)戰(zhàn)為王的超強(qiáng)理念,注重增強(qiáng)學(xué)員實(shí)戰(zhàn)能力,扣丁學(xué)堂歡迎你來(lái)學(xué)習(xí)。
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>