linux啟動順序_第1頁
linux啟動順序_第2頁
linux啟動順序_第3頁
linux啟動順序_第4頁
linux啟動順序_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、簡單介紹RHEL開機時的先后順序BIOS > MBR > Kernel > init1、當電腦一打開電源時電腦就會進入BIOS(BIOS的工作主要是檢測一些硬件設備);2、檢測完后會進入MBR也就是boot loader(MBR位于硬盤的第一個扇區(qū)總共512bytes,其中前446bytes里面的編碼是在選擇引導分區(qū)也就是決定要由哪個分區(qū)來引導);3、載入系統(tǒng)的Kernel(核心),在Kernel里主要是載入電腦設備的驅動程序,以便可以控制電腦上的設備,并且以只讀方式來掛載根目錄,也就是一開始只能讀取到根目錄所對應的那個分區(qū),所以/etc、/bin、/sbin、/dev、

2、/lib這五個目錄必須同根目錄在一個分區(qū)中;4、最后啟動init這個程序,所以init這個程序的進程編號為1,是Linux中第一個執(zhí)行的程序;init這個程序會根據 Run level來執(zhí)行以下這些程序:·/etc/rc.d/rc.sysinit;·/etc/rc.d/rc 和 etc/rc.d/rc?.d/·/etc/rc.d/rc.local·如果有適當的圖形界面管理程序 二、BIOS初始化時主要的三個任務BIOS(Basic Input/Output System)1、電腦周邊設備的檢測,加電自檢 POST (Power on self test)

3、;2、BIOS會選擇要由哪一個設備來開機,例如:軟盤啟動、光盤啟動、網絡啟動、最常見的從硬盤啟動;3、選擇好由哪個設備開機后,就開始讀取這個設備的 MBR 引導扇區(qū); 三、介紹Boot Loader中的主要工作1、Boot Loader可以安裝在兩個地方:· 安裝在硬盤的MBR中;· 當有時候MBR中被其他開機管理程序占用就可以將 Boot Loader 安裝在硬盤中的其中一個分區(qū)的引導扇區(qū)上,;2、Boot Loader的程序碼分為兩個階段:   (1)Boot Loader第一階段的程序碼非常小,只有446bytes,可以存入在MBR或是某一個分區(qū)的

4、引導扇區(qū)里,   (2)Boot Loader第一階段的程序碼是從 boot 分區(qū)來載入的,就是說 Boot Loader 第二階段程序碼存放在 /boot 這個分區(qū)中; 3、下面來看三個Boot Loader 的開機流程范例,如在一塊硬盤中安裝了兩個系統(tǒng)分別為:windows 2003 和 Red hat linux當電腦開機后,會先載入MBR通過第一階段程序碼來載入第二階段程序碼,進入GRUB開機菜單這里選擇哪個系統(tǒng)就會載入相應的核心;四、介紹GRUB和grub.conf 這個配置文件的內容其實從MBR載入Boot Loader開始,載入Kernel,載入init這些程

5、序之間都是由GRUB這個多重開機管理程序所負責的。1、GRUB (GRand Unified Bootloader)擁有以下特性:· GRUB的開機管理程序可以在開機提示字元的界面下輸入指令;例如在GRUB界面下可以按C鍵就會來到以 grub> 開頭的提示符來輸入據指令;· GRUB的開機管理程序可以支持以下幾種文件系統(tǒng):ext2/ext3、ReiserFS、JFS、FAT、minix、FFS 等等;· 支持MD5的密碼來保護GRUB的配置文件;2、/boot/grub/grub.conf   這個配置文件是GRUB 的配置文件,在做修改

6、前推薦先做好備份   下面來介紹這個配置文件的內容以及里面的語法:· 以#開頭的行為注解執(zhí)行時不會使用;· 可以以title開頭的一行為準,分為上下兩部分:(1)基本設定: default=0      指預設使用第一組title的系統(tǒng)記錄開機,如果有多個title表示有多重啟動,如果預設要使用第二組系統(tǒng)開機就將此值設為1timeout=5     指進入GRUB的界面后,會有5秒時間讓使用者選擇要啟動的系統(tǒng),如果未選擇自動使用上面的default設定的值;spla

