1.加載BIOS(Bacis Input/Output System)
當啟動電源時,計算機會從CMOS加載BIOS,並檢查硬件信息。之後BIOS會查找是否存在系統引導盤,如果沒有系統引導盤,就會轉而查找硬件的MBR,並執行記錄在MBR上的程序,這個程序通常為opreating system的Loader。該裝載器的主要功能是用來指示系統在啟動後要加載哪個系統以及何處加載,在linux上這裡是GRUB。接下來加載linux Kernel
2.進入GRUB/LILO
進入GRUB/LILOHOU ,系統會出現Fedora Core 6或多重啟動菜單。
3.加載Linux Kernel
在GRUB階段如果選擇啟動linux,系統就開始加載內核程序。正是進入Linux控制。Linux首先會查找系統上所有硬件設備並且驅動它們,同時這些信息都將在屏幕上顯示。可以在啟動後打開/var/log/dmesg文件檢查所有的啟動信息,部分信息如下:
Linux version 2.6.18-1.2798.fc6 (
[email protected]) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Mon Oct 16 14:54:20 EDT 2006
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)......
4.執行/sbin/init
在系統加載Kernel後,緊接會調用/sbin/init,這是在Fedora Core 5啟動過程中相當重要的部分,init是所有啟動程序的父進程,而後執行一連串的程序或script。
5.執行/etc/rc.d/rc.sysinit Script
功能如下:
設置環境變量
設置NIS域名
讀取/etc/sysconfig/network文件,以設置NETWORKING,FORWARD_IPV4.HOSTNAME,DOMAINNAME,GATEWAY,GATEWAYDEV等內容
啟動Swapping
檢查root文件系統
檢查系統參數(proc)以及設置PNP
清除/etc/mtab
掛載root以及/proc文件系統
決定是否使用模塊並加載模塊
使用fsck檢查文件系統
掛載其他文件系統
設置console字體
打開quota
清除不必要的文件(如lock和pid)
使用/etc/sysconfig/clock文件初始化clock
執行rc.serial以將串行端口進行初始化
將啟動信息經由dmesg存入/var/log/dmesg