天天看點

Linux啟動系統及故障排除

一:Linux的啟動過程:

開機加電自檢—》MBR引導(boot loader占446位元組,分區清單64位元組,magic占2位元組)——》grub菜單(MBR是grub的第一個字段,第二個字段存在于/boot/grub/中)——》加載核心kernel——》啟動第一個程序init——》找到初始化腳本/etc/inittab,這個檔案中有預設的級别——》找到該級别相關的啟動腳本(比如/etc/rc.d/rc.sysinit,然後找到級别3,讀取/etc/rc3.d)——》開機腳本(/etc/rc.d/rc.local)——》啟動mingetty程序(通過mingetty産生終端)

二:模拟故障

模拟主引導記錄MBR出現故障,應該如何排除

1:[root@lyt ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1       #dd 作用是用指定大小的塊拷貝一個檔案,并在拷貝的同時進行指

定的轉換。dev/zero,是一個輸入裝置,可用它來初始化檔案,bs是bytes,446是MBR所占的大小,數量count=1.

2:[root@lyt ~]# init 6         #将系統重新開機,觀察啟動結果。系統無法如圖

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153167p18X.png"></a>

3:在boot後面輸入linux  rescue 進入急救模式,如圖:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153172htx1.png"></a>

4:選擇語言,如圖

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153176q6cT.png"></a>

5:選擇鍵盤類型,如圖

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153178hq8T.png"></a>

6: 是否要配置eth0到您的系統中,這裡隻是恢複MBR,是以選擇no,如圖:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153181Mmbq.png"></a>

7:選擇continue 如圖:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153184ig2c.png"></a>

8:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153187H2JI.png"></a>

9:提示如果要在root下運作,則需切換到:chroot /mnt/sysimage

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153189Y7g8.png"></a>

10:切換到chroot /mnt/sysimage中,并安裝MBR到/dev/sda中

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153199nn1Z.png"></a>

11:兩次使用exit推出急救模式:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153203lYsX.png"></a>

12:測試:系統啟動成功!

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153206FItH.png"></a>

模拟grub菜單(grub.conf)出現故障,應該如何排除

1: /etc/grub.conf和/boot/grub/grub.conf中的grub.conf實質上一樣的

2:模拟grub菜單出故障,将grub.conf改名即可

[root@lyt ~]# cd /boot/grub/    #切換到該目錄下

[root@lyt grub]#  mv grub.conf grub.conf.old     #将grub.conf改名為grub.conf.old

[root@lyt grub]#  init 6     #重新開機系統,觀察遇到的結果 如圖:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_134415321572WL.png"></a>

3:定義引導分區,輸入root後使用table鍵補全指令

4:查找引導分區上的核心

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153222vwMU.png"></a>

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_134415322616WN.png"></a>

5:使用boot指令重新開機系統

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153227lI7Y.png"></a>

6:測試引導是否成功:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153230U4Q6.png"></a>

7:[root@lyt ~]# cd /boot/grub/      #切換到該目錄下

[root@lyt grub]# mv grub.conf.old grub.conf      #此時在系統中隻有grub.conf.old,必須将其名稱改為:grub.conf,否則下次無法正

常啟動

8:測試系統是否正常啟動

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153231Lt8j.png"></a>

模拟初始化腳本/etc/inittab出故障,編輯/etc/fatab,使其出現故障,應該如何排除

1:編輯/etc/fstab

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153236rxoi.png"></a>

2:[root@lyt ~]# init 6    #重新開機系統,觀察是否出現系統不能正常啟動

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153238t1Py.png"></a>

3:(Repair filesystem)3#                 #輸入管理者密碼後進入修複檔案系統模式

(Repair filesystem)3#mount –o rw,remount /       #将根目錄沖新挂載并修改權限為rw

(Repair filesystem)3#vim /etc/fstab    #編輯該檔案  如圖:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153240eU2J.png"></a>

4:(Repair filesystem)3#init 6       #重新開機系統觀察結果:登入成功

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153242VelN.png"></a>

本文轉自 liuyatao666 51CTO部落格,原文連結:http://blog.51cto.com/5503845/954998,如需轉載請自行聯系原作者

繼續閱讀