1.系統啟動流程大概
1)啟動bios
2)mbr中的引導** bootcode
3)執行引導程式
linux中用的最多的是grub;引導程式的主要作用是用來載入核心;
4)載入系統核心
5)執行init
6)runlevel
init根據當前預設的執行級別來啟動相關的程式及裝置;
2.bios (basic input output system)
bios稱為基本輸入輸出系統,一般儲存在主機板中的bios晶元中;
計算機啟動後,執行的第乙個程式就是bios;
bios負責檢查硬體並且查詢可啟動裝置;
可以在bios中定義可啟動裝置;例如usb、cdrom、hd;
所謂的可啟動裝置,就是裝置上具有引導資訊;
3.mbr
mbr分割槽機制中;裝置前512個位元組為啟動資訊;其中最後4個位元組為55aa的表示可啟動;
裝置的前446個位元組為其引導**;
bios找到可啟動裝置後執行其引導**;
引導**的功能是引導不同的系統;不同的系統有不同的引導**,比如windows和linux的引導**就不同;
引導**用來查詢當前的引導程式;因為mbr的位元組數有限,只能去用來載入比較複雜的引導程式;
linux中常用的引導程式是grub;
4.grub
grub幾乎可以用來引導所有的作業系統;
grub的相關檔案儲存在 /boot/grub 目錄中;
/boot目錄一般儲存與系統啟動相關的檔案,比如linux核心就儲存在這裡;
其中 /boot/grub/grub.cfg是啟動時的配置檔案;可以修改該檔案來新增需要引導的裝置;
5.核心 kenrel
mbr的引導**負責找到並載入linux核心;
linux的核心儲存在 /boot/vmlinuz-版本號 ;
linux一般還需要載入核心模組的打包檔案:/boot/initramfs-版本號.img
linux為了保持核心的精簡,將一些不常用的驅動、功能編譯成模組,在需要的時候載入;這些模組被打包成乙個 initramfs檔案;比如鍵盤、u盤驅動等;
早期linux使用的是initrd檔案;而initramfs 是 initrd 的優化版本,更加靈活且節省空間;
命令dmesg可以檢視本次啟動時核心的輸出資訊;
dmesg
這些資訊包括:核心在載入驅動、給記憶體進行區域劃分、初始化主機板硬碟u盤usb裝置等等;
在出現核心級的故障時需要看這些資訊,比如有些裝置驅動不起來;
/var/log/dmesg 檔案中也儲存了這些資訊;
總的來說就是說根據grub的配置,來啟動核心;
6.init
核心啟動完後,系統將啟動第乙個程序,即init;
用 top 命令可以看到乙個 pid 為1的程序就是 init;
topinit的作用是呼叫 /etc/rc.d/rc.sysinit 指令碼,負責對系統進行初始化,掛載檔案系統,並根據執行級別啟動相應服務;
linux的執行級別:
0 ->關機
1 ->單使用者模式
2 ->不帶網路的多使用者模式
3 ->多使用者模式
4 ->未使用
5 ->圖形化模式
6 ->重新啟動
最常用的執行級別是3和5;它們之間的區別是乙個有圖形介面,乙個只有命令列介面;
init的配置檔案:
可以通過 /etc/inittab 修改預設的執行級別;
其它一些配置檔案存放在 /etc/init 目錄下;
每個啟動級別對應的啟動服務儲存在 /etc/rc.d/rc[0123456].d中;
命令 runlevel 可顯示當前及上乙個執行級別;
切換執行級別可用init 命令;
例如切換到級別3:
init 3
7.單使用者修改root密碼
普通使用者的密碼忘記了,可以用root使用者來修改;
如果root使用者的密碼忘了,可以進入單使用者模式來修改;
單使用者模式下登入是不需要密碼的;即執行級別1;
可以在啟動時引導核心時,傳遞引數 1 或者 single 來進入單使用者模式;
單使用者模式下不啟動任何服務;
在單使用者模式下通過命令 passwd 來修改密碼;
具體操作:
在啟動介面按 上 或 下 鍵 ,停住;
按 e 開始編輯;
選中核心 kernel 那一行,按e 編輯;
在最後加乙個引數 1即可強制核心以級別1單使用者模式啟動;
按b開始啟動;
用命令 passwd 修改密碼;
exit 命令退出單使用者模式;
但是這樣有個隱患:任何人可以接近這台計算機都可以修改root密碼;
8.grub加密
通過在 /etc/grub/grub.conf 中的啟動配置中加入如下引數即可對grub加密:也就是在配置檔案中加入一行
password --md5 加密後的密碼
grub加密後想在引導時進行修改必需先輸入 grub密碼;
加密後的密碼可通過 grub-md5-crypt 生成;
如果grub密碼也忘了,只能將硬碟取下啦,掛載到另外一台linux系統的機器中,找到grub.conf,把加密配置刪除掉;
這樣還是有安全隱患,如果硬碟被偷走了,就沒辦法了;那麼只能進行分割槽級別的加密對根分割槽進行加密;
linux系統啟動
本文簡單介紹一下從我們按開機鍵到可以登入系統,這段時間系統和電腦硬體是怎麼一起工作的。既做為對自己知識的乙個總結整理,也可以給linux初級使用者做乙個入門介紹,高手請略過。一般來說linux的啟動可以分成三個階段 bios階段,系統引導階段,系統啟動階段。一 bios階段 bios 基本輸入輸出系...
linux系統啟動
本文簡單介紹一下從我們按開機鍵到可以登入系統,這段時間系統和電腦硬體是怎麼一起工作的。既做為對自己知識的乙個總結整理,也可以給linux初級使用者做乙個入門介紹,高手請略過。一般來說linux的啟動可以分成三個階段 bios階段,系統引導階段,系統啟動階段。一 bios階段 bios 基本輸入輸出系...
linux 系統啟動
系統啟動流程 我們稱之為基本輸入輸出系統,一般儲存在主機板上的bios晶元中,負責檢查硬體並且查詢可啟動裝置 可設定啟動順序 如果乙個裝置是可啟動,那麼第乙個扇區512位元組的最後兩位元組是55aa mbr bios找到可啟動裝置後執行其引導 引導 為第一扇區的前446位元組 功能 載入乙個更複雜的...