Linux 引導過程的 6 個階段(啟動順序)

      網(wǎng)友投稿 1079 2025-03-31

      按下電腦上的電源按鈕,片刻之后您會看到 linux 登錄提示。


      你有沒有想過從按下電源按鈕到 linux 登錄提示出現(xiàn)在幕后發(fā)生了什么?

      以下是典型 Linux 引導過程的 6 個高級階段。

      1. BIOS

      BIOS 代表基本輸入/輸出系統(tǒng)

      執(zhí)行一些系統(tǒng)完整性檢查

      搜索、加載和執(zhí)行引導加載程序。

      它在軟盤、CD-ROM 或硬盤驅動器中查找引導加載程序。您可以在 BIOS 啟動期間按一個鍵(通常是 F12 或 F2,但這取決于您的系統(tǒng))來更改啟動順序。

      一旦檢測到引導加載程序并將其加載到內存中,BIOS 就會將控制權交給它。

      因此,簡單來說,BIOS 加載并執(zhí)行 MBR 引導加載程序。

      2.MBR

      Linux 引導過程的 6 個階段(啟動順序)

      MBR 代表主引導記錄。

      它位于可引導磁盤的第一個扇區(qū)。通常是 /dev/hda 或 /dev/sda

      MBR 的大小小于 512 字節(jié)。這包含三個部分:1)第一個 446 字節(jié)中的主引導加載程序信息 2)接下來 64 字節(jié)中的分區(qū)表信息 3)最后 2 字節(jié)中的 mbr 驗證檢查。

      它包含有關 GRUB(或舊系統(tǒng)中的 LILO)的信息。

      因此,簡單來說,MBR 加載并執(zhí)行 GRUB 引導加載程序。

      3.?GRUB

      GRUB 代表 Grand Unified Bootloader。

      如果您的系統(tǒng)上安裝了多個內核映像,您可以選擇執(zhí)行哪一個。

      GRUB 顯示一個啟動屏幕,等待幾秒鐘,如果您不輸入任何內容,它會加載 grub 配置文件中指定的默認內核映像。

      GRUB 了解文件系統(tǒng)(舊的 Linux 加載器 LILO 不了解文件系統(tǒng))。

      Grub 配置文件是 /boot/grub/grub.conf(/etc/grub.conf 是指向此的鏈接)。以下是 CentOS 的示例 grub.conf。

      #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img

      正如您從上述信息中注意到的,它包含內核和 initrd 映像。

      因此,簡單來說,GRUB 只是加載并執(zhí)行內核和 initrd 映像。

      4.內核

      掛載 grub.conf 中“root=”中指定的根文件系統(tǒng)

      內核執(zhí)行 /sbin/init 程序

      由于 init 是 Linux 內核執(zhí)行的第一個程序,它的進程 id (PID) 為 1。執(zhí)行 'ps -ef |?grep init' 并檢查 pid。

      initrd 代表初始 RAM 磁盤。

      initrd 被內核用作臨時根文件系統(tǒng),直到內核啟動并掛載真正的根文件系統(tǒng)。它還包含內部編譯的必要驅動程序,這有助于它訪問硬盤驅動器分區(qū)和其他硬件。

      5. 初始化

      查看 /etc/inittab 文件以確定 Linux 運行級別。

      以下是可用的運行級別

      0 – halt

      1 – Single user mode

      2 – Multiuser, without NFS

      3 – Full multiuser mode

      4 – unused

      5 – X11

      6 – reboot

      Init 從 /etc/inittab 中識別默認的 initlevel 并使用它來加載所有適當?shù)某绦颉?/p>

      在您的系統(tǒng)上執(zhí)行“grep initdefault /etc/inittab”以識別默認運行級別

      如果你想惹麻煩,你可以將默認運行級別設置為 0 或 6。既然你知道 0 和 6 的含義,你可能不會那樣做。

      通常,您會將默認運行級別設置為 3 或 5。

      6. 運行級程序

      當 Linux 系統(tǒng)啟動時,您可能會看到各種服務正在啟動。例如,它可能會說“開始發(fā)送郵件……。好的”。這些是運行級別程序,從運行級別定義的運行級別目錄執(zhí)行。

      根據(jù)您的默認初始化級別設置,系統(tǒng)將從以下目錄之一執(zhí)行程序。

      Run level 0 – /etc/rc.d/rc0.d/

      Run level 1 – /etc/rc.d/rc1.d/

      Run level 2 – /etc/rc.d/rc2.d/

      Run level 3 – /etc/rc.d/rc3.d/

      Run level 4 – /etc/rc.d/rc4.d/

      Run level 5 – /etc/rc.d/rc5.d/

      Run level 6 – /etc/rc.d/rc6.d/

      請注意,在 /etc 下這些目錄也有可用的符號鏈接。因此,/etc/rc0.d 鏈接到 /etc/rc.d/rc0.d

      在 /etc/rc.d/rc*.d/ 目錄下,您會看到以 S 和 K 開頭的程序。

      以 S 開頭的程序在啟動時使用。S 為啟動。

      以 K 開頭的程序在關機期間使用。K 表示殺戮。

      程序名稱中的 S 和 K 旁邊有數(shù)字。這些是應該啟動或終止程序的序列號。

      例如,S12syslog 是啟動 syslog 守護進程,序號為 12。S80sendmail 是啟動 sendmail 守護進程,序號為 80。因此,syslog 程序將在 sendmail 之前啟動。

      Linux

      版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。

      上一篇:致遠互聯(lián)徐石:致遠在創(chuàng)新方面的探索和實踐
      下一篇:okr怎么寫
      相關文章
      亚洲AV日韩AV永久无码免下载 | 久久久久亚洲AV无码观看| 亚洲?v无码国产在丝袜线观看| 亚洲已满18点击进入在线观看| 亚洲福利视频网站| 亚洲美免无码中文字幕在线| 久久亚洲AV成人无码软件| 亚洲精品人成在线观看| 久久久无码精品亚洲日韩按摩 | 亚洲国产成人精品无码区二本 | 亚洲丁香色婷婷综合欲色啪| 亚洲va在线va天堂va888www| 亚洲日韩区在线电影| 337p日本欧洲亚洲大胆精品555588| 亚洲精品高清视频| 亚洲av之男人的天堂网站| 久久精品国产亚洲| 老汉色老汉首页a亚洲| 亚洲黄色免费观看| 亚洲成人在线免费观看| 亚洲国产成人久久三区| 国产精品亚洲四区在线观看| 亚洲色大18成人网站WWW在线播放| 亚洲精品无码久久久久久| 在线观看亚洲网站| 亚洲一区二区三区无码影院| 亚洲综合无码AV一区二区| 亚洲爆乳无码专区| 麻豆亚洲av熟女国产一区二| 亚洲人成777在线播放| 亚洲日韩AV无码一区二区三区人| 亚洲av无码专区在线观看下载| 毛片亚洲AV无码精品国产午夜| 亚洲另类少妇17p| 国产成人亚洲综合色影视| 久久久久亚洲AV无码观看| 久久亚洲国产成人影院| 亚洲精品色在线网站| 久久国产成人亚洲精品影院| 亚洲va中文字幕无码久久不卡| 久久综合亚洲色一区二区三区 |