Linux引导流程(第二版)
Linux引導流程
?
?
固件
按下電源的第一個啟動步驟:啟動固件firmware?→?POST加電自檢
檢查硬件的加載情況,如,鍵盤,內存等。
跟操作系統無關。但不同的硬件平臺,固件不同;
當你新添加了一塊硬盤,第一步就是應該首先進入到固件模式,檢測固件是否已經識別出這塊硬盤!
固件最重要的作用,讀取MBR?->?...
?
自舉程序
讀取MBR[master?boot?record,主引導記錄]
?
【MBR位于位于磁盤的0柱面,0磁頭,1扇區 如圖:】
?
?
進入這一步驟的目的是讀取MBR中的數據[MBR保存了三種數據]:
1、Boot?Loader:自舉程序,自啟動程序,在Linux中為:GRUB
2、Partition?table:磁盤分區表
3、Magic?Number:結束標志字
?
/etc/grub.conf簡要分析:
?
kernel?/vmlinuz-2.6.32-358.el6.i686?ro?root=UUID=6e428aef...用來指定內核的位置
2:主板本號
6:次版本號,如果此處為奇數為測試版,偶數為正式版
32:末版本號
由此可以看出:GRUB最重要的作用?->?載入內核!
?
附-關于內核:
1.是一個可執行文件,是一個文件,并不是一堆文件
2.z-代表是一個壓縮文件,因此在啟動的時候,他會不停的解壓縮這個文件
?
載入內核
內核在此期間只做兩個工作:
1、驅動硬件
2、啟動進程init:
init啟動后讀取配置文件inittab,執行缺省運行級別,?從而繼續引導。
在UNIX/Linux系統中,init時第一個可以存在的進程,它的PID恒為1[通常,PID是隨機分配的,但是init特殊,可以通過命令:ps?-el?|?more?查看],Linux系統中init名義上可以說是所有進程的父進程,雖然init的PID恒為1,但它也必須向一個更高級的功能負責:PID為0的內核調度器(Kernel?scheduler),從而獲得CPU時間.
?
?
內核調度器負責:分配系統時間,進程間切換
?
?
init讀取配置文件/etc/inittab
Linux的運行級別,如圖:
0-halt:關機
1-單用戶模式,沒有圖形界面
【修復模式,類似與Windows的安全模式】
2-多用戶模式,但是也沒有圖形界面,2與3是Linux服務器運用最多的模式
3-與2類似,添加了NFS
4-沒有使用的,但可以由用戶自定義
5-缺省運行級別:x11說明是圖形化的多用戶環境
6-重啟
?
運行級別切換:
1.查看當前運行級別 runlevel
N代表沒有切換過運行級別
S代表切換之前的運行級別
數字代表當前的運行級別
2.切換運行級別
init?[0123456Ss]
或 telinit?[0123456Ss]
?
?
附-同步軟硬件時鐘:【兩個時間應該是一致的】
hwclock?顯示硬件時鐘
hwclock?--help?:其中詳細的說明了同步時鐘的選項
改變時間:
??-s?|?--hctosys??????set?the?system?time?from?the?hardware?clock
? ?-w?|?--systohc??????set?the?hardware?clock?to?the?current?system?time
? ? ? ? ?--set??????????set?the?rtc?to?the?time?given?with?--date
E.g.
date?MMDDhhmm
hwclock?--set?--date="9/23/14?16:31:05"
總結
以上是生活随笔為你收集整理的Linux引导流程(第二版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习【目标检测】
- 下一篇: 基于SCVMM对虚拟化服务器与虚拟机管理