日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Centos 6启动流程详解

發(fā)布時(shí)間:2023/11/27 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Centos 6启动流程详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

author:JevonWei
版權(quán)聲明:原創(chuàng)作品


Centos6 啟動(dòng)流程

  1. POST開(kāi)機(jī)自檢
    當(dāng)按下電源鍵后,會(huì)啟動(dòng)ROM芯片中的CMOS程序檢查CPU、內(nèi)存等硬件設(shè)備是否正常運(yùn)行,CMOS中的程序即為我們通常稱之為的BIOS,在BIOS中我們可以設(shè)置硬盤(pán)接口的類型及系統(tǒng)的啟動(dòng)方式和虛擬化等設(shè)置。當(dāng)然,在我們的電腦主板上還會(huì)有一塊紐扣電池專門(mén)用來(lái)給ROM供電,從而保證BIOS的的正常工作,使得主板斷電后BIOS并不會(huì)立即停止工作。
  2. 加載BIOS中的Sequence
    在系統(tǒng)啟動(dòng)時(shí),默認(rèn)是不知道你的系統(tǒng)存放在哪個(gè)設(shè)備上的,故需要按照BIOS中設(shè)置的引導(dǎo)加載器bootloader查找,查找到的第一個(gè)有引導(dǎo)程序的設(shè)備即為此次用到的設(shè)備。
  3. bootloader 引導(dǎo)加載器
    系統(tǒng)的引導(dǎo)程序即為bootloader,在不同的操作系統(tǒng)中的bootloader是不同的。windows使用的bootloader程序?yàn)閚tloader,僅可以對(duì)windows系統(tǒng)進(jìn)行引導(dǎo),而不能引導(dǎo)其他的操作系統(tǒng);Linux的bootloader為GRUB,GRUB不僅可以對(duì)Linux系統(tǒng)進(jìn)行引導(dǎo),還可以引導(dǎo)其他的操作系統(tǒng);故當(dāng)我們需要安裝雙系統(tǒng)時(shí),都會(huì)將Linux系統(tǒng)最后安裝;

    bootloader的功能:提供一個(gè)菜單,允許用戶選擇要啟動(dòng)的操作系統(tǒng)或不同的內(nèi)核版本,然后將用戶選定的內(nèi)核裝載到內(nèi)存中的特定空間中,解壓、展開(kāi),并把系統(tǒng)的控制權(quán)轉(zhuǎn)交給內(nèi)核處理。

    bootloader的引導(dǎo)程序GRUB存放在MBR中
  4. 引導(dǎo)加載程序GRUB

     grub legacy分為三個(gè)階段   stage1:這一階段數(shù)據(jù)存放于MBR中stage1_5:這一階段為MBR之后的扇區(qū),同時(shí)也是stage1到stage2的過(guò)度,為了讓stage1中的bootloader能夠識(shí)別stage2階段所在分區(qū)的文件系統(tǒng)stage2:磁盤(pán)上的/boot/grub分區(qū)stage2及內(nèi)核等通常放置于一個(gè)基本磁盤(pán)分區(qū):功用(1):提供菜單,并提供交互式接口a:內(nèi)核參數(shù) e:編輯模式,用于編輯菜單c:命令模式,交互式接口(2):加載用戶選擇的內(nèi)核或操作系統(tǒng)允許傳遞參數(shù)給內(nèi)核可隱藏此菜單(3):為菜單提供了保護(hù)機(jī)制為編輯菜單進(jìn)行認(rèn)證為啟動(dòng)內(nèi)核或操作系統(tǒng)進(jìn)行認(rèn)證
  • grub legacy界面如下

    在此界面按“e”進(jìn)入如下所示的編輯模式,用于編輯啟動(dòng)菜單

    然后按“e”進(jìn)入grub的命令行的編輯模式,“c”進(jìn)入交互式命令行,“b”啟動(dòng)系統(tǒng),在此按“c”鍵,進(jìn)入如下界面

    在此命令行中常用的命令有:

        help:獲取幫助列表help KEYWORD:詳細(xì)幫助信息find (hd#,#)/PATH/FILENAME:在分區(qū)上查找FILENAME文件  eg find (hd0,0)/vmlinuz-2.6*root (hd#,#)  指明hd#,#設(shè)備為/(根)設(shè)備eg root(hd0.0)find vmlinuz-2.6* kernel /PATH/TO/KERNEL_FILE 設(shè)定本次啟動(dòng)時(shí)用到的內(nèi)核文件;額外還可以添加許多內(nèi)核支持使用的cmdline參數(shù)
  • 安裝grub:

      (1) grub-installgrub-install --root-directory=ROOT /dev/DISK 根據(jù)跟掛載分區(qū)設(shè)備安裝/boot啟動(dòng)目錄和grub,--root-directory=ROOT 指明grub存放跟路徑目錄,grub路徑目錄已存在,grub文件自動(dòng)生成(2) grub  局限性依賴于grub目錄下的文件grub> root (hd#,#)  grub跟位于hd#磁盤(pán)#個(gè)分區(qū) grub> setup (hd#)    將grub安裝到hd#硬盤(pán)上
  • Cnetos 6中g(shù)rub的配置文件保存在/boot/grub/grub.conf文件中,常用的選項(xiàng)如下

      default=#:設(shè)定默認(rèn)啟動(dòng)的菜單項(xiàng),落單項(xiàng)(title)編號(hào)從0開(kāi)始timeout=#:指定菜單項(xiàng)等待選項(xiàng)選擇的時(shí)長(zhǎng);splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;hiddenmenu:隱藏菜單password [--md5] STRING:菜單編輯md5認(rèn)證password --encrypted STRING    512口令密碼加密          title TITLE:定義菜單項(xiàng)"標(biāo)題",可出現(xiàn)多次;root (hd#,#):grub查找stage2及kernel文件所在設(shè)備分區(qū);為grub的"根"kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS] ro root=/dev/sda2  selinux=0 quiet 啟動(dòng)的內(nèi)核文件路徑和/分區(qū)路徑, selinux=0 禁用SELinux策略,quiet 顯示內(nèi)核啟動(dòng)過(guò)程 initrd /PATH/TO/INITRAMFS_FILE:內(nèi)核匹配的ramfs文件password [--md5] STRING:啟動(dòng)選定的內(nèi)核或操作系統(tǒng)時(shí)進(jìn)行認(rèn)證內(nèi)核參數(shù)(用于向內(nèi)核傳遞參數(shù)):rhgb 啟動(dòng)過(guò)程圖形界面顯示quiet 顯示內(nèi)核啟動(dòng)過(guò)程 max_loop 100  生成100個(gè)loop設(shè)備selinux=0 禁用SELinux策略
  • /boot/grub/grub.conf配置文件如圖所示

  • /boot/grub/grub.conf文件中也可以添加密碼,從而使進(jìn)入啟動(dòng)菜單和內(nèi)核編輯界面提示輸入密碼,最終達(dá)到提升系統(tǒng)安全性的目的

      密碼放在不同的位置,即產(chǎn)生不同的加密效果     生成密碼口令grub-md5-crypt命令:生成md5密碼口令grub-crypt  密碼口令512加密算法

      在grub.cfg文件中編輯password --[md5] 口令    增加加密口令或md5加密   password --encrypted 口令 添加512加密口令     


    加入的兩個(gè)密碼都不影響電腦的正常啟動(dòng),只是在編輯啟動(dòng)設(shè)置選項(xiàng)時(shí)起作用;第一個(gè)password --md5加密是在菜單選擇時(shí)輸入密碼,第二個(gè)password --encrypted加密是在編輯系統(tǒng)啟動(dòng)設(shè)置時(shí)輸入密碼,如下所示
    第一次密碼的輸入,編輯此界面進(jìn)入單用戶或grub命令設(shè)置時(shí)輸入md5加密口令,按‘p’鍵輸入口令,然后進(jìn)入正常的編輯界面


    進(jìn)入系統(tǒng)時(shí)的界面的加密

    當(dāng)如下界面按‘b’鍵啟動(dòng)時(shí),將會(huì)進(jìn)入第二次加密512口令加密界面

    密碼輸入正確,即可正常進(jìn)入系統(tǒng)

    結(jié)論

    在grub.conf文件上的不同的位置設(shè)置密碼,發(fā)生的效果不同,故需準(zhǔn)確明白需要在啟動(dòng)的哪個(gè)階段加密從而才能在適當(dāng)?shù)奈恢锰砑用艽a,否則可能不產(chǎn)生理想的效果,在title之前添加密碼即為啟動(dòng)菜單選擇界面加密,在title之后為選擇title之后的加密,在內(nèi)核文件之后添加密碼即為啟動(dòng)系統(tǒng)加密

5 . kernel
在GRUB中選擇對(duì)應(yīng)的kernel進(jìn)入,然后kernel會(huì)對(duì)自身系統(tǒng)進(jìn)行初始化操作

    kernel初始化探測(cè)可識(shí)別到的所有硬件設(shè)備加載硬件驅(qū)動(dòng)程序:(可能會(huì)借助于ramdisk加載驅(qū)動(dòng))以只讀方式掛載根文件系統(tǒng)運(yùn)行用戶空間的第一個(gè)應(yīng)用程序:/sbin/init內(nèi)核的組成部分:kernel:內(nèi)核核心,一般為bzimage,通常在/boot目錄下,名稱為vmlinuzkernel object:內(nèi)核對(duì)象一般有三種選擇,一般放置于/lib/modules/VERSION-RELEASE/ramdisk: 內(nèi)核的特性之一:使用緩沖和緩存來(lái)回對(duì)磁盤(pán)空間訪問(wèn)ramdisk文件制作:(1) mkinitrd 為當(dāng)前正在使用的內(nèi)核重新制作ramdisk文件     mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 由當(dāng)前系統(tǒng)版本生成相應(yīng)版本的initramfs文件    (2) dracut命令 為當(dāng)前正在使用的內(nèi)核重新制作ramdisk文件       dracut /boot/initramfs-$(uname -r).img $(uname -r)            

6 . 運(yùn)行init程序
Centos 6init程序的存放在/sbin/init,init共分為7個(gè)級(jí)別
init程序的配置文件:/etc/inittab,/etc/init/*.conf

    init的七個(gè)運(yùn)行級(jí)別    0:關(guān)機(jī)1:單用戶模式(root自動(dòng)登錄),single,維護(hù)模式2:多用戶模式,啟動(dòng)網(wǎng)絡(luò)功能,但不會(huì)啟動(dòng)NFS;維護(hù)模式3:多用戶模式,正常模式;文本界面4:預(yù)留級(jí)別;可同3級(jí)別5:多用戶模式,正常模式;圖形界面6:重啟   默認(rèn)運(yùn)行級(jí)別為3,5切換運(yùn)行級(jí)別:init #查看運(yùn)行init級(jí)別:runlevel;who -r

7 . 運(yùn)行系統(tǒng)初始化腳本
系統(tǒng)初始化腳本對(duì)用的配置文件:/etc/rc.d/rc.sysinit

    /etc/rc.d/rc.sysinit:系統(tǒng)初始化腳本主要內(nèi)容為 (1)設(shè)置主機(jī)名(2)設(shè)置歡迎信息(3)激活udev和selinux(4)掛載/etc/fstab 文件中定義的文件系統(tǒng)(5)檢測(cè)根文件系統(tǒng),并以讀寫(xiě)方式重新掛載根文件系統(tǒng)(6)設(shè)置系統(tǒng)時(shí)鐘(7)激活swap設(shè)備(8)根據(jù)/etc/sysctl.conf 文件設(shè)置內(nèi)核參數(shù)(9)激活lvm及software raid設(shè)備(10)加載額外設(shè)備的驅(qū)動(dòng)程序(11)清理操作
  • cat /etc/inittab

    id:5:initdefault: 表示默認(rèn)運(yùn)行級(jí)別為5

      每一行定義一種action以及與之對(duì)應(yīng)的processid:runlevel:action:processaction:wait:切換至此級(jí)別運(yùn)行一次respawn:此process 終止,就重新啟動(dòng)之initdefault:設(shè)定默認(rèn)運(yùn)行級(jí)別;process省略

8 . 啟動(dòng)系統(tǒng)服務(wù)
centos6下的系統(tǒng)服務(wù)腳本都放在/etc/rc.d/init.d或者/etc/init.d中,可以看到兩個(gè)文件中的內(nèi)容是一樣的,因?yàn)?etc/init.d鏈接到了/etc/rc.d/init.d中

 通過(guò)chkconfig命令可以查看什么系統(tǒng)級(jí)別下開(kāi)啟了哪些服務(wù),以及添加服務(wù)到系統(tǒng)中并在指定級(jí)別下啟動(dòng)chkconfig --list 查看系統(tǒng)中所有服務(wù)的運(yùn)行級(jí)別狀態(tài)    添加服務(wù)到chkconfig        chkconfig --add httpd  添加httpd服務(wù)到chkconfig從chkconfig中刪除服務(wù)chkconfig --del httpd  將httpd從chkconfig中刪除chkconfig --add 服務(wù)名,在添加的時(shí)候需要將對(duì)應(yīng)的服務(wù)放入/etc/init.d中,并在服務(wù)腳本中加入chkconfig: LLLL nn nn寫(xiě)到LLLL的init級(jí)別就是S的,沒(méi)寫(xiě)得就是K的,第一個(gè)nn代表S的數(shù)字,第二個(gè)nn代表K的數(shù)字[注意]:正常級(jí)別下,最后啟動(dòng)一個(gè)服務(wù)S99local沒(méi)有鏈接至/etc/rc.d/init.d一個(gè)服務(wù)腳本,而是指向了/etc/rc.d/rc.local腳本;因此,不便或不需寫(xiě)為服務(wù)腳本放置于/etc/rc.d/init.d/目錄,且又想開(kāi)機(jī)時(shí)自動(dòng)運(yùn)行的命令,可直接放置于/etc/rc.d/rc.local文件中。/etc/rc.d/rc.local在指定運(yùn)行級(jí)別腳本后運(yùn)行

9 . 打印登錄提示符
系統(tǒng)在啟動(dòng)完程序之后就會(huì)打印登錄提示符,然后輸入賬號(hào)密碼進(jìn)行登錄,最后進(jìn)入相應(yīng)的系統(tǒng)級(jí)別
10 . 總結(jié)

    1、加電自檢2、按照BIOS中設(shè)置的Boot Sequence查找有bootloader程序的設(shè)備3、加載MBR中的bootloader程序GRUB4、進(jìn)入GRUB設(shè)置的默認(rèn)kernel5、kernel初始化6、運(yùn)行init程序7、運(yùn)行系統(tǒng)初始化腳本8、啟動(dòng)對(duì)應(yīng)服務(wù)9、打印登錄提示符

啟動(dòng)修復(fù)

在前面系統(tǒng)的啟動(dòng)流程基本上已經(jīng)說(shuō)完了,我想已經(jīng)清楚系統(tǒng)是如何啟動(dòng)的了,如果系統(tǒng)啟動(dòng)失敗了呢,我們?cè)撊绾稳ソ鉀Q呢?下面就讓我們來(lái)看下常見(jiàn)的啟動(dòng)錯(cuò)誤及如何修復(fù)的吧
了解系統(tǒng)的啟動(dòng)修復(fù),請(qǐng)點(diǎn)擊下面的鏈接
http://www.cnblogs.com/JevonWei/p/7146150.html
http://www.cnblogs.com/JevonWei/p/7146719.html

http://www.jianshu.com/p/0e44aa26e3f0

轉(zhuǎn)載于:https://www.cnblogs.com/JevonWei/p/7144339.html

總結(jié)

以上是生活随笔為你收集整理的Centos 6启动流程详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。