Linux基礎(chǔ)(7)-Linux啟動(dòng)

linux操作系統(tǒng)啟動(dòng)流程

  1. POST系統(tǒng)
    X86平臺(tái)硬件被設(shè)計(jì)成一旦通電會(huì)自動(dòng)運(yùn)行ROM中的程序,所以當(dāng)主機(jī)加電時(shí)惑芭,CPU尋址ROM,使存放于ROM中的POST系統(tǒng)運(yùn)行,該系統(tǒng)用于硬件自檢,內(nèi)容包括檢查內(nèi)存磅崭,I/O設(shè)備是否存在御吞,顯示設(shè)備是否存在等麦箍,如果正常,則進(jìn)入下一步陶珠。

  2. Boot Sequence
    加電自檢完成后挟裂,位于ROM中的BIOS系統(tǒng)運(yùn)行,BIOS為基本輸入輸出系統(tǒng)揍诽,此時(shí)BIOS中的Boot Sequence會(huì)按次序查找各引導(dǎo)設(shè)備诀蓉,其中第一個(gè)有bootloader(引導(dǎo)程序)的設(shè)備即為本次啟動(dòng)要用到的設(shè)備栗竖,BIOS會(huì)讀取該設(shè)備的MBR,MBR即為Master Boot Record渠啤,大小為512bytes狐肢,其中前446bytes為bootloader,之后46bytes為分區(qū)表沥曹,后2bytes為魔術(shù)份名,當(dāng)標(biāo)記55AA時(shí)即表示MBR有效,否則無效妓美。

  3. BootLoader
    現(xiàn)Linux用GRUB作為bootloader僵腺,GRUB分為兩段,1st stage為bootloader壶栋,用于把第二階段加載到內(nèi)存從而完整實(shí)現(xiàn)更多功能辰如,2nd stage 即為存放于內(nèi)核中的/boot/grub,其中1.5stage可做為文件系統(tǒng)驅(qū)動(dòng)贵试,使文件系統(tǒng)中的2nd stage可以被識(shí)別琉兜。UEFI與GPT分區(qū)格式不同于MBR。

  4. Kernel
    通過GRUB會(huì)加載內(nèi)核程序到內(nèi)存中毙玻,首先內(nèi)核會(huì)自身初始化呕童,探測(cè)可識(shí)別到的所有硬件設(shè)備,在內(nèi)存上劃出臨時(shí)根ramdisk淆珊,并轉(zhuǎn)換為基于fs的文件系統(tǒng)來防止雙緩沖夺饲,通過該系統(tǒng)加載硬件所需要的驅(qū)動(dòng)。

  5. rootfs
    有了臨時(shí)根施符,有了驅(qū)動(dòng)往声,就可以以只讀方式掛載硬件上的真正的根文件系統(tǒng),使用只讀方式是為了防止因內(nèi)核BUG等原因造成破壞戳吝。 有了根文件系統(tǒng)浩销,將會(huì)啟動(dòng)用戶空間的第一個(gè)應(yīng)用程序init程序,其中CentOS7使用Systemd作為第一個(gè)程序

  6. init
    init程序?qū)⒆x取/etc/inittab文件中的配置听哭,根據(jù)運(yùn)行級(jí)別慢洋,運(yùn)行對(duì)應(yīng)的腳本程序來開啟或關(guān)閉對(duì)應(yīng)的服務(wù)程序。其中系統(tǒng)初始化腳本為/etc/rc.d/rc.sysinit陆盘,該文件配置了
    (1) 設(shè)置主機(jī)名普筹;hostname
    (2) 設(shè)置歡迎信息
    (3) 激活udev和selinux;
    (4) 掛載/etc/fstab文件中定義的所有文件系統(tǒng)隘马;
    (5) 檢測(cè)根文件系統(tǒng)太防,并以讀寫方式重新掛載根文件系統(tǒng); (之前是只讀掛載)
    (6) 設(shè)置系統(tǒng)時(shí)鐘酸员; (讀取硬件時(shí)鐘實(shí)現(xiàn))
    (7) 根據(jù)/etc/sysctl.conf文件來設(shè)置內(nèi)核參數(shù)蜒车;
    (8) 激活lvm及軟raid設(shè)備讳嘱;
    (9) 激活swap設(shè)備;(fstab已包含)
    (10) 加載額外設(shè)備的驅(qū)動(dòng)程序酿愧;
    (11) 清理操作沥潭;

  • 運(yùn)行級(jí)別:
    分為7個(gè)級(jí)別,分別為0-6
    0:關(guān)機(jī), shutdown
    1:?jiǎn)斡脩裟J?single user)嬉挡,root用戶钝鸽,無須認(rèn)證;維護(hù)模式棘伴;
    2寞埠、多用戶模式(multi user)屁置,會(huì)啟動(dòng)網(wǎng)絡(luò)功能焊夸,但不會(huì)啟動(dòng)NFS(網(wǎng)絡(luò)文件系統(tǒng));維護(hù)模式蓝角;
    3阱穗、多用戶模式(mutli user),完全功能模式使鹅;文本界面揪阶;
    4、預(yù)留級(jí)別:目前無特別使用目的患朱,但習(xí)慣以同3級(jí)別功能使用鲁僚;
    5、多用戶模式(multi user)裁厅, 完全功能模式冰沙,圖形界面;
    6执虹、重啟拓挥,reboot
    開機(jī)默認(rèn)級(jí)別為:3或 5

