2021-05-12 14:32:11
CentOS 6的系統啟動流程
一、POST加電自檢
按下電源後ROM晶片中的CMOS程式執行並檢測CPU、記憶體等裝置是否存在並正常執行,CMOS中的程式叫BIOS,可以設定硬碟介面,網絡卡音效卡開關之類的簡單設定。一般PC機主機板上有一個紐扣電池,這個電池就是給ROM供電的,可以保證主機板斷電後BIOS的一些基本設定不會重置。
下面是一個比較新的主機板的BIOS,在老主機板上一般只有英文不會有中文介面,老式主機板只支援鍵盤操作不支援滑鼠,現在很多新主機板已經可以支援滑鼠操作了。
二、引導載入次序Boot Sequence
在系統啟動前計算機是不知道你系統在哪裡的,需要按照裝置啟動順序一次查詢引導載入器器bootloader,這個查詢次序可以自己在BIOS中設定,一般在boot選項中設定,【注意】不同廠商不同版本的主機板設定方法是不同的,請以廠商的官方說明為準。
三、引導載入器bootloader
前面說了係計算機是不知道系統在哪裡的,所以需要程式進行引導,這個引導的程式就叫bootloader,不同作業系統的bootloader是不同的,windows使用的bootloader程式是ntloader,只能對windows進行引導不能對其他系統進行引導,而Linux的bootloader叫GRUB,可以對其他作業系統進行引導(包括windows),正是因為這樣,所以在裝既有Windows又有Linux的雙系統的時候,需要先裝Windows,再裝Linux。
功能:提供一個選單,允許使用者選擇要啟動系統或不同的核心版本;把使用者選定的核心裝載到記憶體中的特定空間中,解壓、展開,並把系統控制權移交給核心。
bootloader的載入程式GRUB放在MBR中。
四、引導載入器程式GRUB
1、grub legacy
前面提到GRUB是bootloader階段的一個程式,這是CentOS中最常用的載入程式,CentOS 6安裝的是grub legacy
下面是CentOS 6的grub legacy
blob.png
按e:進入編輯模式,用於編輯選單;
blob.png
然後按c: 進入命令模式,互動式介面;
blob.png
常用的命令有
#help: 獲取幫助列表
#help KEYWORD: 詳細幫助資訊
#find (hd#,#)/PATH/TO/SOMEFILE:
#root (hd#,#)設定grub的根裝置
#kernel /PATH/TO/KERNEL_FILE: 設定本次啟動時用到的核心檔案;額外還可以新增許多核心支援使用的cmdline引數;
#例如:init=/path/to/init, selinux=0
#initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的核心提供額外檔案的ramdisk;
#boot: 引導啟動選定的核心;
CentOS 6中grub的組態檔儲存在/boot/grub/grub.conf中
[root@localhost grub]# vim grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
其中常用的設定
default=#: 設定預設啟動的選單項;落單項(title)編號從0開始;
timeout=#:指定選單項等待選項選擇的時長;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明選單背景圖片檔案路徑;
hiddenmenu:隱藏選單;
password [--md5] STRING: 選單編輯認證;
title TITLE:定義選單項“標題”, 可出現多次;
root (hd#,#):grub查詢stage2及kernel檔案所在裝置分割區;為grub的“根”;
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的核心
initrd /PATH/TO/INITRAMFS_FILE: 核心匹配的ramfs檔案;
password --md5 STRING: 啟動選定的核心或作業系統時進行認證;
2、GRUB2
CentOS 7上安裝的是gurb2
[root@localhost ~]# rpm -q grub2
grub2-2.02-0.34.el7.centos.x86_64
下面是centos7的GRUB,如果什麼都不選,在3秒後系統會進入預設設定的那一項系統。
按e進入GRUB編輯
按ctrl+c進入命令列模式
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2016-09/135461p2.htm
相關文章