課時21 Linux系統啓動詳解

Linux課程學習筆記來源於網易雲課堂:Linux 入門基礎

1 Linux系統啓動流程:

BIOS à MBR: Boot Code(引導代碼)à 執行引導程序 - GRUBà 加載內核 à執行inità runlevel

2 BIOS

       BIOS(Basic Input Output System),基本輸入輸出系統,一般保存在主板的BIOS芯片中

       計算機啓動的時候第一個運行的就是BIOS,BIOS負責檢查硬件並且查找可啓動的設備

       可啓動的設備在BIOS設置中進行定義,如USB、CDROM、HD

3 MBR

       BIOS找到可啓動設備後執行引導代碼

       引導代碼爲MBR的前446字節

4 GRUB

1)       Grub是現在linux使用的主流引導程序

2)       grub可以用來引導幾乎所有操作系統

3)       相關文件保存在/boot/grub中

stage1 MBR

stage1_5  //stage1執行完之後再執行的

stage2  //stage1_5執行完之後再執行的

內核

4)       配置文件爲/boot/grub/grub.conf,通過vim顯示,#後的是註釋語句

5)       配置格式:

default=0         //啓動默認配置0

timeout=3        //開機時的,默認時間倒計時,如果不需要,可以改成0

splashimage=(hd0,1)/boot/grub/splash.xpm.gz       //啓動時的背景圖片,可以自己定製,設置爲.xpm格式,放在/boot/grub/目錄下

hiddenmenu     //隱藏菜單

title centos       //名字可以隨便改

      root(hd0,1)     //啓動分區,在第一個硬盤(hd0)的第2各分區下

      kernel /vmlinuz-2.6.32-279.el6.x86_64 roroot=UUID=b18ec4b9-367b-4e76-b180-e7e518f6adf2 rd_NO_LUKS rd_NO_LVMLANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgbquiet

//先啓動內核kernel,在/boot/vmlinuz-2.6.32-279.el6.i686目錄下。後面的都是參數設置。

initrd /initramfs-2.6.32-279.el6.x86_64.img

5 kernel(內核)

1)       MBR的引導代碼將負責找到並加載linux內核

2)       Linux內核保存在/boot/vmlinuz-2.6.32-279.el6.1686

3)       一般還會加載內核模塊打包文件:/boot/initramfs-2.6.32-279.el6.i686.img

4)       Linux爲了保持kernel的精簡,將一些不常用的驅動、功能編譯成模塊,在需要的時候動態加載,而這些模塊被打包保存爲一個initramfs文件。

5)       早期版本的linux使用initrd文件,initramfs是initrd的替代優化版本,比initrd更加節省空間、更加靈活。

6)       命令dmesg可以查看本次啓動時內核的輸出信息。同樣的信息也保存在/var/log/dmesg文件中

6 INIT

內核啓動完畢就會運行init進程

1)       init 是linux系統中運行的第一個進程,是所有進程的附進程。

2)       init負責使用/etc/rc.d/rc.sysinit負責對系統進行初始化,掛載文件系統,並且根據運行級別啓動相應服務

3)       linux運行級別:

0  關機

1  單用戶模式

2  不帶網絡的多用戶模式

3  多用戶模式(沒有圖形界面)

4  未使用

5  xll圖形化多用戶

6  重新啓動

top 命令可以查看PID,其中1爲init

4)       默認的運行級別可以通過文件/etc/inittab 下修改,修改其中的id:5:initdefualt中的數字即可,或者在/etc/init/目錄下修改,此目錄下有較多的設置文件。

5)       每個級別對應的啓動服務保存在/etc/rc.d/rc[0123456].d中

6)       runlevel 顯示當前及上一個運行級別

7)       命令init可以改變當前運行級別,init3 可以切換到3級別

7 單用戶修改root密碼

1)       爲內核傳遞參數‘1’或者“single”系統進入單用戶

2)       單用戶模式下不啓動任何服務

3)       單用戶模式直接以root用戶登錄,並且不需要密碼

4)       可以使用passwd修改root密碼

忘記root密碼時,可以在啓動界面的時候,通過上下鍵進入pause界面,傳遞參數‘1’或者“single”系統進入單用戶。

8 GRUB加密

       通過啓動界面(重新啓動,通過物理按鍵)進入單用戶模式,存在安全隱患,需要通過GRUB加密對引導進行加密。

1)       通過在grub.conf中的啓動配置中加入如下參數即可對grub進行加密:

Password –md5$1$aoWpTe$/MWUUYbBIF.2RUZK8nbWU0          //$後面的是通過grub進行加密後的密碼

2)       加密後的密碼可以通過grub-md5-crypt生成


發佈了56 篇原創文章 · 獲贊 193 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章