grub啟動(dòng)引導(dǎo)程序配置及命令行接口詳解

  • grub的命令行接口
    • help: 獲取幫助列表

    • help KEYWORD: 詳細(xì)幫助信息

    • find (hd#,#)/PATH/TO/SOMEFILE:查找文件

    • root (hd#,#) 設(shè)定根設(shè)備

    • kernel /PATH/TO/KERNEL_FILE: 內(nèi)核文件路徑

      • 內(nèi)核通常為vmlinuz,z表示是壓縮格式存放
      • 設(shè)定本次啟動(dòng)時(shí)用到的內(nèi)核文件袋励;額外還可以添加許多內(nèi)核支持使用的cmdline參數(shù)侥啤;
      • 例如:init=/path/to/init, selinux=0
    • initrd /PATH/TO/INITRAMFS_FILE:

      • 設(shè)定為選定的內(nèi)核提供額外文件的ramdisk;
      • 需要與內(nèi)核版本號(hào)完完全全匹配
    • boot: 引導(dǎo)啟動(dòng)選定的內(nèi)核茬故;

    • 手動(dòng)在grub命令行接口啟動(dòng)系統(tǒng):

          grub> root (hd#,#)
          grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
          grub> initrd /initramfs-VERSION-RELEASE.img
          grub> boot

grub配置文件

  • 配置文件:/boot/grub/grub.conf
    配置項(xiàng):

    • default=#: 設(shè)定默認(rèn)啟動(dòng)的菜單項(xiàng)盖灸;落單項(xiàng)(title)編號(hào)從0開始;
    • timeout=#:指定菜單項(xiàng)等待選項(xiàng)選擇的時(shí)長(zhǎng)磺芭;(超時(shí)時(shí)間糠雨,超時(shí)則選擇默認(rèn)菜單項(xiàng))
    • splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;xpm格式徘跪,只能使用14位色甘邀,默認(rèn)的圖片需要800*600分辨率才能顯示琅攘,可以替換為更小的,使用gimp可以編輯圖片
    • hiddenmenu:隱藏菜單松邪;
    • password [--md5] STRING: 菜單編輯認(rèn)證坞琴;設(shè)定認(rèn)證方式,匹配才可以編輯
    • title TITLE:定義菜單項(xiàng)“標(biāo)題”, 可出現(xiàn)多次逗抑;
      • root (hd#,#):grub查找stage2及kernel文件所在設(shè)備分區(qū)剧辐;為grub的“根”;
      • kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:?jiǎn)?dòng)的內(nèi)核
      • initrd /PATH/TO/INITRAMFS_FILE: 內(nèi)核匹配的ramfs文件;
      • password [--md5] STRING: 啟動(dòng)選定的內(nèi)核或操作系統(tǒng)時(shí)進(jìn)行認(rèn)證邮府;
  • grub-md5-crypt命令:生成要保護(hù)的密碼串荧关,將密碼串貼到--md5 密碼串,這要配置文件里的密碼就不會(huì)明文暴露

  • 進(jìn)入單用戶模式:
    • (1) 編輯grub菜單(選定要編輯的title褂傀,而后使用e命令);
    • (2) 在選定的kernel后附加
    • 1, s, S或single都可以忍啤;
    • (3) 在kernel所在行,鍵入“b”命令仙辟;

實(shí)現(xiàn)kickstart文件制作與光盤鏡像制作

kickstart文件的格式

  • 命令段:
    • 指定各種安裝前配置選項(xiàng)同波,如鍵盤類型等;
      • 必備命令
      • 可選命令
    • 程序包段:
      • 指明要安裝程序包叠国,以及包組未檩,也包括不安裝的程序包;
        • %packages 程序包段開始
        • @group_name 安裝的包組
        • package 安裝的包
        • -package 不安裝的粟焊,也可能因?yàn)橐蕾嚩话惭b
        • %end 程序包段結(jié)束
  • 腳本段:
    • %pre:安裝前腳本
      • 運(yùn)行環(huán)境:運(yùn)行安裝介質(zhì)上的微型Linux系統(tǒng)環(huán)境冤狡;
    • %post:安裝后腳本
      • 運(yùn)行環(huán)境:安裝完成的系統(tǒng);

命令段中的必備命令:

authconfig:認(rèn)證方式配置项棠,本地認(rèn)證配置悲雳,基于shadow

authconfig  --enableshadow  --passalgo=sha512

bootloader:定義bootloader的安裝位置及相關(guān)配置,--append=補(bǔ)充參數(shù)

bootloader  --location=mbr  --driveorder=sda  --append="crashkernel=auto rhgb quiet"

keyboard:設(shè)置鍵盤類型

keyboard us

lang:語言類型

lang  zh_CN.UTF-8

part:分區(qū)布局沾乘;以及分區(qū)使用方式怜奖,默認(rèn)被注釋,默認(rèn)單位mb翅阵,pv為固定前綴

part  /boot  --fstype=ext4  --size=500
part  pv.008002  --size=51200

rootpw:管理員密碼

rootpw   --iscrypted  $6$4Yh15kMGDWOPtbbW$SGax4DsZwDAz4201.O97WvaqVJfHcISsSQEokZH054juNnoBmO/rmmA7H8ZsD08.fM.Z3Br/67Uffod1ZbE0s.

timezone:時(shí)區(qū)

timezone  Asia/Shanghai

clearpart:清除分區(qū)

clearpart  --none
 --drives=sda:清空磁盤分區(qū)歪玲;

volgroup:創(chuàng)建卷組

volgroup  myvg  --pesize=4096  pv.008002

logvol:創(chuàng)建邏輯卷

logvol  /home  --fstype=ext4  --name=lv_home  --vgname=myvg  --size=5120

生成加密密碼的方式:生成4個(gè)字節(jié)8位16進(jìn)制數(shù)為隨機(jī)數(shù)

~]# openssl  passwd  -1  -salt `openssl rand -hex 4`

