歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6的系統啟動流程

CentOS 6的系統啟動流程

日期:2017/2/28 13:48:43   编辑:Linux教程

一、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進入命令行模式

Copyright © Linux教程網 All Rights Reserved