计算机开机流程 (计算机开机启动完整过程)

一般正常的情況下, Linux 的开机流程會是如下所示:

  1. 载入 BIOS 的硬體資訊與進行自我測試,並依據設定取得第一個可開機的裝置;

  2. 讀取並執行第一個開機裝置內 MBR 的 boot Loader (亦即是 grub2, spfdisk 等程式);

  3. 依據 boot loader 的設定載入 Kernel ,Kernel 會開始偵測硬體與載入驅動程式;

  • 載入 kernel file 與 initramfs 檔案在記憶體內解壓縮

  • initramfs 會在記憶體模擬出系統根目錄,提供 kernel 相關的驅動程式模組

  • 核心裝置驅動程式完整的驅動硬體

4.在硬體驅動成功後,Kernel 會主動呼叫 systemd 程式,並以 default.target 流程開機;

  • systemd 執行 sysinit.target 初始化系統及 basic.target 準備作業系統;

  • systemd 啟動 multi-user.target 下的本機與伺服器服務;

  • systemd 執行 multi-user.target 下的 /etc/rc.d/rc.local 檔案;

  • systemd 執行 multi-user.target 下的 getty.target 及登入服務;

  • systemd 執行 graphical 需要的服務