7、shimage=(hd0,0)/grub/splash.xpm.gz   開機時使用的背景圖案,這里的(hd0,0)意思為(硬盤編號,分區(qū)編號)hiddenmenu   隱藏開機的菜單(2)用于區(qū)分多個系統(tǒng)的設定,如果這臺主機中還安裝了其它系統(tǒng)并設定了多重啟動,在這里還可以看到其它系統(tǒng)的設定; title Red Hat Enterprise Linux AS (2.6.9-11.EL)     在GRUB開機菜單中所顯示的開機的系統(tǒng)名稱    root (hd0,0) &#

8、160;  指定下面的檔案位于哪個目錄中,這個 hd0,0 同樣指的是用于指引導的目錄,通常指/boot目錄    kernel /vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet   設定kernel鏡像的存放位置,這個位置相對于上面root 那一行所指定的位置的相對位置, ro root=LABEL=/ 是設定/在根目錄的位置,ro是只讀的意思,也就是以只讀方式掛載根目錄,也可以使用 root=/dev/hda2 類似于這種形式來掛載根目錄;rhgb 意思是以圖形界面顯示開機過程,去掉則

9、以文字界面顯示;quiet 意思是設定開機過程中不顯示錯誤信息;    initrd /initrd-2.6.9-11.EL.img   將這個指定的文件載入到內存中,這個文件里都是存放一些驅動程序;3、如果我們修改完 grub.conf 這個配置文件后,設定為立即生效;4、另外,如果硬盤上的MBR被清除掉了,可使用下面的指令來重新安裝 boot loader 到MBR中:    /sbin/grub-install /dev/hda 5、介紹進入GRUB的開機管理程式可以做哪些動作(開機前改Kernel的參數)(

10、1)開機后在進入GRUB界面后,先選擇要使用的系統(tǒng)(這里選擇Linux)(2)按下a鍵,可以在開機修改Kernel的參數,也就是可以傳一個參數給Kernel;這時可以看到下面這個界面(3)上圖中 root=LABEL=/  這部分不可以動,將后面的都去掉后,先輸入一個空格再輸入一個1,如下圖:這個1 就是附加的一個參數,表示要進入單用戶模式,不需要輸入root密碼就可以以root身份登錄;()當進入到#提示字元時,就可以設定root 密碼了。 這時會發(fā)現一個問題任何人到主機前都可以通過這種方式修改ROOT密碼是很不安全的。6、為GRUB進入單用戶模式設定密碼及加密方法:在G

11、RUB的設定檔中設定密碼,以防止非法者以單用戶模式進入。(1)編輯grub.conf配置文件,在基本設定的部分里,插入一行 password 123456 來設定密碼,這里是將密碼設定為 123456 。 (2)當重新開機后,在GRUB的菜單中,需要輸入 P ,再輸入密碼才可以進行下一步,選擇其它的模式。 (3)可以發(fā)現上面設定的密碼是明文的,在GRUB中是可以對這個密碼進行加密的,如下圖:  注:grub-md5-crypt這個指令在設定一個加密的密碼的時候,就算每次輸入的密碼相同經加密后也是不同的,所以上面的幾組密碼都不一樣,grub-md5-crypt &g

12、t;> /boot/grub/grub.conf  這行指令在執(zhí)行后不會你上面那樣會提示出輸入兩次密碼,雖然沒有提示但還是可以輸入的,每輸入一次密碼按一次回車,等設定好密碼后,再打開grub.conf文件時,就會發(fā)現經過加密的密碼就追加到了grub.conf文件中去了,將追加文件中的前二行去掉,第三行就是要使用的密碼了,然后就像上圖中那樣進行設定,等上面的設定好后,一定要刪除掉最后三行的內容,不然會出錯的。password -md5 這里面的md5 表示后 面使用的密碼是經過md5加密的。 7、在進入系統(tǒng)前,按E鍵進入命令編輯模式,來修改引導配置文件在GRUB菜單選擇

13、時,按"e"鍵,就可以看到所對應系統(tǒng)的三行grub.conf中的配置參數,選擇有錯誤的一行,再按"e"鍵,可修改這一行:如下圖:選擇了第二行,按E鍵,就可以修改這行內容了,這里只是未了舉例子,將正常啟動的一行改為了要使用單用戶模式啟動,修改完成后按回車,返回上一界面,再按"b"鍵,使用編輯后的設定開機。  五、介紹Kernel初始化時所做的工作Kernel在開機時,有以下四項工作:1、檢測電腦上的硬件設備;2、將檢測到的硬件驅動程序載入Kernel;3、如果必要的驅動載入后 Kernel 將根目錄以只讀方式掛載進來;4、Ke

