linux下簡單系統故障排除

來源:互聯網
上載者:User

標籤:linux   程式   控制台   網路   鍵盤   

                                    系統簡單故障排除


1、bash程式故障:

    故障現象:bash程式檔案損毀,導致系統開機後,無法進入bash控制台進行操作;

    解決方案:進入緊急救援模式,重新安裝bash程式;


    [[email protected] ~]# mv /bin/bash /tmp            :類比系統bash程式故障; 
    [[email protected] ~]#       

    [[email protected] ~]# sync                        

    [[email protected] ~]# shutdown -r now              :重啟系統;


    1、掛載系統ios鏡像,重啟系統,調整系統啟動項為cd-rom;

        650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/1A/wKioL1Uamo3zkT1bAAK0DXGQ9PE152.jpg" title="11.jpg" alt="wKioL1Uamo3zkT1bAAK0DXGQ9PE152.jpg" />

        

    2、調整系統進入緊急救援模式:

        650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5C/1A/wKioL1UamyuATJFAAAF5cGeJlt8756.jpg" title="12.jpg" alt="wKioL1UamyuATJFAAAF5cGeJlt8756.jpg" />


    3、選擇語言,使用預設OK;

        650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/1A/wKioL1Uam7Wxr8PCAAEJNuaHQco576.jpg" title="13.jpg" alt="wKioL1Uam7Wxr8PCAAEJNuaHQco576.jpg" />


    4、選擇鍵盤類型,預設OK;

        650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/20/wKiom1UamsKBzTgJAADBk7cao20989.jpg" title="14.jpg" alt="wKiom1UamsKBzTgJAADBk7cao20989.jpg" />


    5、選擇是否啟用網路,這裡無需啟用,NO:

        650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5C/1B/wKioL1UanFLyNA8GAAC2Meh1VKg109.jpg" title="15.jpg" alt="wKioL1UanFLyNA8GAAC2Meh1VKg109.jpg" />


    6、以下此項必須選“Continue”。此項執行將硬碟中linux系統的根分區掛載到光碟片系統/mnt/sysimage檔案夾中。不然無法對硬碟上的系統做操作(重要);

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/20/wKiom1Uam3KhYGNOAAJd5AHjyFE754.jpg" title="16.jpg" alt="wKiom1Uam3KhYGNOAAJd5AHjyFE754.jpg" />



    7、選擇啟動光碟片中的shell;

        650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/20/wKiom1UanFbT8CYcAACeEF_j7Gs480.jpg" title="17.jpg" alt="wKiom1UanFbT8CYcAACeEF_j7Gs480.jpg" />


    8、關在光碟機,安裝bash程式到磁碟;

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/1B/wKioL1UanwqgbPwdAAETgbJFzHs026.jpg" title="18.jpg" alt="wKioL1UanwqgbPwdAAETgbJFzHs026.jpg" />

    (rpm -ivh bash-4.1.2-15.e16_4.x86_64.rpm --replacepkgs --root /mnt/sysimage)


    9、切換至磁碟目錄,發現成功,代表磁碟系統bash程式正常了,重啟系統,更改bios啟動項即可完成。

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/1B/wKioL1Uan7iAGOvoAABc3ySzews000.jpg" title="20.jpg" alt="wKioL1Uan7iAGOvoAABc3ySzews000.jpg" />

        (也可以使用reboot重啟系統)

    ok,重啟系統後,可以嚮往常一樣進入bash控制台,執行各種命令了!!

    解釋:

    當進入緊急救援模式時,其實是進入了光碟片的“小系統”中去了,並未進入真正系統中去。進入“小系統”,如果真實系統的分區表未被破壞,則緊急救援模式會找到硬碟中的linux根分區,並將其掛載到光碟片目錄結構中的“/mnt/sysimage/”檔案夾中;

    因此,當進入“小系統”的shell中後,執行“chroot /mnt/sysimage”命令可以將目錄結構切換到待修複的linux系統當中(前提是linux系統的預設shell程式是正常的);


    結束!



