1. 程式人生 > >CentOS7基礎之Linux啟動過程

CentOS7基礎之Linux啟動過程

Linux系統啟動過程

  1. 加電後系統韌體(system firmware),也就是BIOS或者UEFI進行加電測試,初始化部分硬體裝置。
  2. 系統韌體尋找可啟動裝置。
  3. 系統韌體從disk上讀取boot loader,CentOS7中的boot loader是grub2,之後系統韌體把控制權交給boot loader。
  4. boot loader從硬碟裝載配置檔案,向用戶顯示一個啟動選擇選單。
  5. 使用者選擇啟動項後,boot loader從硬碟載入選定的核心(kernel)和initramfs到記憶體中。initramfs中包括了在啟動過程中所需的所有硬體的核心模組(modules)。它的配置檔案是 /etc/dracut.conf 。
  6. boot loader把啟動時傳入的引數如rd.break, 還有initramfs在記憶體中的地址,以及系統的控制權都移交給kernel。
  7. kernel初始化所有硬體,然後從initramfs中執行 /sbin/init 把它作為PID 1. CentOS7中的init就是systemd。
  8. 來自initramfs中的systemd執行所有initrd.target中的unit。把根檔案系統 / 掛載(mount)到 /sysroot.
  9. 核心的根檔案系統從initramfs切換到剛才掛載的/sysroot上後,sysroot中的systemd會重新再執行一次。
  10. systemd執行default.target, 系統啟動完成。

關注“一起運維”公眾號獲得更多資訊

在這裡插入圖片描述