14、rnel載入第一個程序 init 這個程序; 六、介紹 init 這個程序在初始化時做了哪些工作init 程序讀取的是 /etc/inittab 這個配置文件來決定要做哪些操作1、決定預設要使用哪個 Run Level  下面介紹幾個常用的(Run Level 將在下節(jié)做詳細介紹)   Run Level 可以從 0 到 6 分為7種· run level 1 :單用戶模式,主要用來維護系統(tǒng),這在前面已經使用過了;· run level 3 :會啟用完整的服務但登錄后進入文字模式;· run level 5 :啟用完整的服務登錄后進入

15、圖形界面模式;注:在 inittab 的配置文件里 id:5:initdefault:  這項 initdefault 的前面設定為5 表示預設會用 run level 5,也就是默認啟用完整服務并進入圖形界面模式。2、init 會執(zhí)行初始作業(yè)系統(tǒng)的程序3、init會根據執(zhí)行的 run level 來執(zhí)行 run level 對應目錄里面的程序,如果 inittab 配置文件里預設的 run level 是5,那么就會把5的參數傳給 /etc/rc.d/rc 這個程序執(zhí)行,在/etc/rc.d目錄下就可以看到 rc0.d 至 rc6.d 七個目錄 run level 所對應的目錄,所

16、以init 程序會根據執(zhí)行的 run level 來執(zhí)行 run level 對應目錄里面的程序,來決定要啟用哪些服務。  4、設某個組合鍵,如下圖:定義快捷鍵,按這三個組合鍵3秒后重啟系統(tǒng) 6、在定義UPS不斷電系統(tǒng),當電源發(fā)生問題時,以及電源恢復時都要執(zhí)行哪些程序。 6、產生六個 virtual consoles (虛擬控制臺)(tty1tty6)7、如果啟動的是 run level 5 ,初始化工作就會啟動 X11(圖形界面) 七、iniit初始化流程圖以下小節(jié)將依據上面的流程圖為準逐一介紹 八、介紹 Run Level (init初始化流程第一步

17、)其中在 Run Level 里除了06這七種外,還有 S 和 emergency 這兩種 Run Level 功能 0 用來做關機用的(不可以設在initdefault里) 1,S,emergency 單用戶模式(只允許root帳號登錄,主要是用來做維護系統(tǒng)工作) 2 可以允許所有使用者登錄,但不啟用網絡功能 3 允許所有使用者登錄,擁有完整的功能,但是以文字模式進入系統(tǒng) 4 用戶可自定義的,預設下與Run level 3是相同的 5 與 Run level 3 功能是一樣的,允許所有使用者登錄,擁有完整功能,以圖形界面模式進入系統(tǒng) 6 用于重啟主機(不可以設在initdefault里)Ru

18、n Level 1,S,emergency 這三種執(zhí)行時的主要差別在于執(zhí)行程序的多少:· 1 :執(zhí)行init程序后,會接著執(zhí)行/etc/rc.sysinit程序來初始化系統(tǒng),再執(zhí)行 /etc/rc1.d/目錄下的所有程序;· S:執(zhí)行init程序后,只會執(zhí)行/etc/rc.sysinit 程序來初始化系統(tǒng);· emergency:執(zhí)行init程序后,只會執(zhí)行 /etc/rc.sysinit  程序中某些必要的程序,并不會全部執(zhí)行;1、介紹一些Run level 的特性Run level 是使用 init 這個指令來定義要使用哪個 run level。2、

19、下面有三種方式可以選擇要使用哪個 Run level(1)在開機時,預設 run level會設定在 /etc/inittab 這個文件中,例如:initdefault 前面的值;(2)可以從 boot loader 傳一個參數給 kernel (例如:在GRUB的引導菜單按“a”鍵,在開機前可以給kernel傳一個參數以單用戶模式登錄系統(tǒng))(3)在開機進入 Linux 系統(tǒng)后,可以使用 init 指令,再輸入要進入哪個run level ;(例如:init 5 進入run level 5)3、使用 runlevel 指令執(zhí)行后,就可以在下面顯示當前在哪個級別下;  