2、grub設定檔丟失:

    故障現象:系統啟動過程中,grub啟動後無法找到設定檔不知道核心在什麼位置,無法完成系統啟動;

    解決方案:啟動系統自動進入grub命令列,通過命令引導核心載入,成功進入系統後,再重建grub設定檔;



    [[email protected] ~]# cd /boot/grub/
    [[email protected] grub]# cat grub.conf
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
    #          initrd /initrd-[generic-]version.img
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.32-431.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=128M LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-431.el6.x86_64.img
    [[email protected] grub]#     :查看grub的啟動設定檔。最好備份一個,紅色部分很重要;


    [[email protected] grub]# mv grub.conf grub.conf.bak
    [[email protected] grub]#
    [[email protected] grub]# shutdown -r now          :類比grub的設定檔丟失。重啟系統;


    1、因為沒有找到核心,所以開機後自動進入grub命令列,等待使用者手動輸入:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/1C/wKioL1UarkewDRyCAAC3JmaRUKc090.jpg" title="1.jpg" alt="wKioL1UarkewDRyCAAC3JmaRUKc090.jpg" />

    

    2、根據之前備份的grub設定檔,手動輸入關鍵項,並重啟系統:

 650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5C/1C/wKioL1UarzvwqwjTAAF7AUMnVxg212.jpg" title="2.jpg" alt="wKioL1UarzvwqwjTAAF7AUMnVxg212.jpg" />

    

    3、正常開機進入系統後,還要手動建立一個grub的設定檔,如果之前有備份直接複製過來即可;

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5C/21/wKiom1UarraypRTPAADfcx0LTP8147.jpg" title="4.jpg" alt="wKiom1UarraypRTPAADfcx0LTP8147.jpg" />

    這裡類比恢複grub設定檔,下一次啟動系統就不會有問題了;


    結束!



3、grub程式被破壞,無法啟動grub程式:

    故障現象:加電啟動系統,自動進入boot命令列;

    解決辦法:進入緊急救援模式,重裝grub程式;


     1、類比破壞grub:

       dd if=/dev/zero of=/dev/sda bs=446 count=1

       :因為MBR中前446位元組存放的是bootloader(grub),使用0去填充,將覆蓋bootloader,類比grub程式破壞;

        注意:不要將446寫成512了,這樣既破壞了bootloader,又破壞了系統磁碟分割表。整個MBR被破壞了,如果沒有備份,將無法輕易恢複(造成無系統狀態);


      2、掛載鏡像光碟片,進入緊急修複模式,修複linux作業系統;

    “Rescue installedsystem” :緊急救援,修複系統;


            3、chroot/mnt/sysimage                                        :切換到系統根目錄。啟動grub命令列;

        grub                                                       :輸入grub命令;

        grub>                                                      :進入grub命令列;

        grub> root (hd0,0)                                         :指定/boot分區時哪個;

        grub> setup (hd0) 或grub-install                           :自動去發現kernel和initrd

        grub>quit   :退出grub命令列;

                                                                   :最後重啟系統拔掉光碟片即可恢複;


4、不小心將grub整個目錄刪除,但是還在當前系統中:

    故障現象:系統當前使用沒有問題,重啟後,無法進入系統了;

    解決辦法:重新安裝grub,手動建立grub設定檔;


    方式一:系統還可以正常

        cd/boot/

        grub-install--root-directory=/ /dev/sd               :執行安裝即可;

    

    方式二:系統被重啟過,自動進入grub命令列

        # grub

        grub>root (hd0,0)

        grub> setup (hd0)

        grub>quite                                       :重啟系統即可恢複;


    結束!

本文出自 “linux營運集錦” 部落格,請務必保留此出處http://5200linux.blog.51cto.com/6012970/1627258

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.