命令段中的可選命令:

install OR upgrade:安裝或升級(jí);

text:

    安裝界面類型掷匠,text為tui滥崩,默認(rèn)為GUI,單獨(dú)成行讹语,不需要參數(shù)  

network:配置網(wǎng)絡(luò)接口钙皮,自動(dòng)dhcp

network  --onboot yes  --device eth0  --bootproto dhcp  --noipv6

firewall:防火墻

firewall  --disabled

selinux:SELinux安全加強(qiáng)的策略庫

selinux --disabled

repo:指明安裝時(shí)使用的repository;

repo  --name="CentOS"   --baseurl=cdrom:sr0  --cost=100

url: 指明安裝時(shí)使用的repository,但為url格式短条;

url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/

halt导匣、poweroff或reboot:安裝完成之后的行為;

    參考官方文檔:《Installation Guide》

定制kickstart文件:

# yum install  system-config-kickstart
# system-config-kickstart

通過該程序界面可以配置上面所有選項(xiàng)

創(chuàng)建光盤鏡像:

~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o  /root/boot.iso   myboot/
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茸时,一起剝皮案震驚了整個(gè)濱河市贡定,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌可都,老刑警劉巖缓待,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異渠牲,居然都是意外死亡旋炒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門签杈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘫镇,“玉大人,你說我怎么就攤上這事芹壕』闼模” “怎么了接奈?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵踢涌,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我序宦,道長(zhǎng)睁壁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任互捌,我火速辦了婚禮潘明,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秕噪。我一直安慰自己钳降,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布腌巾。 她就那樣靜靜地躺著遂填,像睡著了一般。 火紅的嫁衣襯著肌膚如雪澈蝙。 梳的紋絲不亂的頭發(fā)上吓坚,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音灯荧,去河邊找鬼礁击。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哆窿。 我是一名探鬼主播链烈,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼挚躯!你這毒婦竟也來了测垛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤秧均,失蹤者是張志新(化名)和其女友劉穎食侮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體目胡,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锯七,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了誉己。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眉尸。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖巨双,靈堂內(nèi)的尸體忽然破棺而出噪猾,到底是詐尸還是另有隱情,我是刑警寧澤筑累,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布袱蜡,位于F島的核電站,受9級(jí)特大地震影響慢宗,放射性物質(zhì)發(fā)生泄漏坪蚁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一镜沽、第九天 我趴在偏房一處隱蔽的房頂上張望敏晤。 院中可真熱鬧,春花似錦缅茉、人聲如沸嘴脾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽译打。三九已至,卻和暖如春筹我,著一層夾襖步出監(jiān)牢的瞬間扶平,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工蔬蕊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留结澄,地道東北人哥谷。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像麻献,于是被迫代替她去往敵國(guó)和親们妥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容