20、60; /sbin/runlevel 九、介紹 /etc/rc.d/rc.sysinit 這個程序主要做哪些工作(init初始化流程第二步)rc.sysinit 這個文件是一個腳本文件,主要是一些判斷程序,還有一些設定變數的程式;rc.sysinit 這個文件的工作如下:1、啟動 udev ,也就是啟用熱插拔的設備,例如:USB,并且也會啟動SELinux;2、會把kernel的參數設定在/etc/sysctl.conf配置文件里;這個配置文件下下單元詳細說明;3、設定系統(tǒng)時間;4、載入 keymaps 設定,keymap設定是在定義鍵盤,這樣電腦開機時才能找到相對應的鍵盤設定;5、啟用swa

21、p這個虛擬內存的分區(qū);6、設定主機名稱,主機名稱設定在 /etc/sysconfig/network 配置文件中的 HOSTNAME= 項下;7、 檢查根目錄有沒有問題,并且重新掛載成為可讀可寫的狀態(tài);8、啟用RAID磁盤陣列,以及LVM的設備;9、啟用磁盤配額的功能,就是限制使用者最多可以使用多少硬盤空間;10、檢查其它的文件系統(tǒng),并且把它們掛載進來;11、最后會清除被修改過的locks及PID files,其實就是清除一些開機時的緩存文件,以及一些沒有用的信息及文件; 十、介紹 /etc/rc.d/rc 這個程式的作用1、這個步驟就是根據載入的 Run Level 來執(zhí)行 Run Leve

