1. 載入BIOS (Basic Input Output System) 的硬體資訊與進行自我測試,依據設定取得第一個可開機的裝置 (CD-ROM, Hard disk, floopy)
2. 讀取並且執行第一個開機裝置內MBR (Master Boot Record)的boot loader (也就是grub , LILO, spfdisk...etc)
3. 依據boot loader設定載入kernel , kernel 會偵測硬體與載入driver
4. driver 運作後,kernel 會主動呼叫init程式, 而init 會取的run-level 資訊
5. init 執行 /etc/rc.d/rc.sysinit 檔案來準備軟體執行的作業環境 (如網路、時區等)
6. init 執行 run-level 的各個服務之啟動 (script 方式)
7. init 執行 /etc/rc.d/rc.local 檔案
8. init 執行終端機模擬程式 mingetty 來啟動 login 程式,最後就等待使用者登入啦
Boot loader 的功能:
認識作業系統的檔案格式並據以載入kernel到main memory內執行,而boot loader 安裝於開機裝置的第一個磁區,也就是MBR內(主要開機磁區)
觀念:
因為不同OS檔案格式不一,並且每種OS都有自己的boot loader,那麼,如何在PC上安裝多重OS(同時裝window 與 linux)
1. 使用自己的loader (linux 為 grub)
2. MBR只有一個
sol:
每個OS都有自行保留一塊開機磁區(boot sector),而linux可自行選擇是否將boot loader裝在MBR但windows則預設會自動裝上
並且linux的loader具有控制權轉移的功能 (可以用linux loader指定windows loader開機),但window不具此功能
因此!! 才會有先裝windows再裝linux,以linux loader蓋掉windows裝在MBR的loader
上圖三選項即為:
1. 直接指向linux kernel 並且載入kernel
2. 將開機管理程式控制權交給windows管理
3. 使用linux在boot sector 內的loader,此時會跳出另一個grub (通常應該不會這麼無聊= =)
以上為linux OS簡略介紹整體開機流程細部請參考鳥哥
留言列表