CentOS系統啟動流程

來源:互聯網
上載者:User

標籤:boot   loader   啟動   

CentOS 6啟動流程:

POST --> Boot Sequence(BIOS) --> BootLoader (MBR) --> Kernel(ramdisk) --> rootfs --> switchroot -->/sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 設定預設運行層級 --> 系統初始化指令碼 --> 關閉或啟動對應層級下的服務 --> 啟動終端GRUB(Boot Loader): 

 

  1. grub: GRand UnifiedBootloader

  2. grub 0.x: grub legacy

  3. grub 1.x: grub2 grub legacy:

  4. stage1: mbr

  5. stage1_5: mbr之後的扇區,讓stage1中的bootloader能識別stage2所在的分區上的檔案系統;

  6. stage2:磁碟分割(/boot/grub/)設定檔:/boot/grub/grub.conf <-- /etc/grub.confstage2及核心等通常放置於一個基本磁碟分區;



功用:

(1) 提供菜單、並提供互動式介面

e: 編輯模式,用於編輯菜單;

c: 命令模式,互動式介面;

(2) 載入使用者選擇的核心或作業系統

允許傳遞參數給核心

可隱藏此菜單

(3) 為菜單提供了保護機制

為編輯菜單進行認證

為啟用核心或作業系統進行認證如何識別裝置:


Linux Kernel:

    

CentOS啟動流程:POST --> Bootloader(BIOS, MBR)--> Kernel(initrd) --> rootfs --> switch_root --> /sbin/init

               

核心設計體系:單核心、微核心

Linux:單核心設計,但充分借鑒了微核心體系的設計的優點;為核心引入了模組化機制;

核心的組成部分:

kernel:核心核心,一般為bzImage,通常位於/boot目錄,名稱為vmlinuz-VERSION-release;

kernel object:核心對象,即核心模組,一般放置於/lib/modules/VERSION-release/

  

核心的組成部分:kernel, kernel object, ramdisk

kernel: uname

kernel object: lsmod, modinfo, modprobe,insmod, rmmod, depmod

ramdisk:mkinitrd,dracut   啟動流程:POST --> BootSequence(BIOS) --> Bootloader (MBR) --> kernel (ramdisk)--> rootfs (switch_root) --> /sbin/init (/etc/inittab, /etc/init/*.conf,/usr/lib/systemd/system/)--> 預設運行層級、系統初始化、關閉及啟動服務、啟動終端(圖形終端)

   

grub:

1st stage:mbr

1_5 stage: mbr之後的扇區

2nd stage:/boot/grub/加密:編輯、核心



(hd#,#)

hd#: 磁碟編號,用數字表示;從0開始編號

#: 分區編號,用數字表示; 從0開始編號(hd0,0)grub的命令列介面

  1. help: 擷取協助列表

  2. help KEYWORD: 詳細協助資訊

  3. find (hd#,#)/PATH/TO/SOMEFILE:

  4. root (hd#,#)

kernel /PATH/TO/KERNEL_FILE: 設定本次啟動時用到的核心檔案;額外還可以添加許多核心支援使用的cmdline參數;

例如:init=/path/to/init, selinux=0

  1. initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的核心提供額外檔案的ramdisk;

  2. boot: 引導啟動選定的核心;手動在grub命令列介面啟動系統:

  3. grub> root (hd#,#)

  4. grub> kernel /vmlinuz-VERSION-RELEASE roroot=/dev/DEVICE

  5. grub> initrd/initramfs-VERSION-RELEASE.img

  6. grub> boot設定檔:/boot/grub/grub.conf


配置項:

  1. default=#: 設定預設啟動的功能表項目;落單項(title)編號從0開始;

  2. timeout=#:指定功能表項目等待選項選擇的時間長度;

  3. splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片檔案路徑;

  4. hiddenmenu:隱藏菜單;

  5. password [--md5] STRING: 菜單編輯認證;

  6. title TITLE:定義功能表項目“標題”, 可出現多次;

  7. root (hd#,#):grub尋找stage2及kernel檔案所在裝置分區;為grub的“根”;

  8. kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的核心

  9. initrd /PATH/TO/INITRAMFS_FILE: 核心匹配的ramfs檔案;

  10. password [--md5] STRING: 啟動選定的核心或作業系統時進行認證;grub-md5-crypt命令進入單一使用者模式:

(1) 編輯grub菜單(選定要編輯的title,而後使用e命令);

(2) 在選定的kernel後附加

1, s, S或single都可以;

(3) 在kernel所在行,鍵入“b”命令;安裝grub:

(1) grub-install

grub-install --root-directory=ROOT/dev/DISK(2) grub

grub> root (hd#,#)

grub> setup (hd#)練習:

1、新加硬碟,提供直接單獨運行bash系統;

2、破壞本機grub stage1,而後在救援模式下修複之;

3、為grub設定保護功能;部落格作業:grub應用;

   


核心模組與核心核心版本一定要嚴格匹配;[   ]:N

[M]:Module

[*]:Y,編譯進核心核心核心:動態裝載和卸載;ramdisk:輔助性檔案,並非必須,這取決於核心是否能直接驅動rootfs所在的裝置;

目標裝置驅動,例如SCSI裝置的驅動;

邏輯裝置驅動,例如LVM裝置的驅動;

檔案系統,例如xfs檔案系統;ramdisk:是一個簡裝版的根檔案系統;核心資訊擷取:


本文出自 “完美世界” 部落格,請務必保留此出處http://angelababy.blog.51cto.com/6326130/1755127

CentOS系統啟動流程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.