22、l 對應目當里面的程序來決定要啟用哪些服務,例如,如果 Run level 的值是5,就會去執(zhí)行 /etc/rc.d/rc5.d/* 這個目錄下的所有程序,來停用或啟動這個運行級別下應該有的服務,如下圖: 就用rc5.d這個目錄來作說明,可以看到這個目錄下都是一些鏈接文件,所有的鏈接文件都鏈接到了 ./init.d/* 這個目錄下的某個執(zhí)行文件,其實init.d和rc5.d后面的d是代表 Daemon(【unix】新進程;端口監(jiān)督控程序) 的意思。 十一、介紹 Daemon Processes  (Process進程)1、Daemon Processes就是在后臺執(zhí)行的程序

23、,主要功能就是在提供一些系統(tǒng)的服務,所以在 init.d 目錄里的所有程序全部都是在后臺執(zhí)行提供系統(tǒng)服務的程序,而這些在后臺執(zhí)行提供系統(tǒng)服務的程序都是在等待別人提出需求來提供服務,例如:httpd 這個程序就是提供 web 的服務,主要是會開啟80端口,讓別人可以通過80端口連接進來。2、Daemon 主要分為兩種類型,主要差別在于提供服務的方式,說明如下:(1)Standalone(中文翻譯為:獨立):在Standalone的程序里,當使用者提出需求要求服務時,會自己提供服務組使用者;(2)Transient(中文翻譯為:暫時程序,暫存區(qū)):當使用者提出需求時,會先跟xinetd(以稱為:S

24、upper Daemon)這個Daemon程序要求服務,然后xinetd程序再去呼叫 Transient 類型的程序,最后 Transient 類型的程序才能夠提供服務給使用者;3、在Standalone的Daemon里分為兩種:(1)在開機時,就由 init 這個程序直接啟動的;例如:Virtual Console;(2)System V Daemon程式例如:httpd程序(提供web服務的); 十二、介紹 System V 程式的特性1、其實 Run Level 是在定義電腦啟動時,要提供哪些服務:· 在每個runlevel 里都有他相對應的目錄;就像前面提到的 rc5.d 的

25、目錄;· 而用來初始化System V的程序都存放在 /etc/rc.d/init.d/ 這個目錄里;2、介紹 runlevel 是如何定義要提供哪些服務的。因為在runlevel對應的目錄里,都有一些連接,而這些鏈接就是用來呼叫init.d目錄里的程序的,并夾代一個啟動或停止服務的參數,所以根據 runlevel 對應目錄里的鏈接,就可以設定系統(tǒng)在啟動后要提供哪些服務。3、下面介紹前面提到的那個鏈接文件名稱的格式:這個鏈接文件的名稱主要分為三區(qū):(1) 以K或S開頭:K ( Kill 的縮寫)開頭,表示要停用鏈接的這個服務;S (start 的縮寫)開頭,表示要啟用鏈接的這個服務;

26、(2) 為兩位的數字:表示執(zhí)行的先后順序,數字越小的越先執(zhí)行,但是在 K 與 S 執(zhí)行的先后順序是先執(zhí)行 K 停用鏈接的服務,再執(zhí)行 S 啟用鏈接的服務,這是因為要先將所有服務停用類似歸零的意思,然后再啟用服務,所以執(zhí)行完這些鏈接的程序,就初始化了系統(tǒng)上的服務;(3) 鏈接的System V 程序名稱:4、另外,System V 程序有種特性,就是啟動和停止都用同一個程序,只是后面加上不同的參數:例:/etc/init.d/httpd start   啟用web服務      /etc/init.d/httpd stop &

27、#160;  停用web服務這里的 start , stop 就是使用的參數 十三、介紹 /etc/rc.d/rc.local 這個程式的作用(init初始化流程第三步)1、在執(zhí)行完 run level 下相對應的那個目錄里的鏈接后都會執(zhí)行 rc.local 這個程式;如下圖: run level2到5下都有這個程式:其中 S 表示啟用,99表示執(zhí)行的順序最后才會執(zhí)行,執(zhí)行的程式就是 rc.local;2、因此,可以修改 rc.local 這個文件,將 runlevel2-5都要執(zhí)行的指令或程序設定在rc.local文件中。 十四、介紹 Virtual Consoles 的特性(in

28、it初始化流程第四步)Virtual consoles,Virtual consoles具有以下幾點特性:1、定義在 /etc/inittab 檔案里,使用/sbin/mingetty 來產生 tty1 到 tty6 這六個Virtual consoles;  2、如果要切換 Virtual consoles ,同時按下 ctrl-alt-F(16)3、Virtual consoles的檔案是在 /dev/這個目錄中,對應的文件是 tty1、tty2、tty3、tty4、tty5、tty6;但這個目錄下有許多以tty開頭的文件4、/dev/tty0 是代表當前使用的Virtual c

29、onsoles5、在RHEL中有以下三個預設的Virtual consoles設定:· RHEL中共定義了12個Virtual consoles;· 在這12個Virtual consoles里,只有16的可以登錄· 如果使用圖形界面登錄,剛會先使用Virtual consoles 7 登錄(也就是tty7)注:當圖形界面已啟動時,才可以使用 ctrl-alt-F7 才能切換回到圖形界面。 十五、如何控制系統(tǒng)上服務的停止與啟動在控制系統(tǒng)的服務停止與啟動里,主要分為兩種類型的工具1、控制系統(tǒng)預設是會自動啟動的服務;有以下三種工具可以控制 Linux 作業(yè)系統(tǒng),預設會

30、自動啟動的服務:(1)ntsysv:這個工具在Virtual consoles下也可以使用,此命令執(zhí)行后出現的界面,如下圖:可以啟動Services界面來設定系統(tǒng)預設要啟動哪些服務,如果在ntsysv后面未加參數,只會設定目前這個Run level ,如果要設定其它的 run level ,需要在后面加參數:例如: ntsysv level 35   指定要修改 runlevel 3和5預設要啟動的服務注:這個指令在文字模式下也是可以使用的。(2)chkconfig:這個工具可以快速設定,并且適用在各種Linux下的命令行模式工具例如:如下圖:查看預設自動啟動的設定

31、0; 注:下面的 gpm 的服務是在 Virtual consoles下可以使用鼠標的服務,通過下圖可以看到gpm 服務在runlevel25下都以以S開頭,也是是預設會自動啟動的意思;執(zhí)行下面的指令,可以讓runlevel13預設不自動啟動gpm的服務,如下圖可以看到原來的2和3原來是以S開頭的現在已經變成了以K開頭,表示預設是停有的。  可以使用chkconfig list 查看某個服務預設是否會自動啟動,如下圖:off 表示不啟用,on表示啟用,如果想查看所有的服務可以將gpm去掉,這時會看到許多服務的列表,(3)system-config-services這個工具是圖形界面的工具,只能在圖形界面下執(zhí)行,開啟視窗后,左邊窗口可以勾選預設要啟動的服務;點選 Edit Runlevel 可以選擇要修改哪個級別的預設服務,但只能設定35的,如下圖:  2、在系統(tǒng)開機后,可以手動控制服務的停止與啟動,立即控制服務的啟動狀態(tài);有以下三個工具可以手動控制服務的啟動與停止:(1)service

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論