啟動(dòng)系統(tǒng)故障流程表?
root@localhost ~]# vim /etc/inittab
1 #
2 # inittab This file describes how the INIT process should set up
3 # the system in a certain run-level.
4 #
5 # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
6 # Modified for RHS Linux by Marc Ewing and Donnie Barnes
7 #
8
9 # Default runlevel. The runlevels used by RHS are:
10 # 0 - halt (Do NOT set initdefault to this)
11 # 1 - Single user mode
12 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
13 # 3 - Full multiuser mode
14 # 4 - unused
15 # 5 - X11
16 # 6 - reboot (Do NOT set initdefault to this)
17 #
18 id:3:initdefault: 進(jìn)入3級(jí)別執(zhí)行這個(gè)動(dòng)作,init要進(jìn)行工作的時(shí)候,默認(rèn)情況下進(jìn)入3級(jí)別
19
20 # System initialization.
21 si::sysinit:/etc/rc.d/rc.sysinit 進(jìn)入任何級(jí)別執(zhí)行sysinit這個(gè)動(dòng)作,這個(gè)動(dòng)作表示系統(tǒng)要進(jìn)行初始化。要執(zhí)行/etc/rc.d/rc.sysinit
22
23 l0:0:wait:/etc/rc.d/rc 0
24 l1:1:wait:/etc/rc.d/rc 1
25 l2:2:wait:/etc/rc.d/rc 2
26 l3:3:wait:/etc/rc.d/rc 3 默認(rèn)是3級(jí)別,因此會(huì)執(zhí)行這一行,把3作為參數(shù)傳遞給rc這個(gè)腳本。最后的結(jié)果會(huì)進(jìn)入rc3.d這個(gè)目錄。
27 l4:4:wait:/etc/rc.d/rc 4
28 l5:5:wait:/etc/rc.d/rc 5
29 l6:6:wait:/etc/rc.d/rc 6
30
31 # Trap CTRL-ALT-DELETE
32 ca::ctrlaltdel:/sbin/shutdown -t3 -r now 無(wú)論在哪一種級(jí)別下用戶都可以使用ctrl-alt-del來(lái)啟動(dòng)機(jī)器,這樣很危險(xiǎn),所以在用的時(shí)候最好把它禁用掉。
33
34 # When our UPS tells us power has failed, assume we have a few minutes
35 # of power left. Schedule a shutdown for 2 minutes from now.
36 # This does, of course, assume you have powerd installed and your
37 # UPS connected and working correctly.
38 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" 交流電失敗后,一般重要的服務(wù)器都是用一些后備電源的(UPS)。當(dāng)服務(wù)器檢測(cè)到交流電沒(méi)了,后備電源已經(jīng)通上了,然后開(kāi)始向主機(jī)上登錄的所有用戶去發(fā)送指令:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down
39
40 # If power was restored before the shutdown kicked in, cancel it.
41 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" 當(dāng)電源恢復(fù)了,取消關(guān)機(jī)指令。
42
43
44 # Run gettys in standard runlevels
45 1:2345:respawn:/sbin/mingetty tty1
46 2:2345:respawn:/sbin/mingetty tty2
47 3:2345:respawn:/sbin/mingetty tty3
48 4:2345:respawn:/sbin/mingetty tty4
49 5:2345:respawn:/sbin/mingetty tty5
50 6:2345:respawn:/sbin/mingetty tty6
/sbin/mingetty 產(chǎn)生字符終端,在2345級(jí)別都是6個(gè)終端。Respawn表示再生的意思,只要終端一注銷,還會(huì)產(chǎn)生一個(gè)終端。
51
52 # Run xdm in runlevel 5
53 x:5:respawn:/etc/X11/prefdm -nodaemon
53,1 Bot
開(kāi)機(jī)腳本: /etc/rc.d/rc.local 希望自動(dòng)執(zhí)行的一些指令可以編輯在這個(gè)文件里。
啟動(dòng)時(shí)故障排除:
啟動(dòng)的時(shí)候,故障往往表現(xiàn)在grub的第一階段和第二階段。
第一階段:就是在MBR的446B可能會(huì)出現(xiàn)問(wèn)題,一旦出現(xiàn)問(wèn)題后面的grub菜單根本看不到。
第二階段:如果沒(méi)有g(shù)rub菜單的話,就無(wú)法選擇操作系統(tǒng),所以第二階段往往是它的配置文件和說(shuō)明文件。而第一階段純粹就是程序,所以這兩個(gè)階段是最容易出現(xiàn)問(wèn)題的。
現(xiàn)在模擬第一階段出現(xiàn)問(wèn)題的情況:
將引導(dǎo)程序覆蓋掉,重啟一下(重啟之前斷開(kāi)與光盤的連接)
重啟:
硬盤進(jìn)不了引導(dǎo),進(jìn)而用PXE進(jìn)行網(wǎng)絡(luò)引導(dǎo)。出現(xiàn)這種情況需要重建MBR,重建MBR
要先使用光盤引導(dǎo)進(jìn)去:
出現(xiàn)了如上界面,這時(shí)不要回車,回車就成了安裝了。這時(shí)候輸入linux rescue 進(jìn)入急救模式,利用引導(dǎo)光盤來(lái)進(jìn)入急救模式。
如果說(shuō)能夠找到系統(tǒng)的話,將會(huì)把系統(tǒng)掛載到/mnt/sysimage目錄下。上面提示系統(tǒng)已經(jīng)被掛載到/mnt/sysimage/目錄下,進(jìn)去之后需要chroot /mnt/sysimage,把/mnt/sysimage這個(gè)目錄作為根目錄
使用grub指令重建MBR里面的446B。
指明引導(dǎo)系統(tǒng):這里面支持Tab鍵
root(hd0,0)
之后再執(zhí)行
setup(hd0):MBR是針對(duì)一塊盤的,所以寫hd0,表示第一塊盤。
setup是grub里面的一個(gè)子程序,它可以用于幫助重建第一階段和第二階段。
執(zhí)行好之后,輸入quit退出,執(zhí)行兩次exit之后將會(huì)自動(dòng)進(jìn)行啟動(dòng)。
grub引導(dǎo)第二階段主要生成了很多文件,這些文件在/boot/grub/目錄下:
[root@Device-8C324C ~]# ll /boot/grub/
total 234
-rw-r--r-- 1 root root 63 Dec 21 05:06 device.map
-rw-r--r-- 1 root root 7584 Dec 21 05:06 e2fs_stage1_5
-rw-r--r-- 1 root root 7456 Dec 21 05:06 fat_stage1_5
-rw-r--r-- 1 root root 6720 Dec 21 05:06 ffs_stage1_5
-rw------- 1 root root 598 Dec 21 05:06 grub.conf
-rw-r--r-- 1 root root 6720 Dec 21 05:06 iso9660_stage1_5
-rw-r--r-- 1 root root 8192 Dec 21 05:06 jfs_stage1_5
lrwxrwxrwx 1 root root 11 Dec 21 05:06 menu.lst -> ./grub.conf
-rw-r--r-- 1 root root 6880 Dec 21 05:06 minix_stage1_5
-rw-r--r-- 1 root root 9248 Dec 21 05:06 reiserfs_stage1_5
-rw-r--r-- 1 root root 32428 Jan 5 2007 splash.xpm.gz
-rw-r--r-- 1 root root 512 Dec 21 05:06 stage1 第一階段的描述信息 共512B
-rw-r--r-- 1 root root 104988 Dec 21 05:06 stage2 stage2的描述信息,stage2主要包含了列出來(lái)的這些文件。
-rw-r--r-- 1 root root 7072 Dec 21 05:06 ufs2_stage1_5
-rw-r--r-- 1 root root 6272 Dec 21 05:06 vstafs_stage1_5
-rw-r--r-- 1 root root 8904 Dec 21 05:06 xfs_stage1_5
所以第二階段可以理解為在/boot/grub/目錄下生成了很多文件。第一階段主要是程序,第二階段主要是一些配置和說(shuō)明文件。配置文件中最重要的是/etc/grub.conf
模擬/boot/grub/grub.conf文件丟失的情況:
重啟時(shí),發(fā)現(xiàn)已經(jīng)啟動(dòng)了grub,當(dāng)看到這種信息的時(shí)候,說(shuō)明第二階段失效了,問(wèn)題就是缺少了說(shuō)明文件或者是配置文件,所以才造成無(wú)法啟動(dòng)。(出現(xiàn)這種情況的時(shí)候要使用命令啟動(dòng)第二階段,使用help可以查看命令)
這就是靠指令將它啟動(dòng)起來(lái),如果不是靜默模式,屏幕上會(huì)出現(xiàn)一堆信息。
成功啟動(dòng)后,要手工建立這個(gè)第二階段的配置文件,直接靠指令來(lái)啟動(dòng)的話會(huì)產(chǎn)生第二階段的其他文件,但是這個(gè)配置文件是不會(huì)產(chǎn)生的。
重啟:
使用指令來(lái)產(chǎn)生grub第二階段的其他文件:
#grub-install -root-directory=/ /dev/sda
建grub第一階段的步驟:
grub
root (hd0,0)
setup (hd0)
模擬(把/boot/grub/目錄刪了,意味著第二階段里面的所有說(shuō)明文件配置文件都沒(méi)有了。實(shí)驗(yàn)前記得備份)
加載grub1.5,上面表示加載到grub1.5階段的時(shí)候起不來(lái),找不到第二階段的文件。像這種情況,只能使用急救模式。用光盤引導(dǎo)的時(shí)候發(fā)現(xiàn)光盤引導(dǎo)不了,說(shuō)明這個(gè)階段是硬盤在引導(dǎo)。硬盤在引導(dǎo),說(shuō)明第一階段沒(méi)有問(wèn)題。可以在虛擬機(jī)的CMOS里面設(shè)置硬盤引導(dǎo)。設(shè)置成光盤引導(dǎo),接著進(jìn)入急救模式
/boot/grub/目錄下的文件生成成功,但是沒(méi)有g(shù)rub.conf這個(gè)文件。由于是光盤引導(dǎo)的,所以先把光盤去了再退出。這時(shí)就是以硬盤的方式來(lái)引導(dǎo)。
起來(lái)之后再為它創(chuàng)建一個(gè)grub.conf就可以了。接著再重啟試一下。
grub是一個(gè)引導(dǎo)程序,分為兩階段。第一階段就在主引導(dǎo)記錄的446個(gè)字節(jié)里面,第二階段就在grub目錄下。一個(gè)完整的程序少了一段肯定是不行的。
所以說(shuō):一階段實(shí)際上是靠grub里面的一個(gè)子命令叫setup來(lái)建立。二階段要使用grub-install來(lái)建立。
除了遇到這種一類故障、二類故障之外,有時(shí)候還有一種比較常見(jiàn)的故障:
發(fā)現(xiàn)管理員口令丟了,只要物理上能接觸到機(jī)器,這些密碼都能夠解決,所以安全來(lái)看的話,首要的應(yīng)該是物理安全。解決方法是進(jìn)入一級(jí)別更改口令或者直接刪除口令。
還有一種故障是:只要在引導(dǎo)過(guò)程當(dāng)中牽扯到的一些文件,在編譯的過(guò)程中可能會(huì)出現(xiàn)
一些故障。
比如/etc/fstab(文件系統(tǒng)表,這里面表明了每一個(gè)要掛載的分區(qū),若誤操作了,這個(gè)文件又是引導(dǎo)的時(shí)候要用的文件)
能走到這一步,說(shuō)明grub一階段和二階段都是沒(méi)有問(wèn)題的。
提示輸入root密碼進(jìn)入維護(hù),或者按Control-D繼續(xù)來(lái)啟動(dòng),
進(jìn)入維護(hù)模式 修改/etc/fstab 但是提示只讀,所以這時(shí)候要將根重新掛載一次: