操作系統的引導過程與服務控制

引導過程與服務控制

一、引導過程管理

1、引導過程

【1】開機硬件自檢(BIOS)

基本的自檢,檢測出第一個能夠開機引導系統的設備(光驅、硬盤、U盤),查找引導程序。

【2】MBR引導

引導設備放置在設備裏面的第一個扇區(MBR、512字節),MBR裏面會有GRUB引導程序,分區表,BIOS找到引導程序之後會啓動使其運行起來。

【3】GRUB菜單

Linux中的啓動運行程序,運行起來之後會讀取grub配置文件grub.conf,裏面有內核,設置等,讓引導程序加載內核和鏡像文件。

【4】加載內核(kernel)

在加載時把內核和鏡像文件都加載到內存裏面(這個是由kernel小程序完成的),完成之後有進行一次全面的硬件自檢,所有的均加載完畢之後內核把init進程運行起來。

【5】systemd進程或init進程初始化

它們是所有進程的父進程,負責整個環境的初始化。是系統的第一個進程,內核加載/sbin/init程序運行init進程,PID(進程標記號)永遠是1。完成就啓動系統。
(1)init進程:init是centos6之前初始化進程,加載並運行/sbin/init程序,進程號是“1”。
(2)systemd進程:systemd是centos7之後初始化進程,加載並運行/usr/lib/systemd/system程序,進程號是“1”

2、Upstart啓動方式

將初始化配置文件分散存放,響應不同的啓動事件,以事件爲基礎的啓動方式。
在這裏插入圖片描述

3、inittab文件的結構

【1】格式:id:runlevels:action:process

在這裏插入圖片描述

【2】runlevels—運行級別

在這裏插入圖片描述

4、排除啓動類故障

注:急救模式工作原理
光盤的操作系統在內存中運行,硬盤中壞的操作系統掛載到內存中的/mnt/sysimage目錄下,這個目錄相當於硬盤中的根目錄,這樣就能修改破壞的操作系統。
shell#chroot /mnt/sysimage/

【1】修復MBR扇區故障
(1)故障原因

病毒、木馬等造成的破壞;
不正確的分區操作、磁盤讀寫誤操作;

(2)故障現象

找不到引導程序,啓動中斷;
無法加載操作系統,開機後黑屏;

(3)解決思路

應提前做好備份文件;
以安裝光盤引導進入急救模式;
從備份文件中恢復;

(4)示例案列

1)掛載分區到某個文件下
在這裏插入圖片描述
2)備份MBR扇區數據(of=備份到路徑儘可能到其他磁盤,bs表示讀寫單位,count表示讀寫數量)

[root@localhost ~]# dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1
[root@localhost ~]# ls /backup
sda.mbr.bak

注:dd命令比tar的備份更加強烈,tar包一般備份普通文件,透明的文件目錄等,dd可以備份不透明的文件(扇區等),看不見的目錄。
3)模擬MBR扇區故障(設備文件/dev/zero表示無限制產生0的程序文件)

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
[root@localhost ~]# init 6

4)重啓之後沒法找到系統,掛載光盤再次重啓電腦在讀條時候按鍵“ESC”選擇光盤啓動CD-ROE
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
5)從備份文件中恢復MBR扇區(備份路徑和備份到的路徑互換)

shell#mkdir /mbr
shell#mount /dev/sdb1 /mbr
shell#ls /mbr
sda.mbr.bak
shell#dd if=/mbr/sda.bak of=/dev/sda
shell#reboot
【2】修復GRUB引導故障
(1)故障原因

1)MBR中的GRUB引導程序遭到破壞
2)grub.conf文件丟失,引導有誤

(2)故障現象

系統引導停止,顯示“grub>”提示符

(3)解決思路

進入急救模式,重建grub程序

(4)案例說明

【1】查看gurb配置文件路徑

[root@localhost ~]# ls /boot/grub2
device.map   fonts   grub.cfg  grubenv  i386-pc locale 

【2】模擬破壞,刪除配置文件

[root@localhost ~]# rm -rf /boot/grub2/grub.cfg 
[root@localhost ~]# reboot
就會出現重寫grub菜單的界面
grub>

【3】掛載光盤再次重啓電腦在讀條時候按鍵“ESC”選擇光盤啓動CD-ROE
【4】troubeshooting
【5】rescue system
【6】選擇1coutiue回車進入shell終端
1)使用安裝光盤引導進入急救模式,若分區表並未被破壞,則急救模式將會找到硬盤中的Linux根分區,並將其掛載到光盤目錄結構中的/mnt/sysimage文件夾中。

shell#chroot /mnt/sysimage/

2)進入“bash-4.1#”的shell環境以後,執行“grub2-install /dev/sda”命令可以重新加載sda分區

bash-4.1#grub2-install /dev/sda

3)重新構建grub.conf配置文件即可

bash#grub2-mkconfig -o /boot/grub2/grub.cfg
bash#exit
shell#reboot

注:分區表保存在MBR扇區的第447~510字節中,MBR共有512字節,前446字節是主引導記錄,後64字節,每16字節爲一組,共四組是硬盤分區表。

【3】忘記root密碼故障
(1)故障原因

忘記root密碼

(2)故障現象

無法進行需要root權限的管理操作
若沒有其他可用賬號,將無法登錄系統

(3)解決思路

進入急救模式,重設密碼。

(4)案例說明

使用命令chroot /mnt/sysimage進入急救模式,重新改密碼就可以。
【1】掛載光盤再次重啓電腦在讀條時候按鍵“ESC”選擇光盤啓動CD-ROE
【2】troubeshooting
【3】rescue system
【4】選擇1coutiue回車進入shell終端

shell#chroot /mnt/sysimage/
bash#passwd root
passwd:
passwd again:
bash#exit
shell#reboot

二、服務控制及優化啓動過程

1、系統服務控制

【1】常用方式

Service 服務名稱 控制類型(我要對這個服務做什麼操作)
/etc/rc.d/init.d 服務名稱 控制類型
Systemctl 控制類型 服務名稱

【2】控制類型

Start:啓動、stop:停止、restart:重啓、reload:重新加載、status:查看服務狀態

【3】示例postfix服務

在這裏插入圖片描述

【4】reload與restart區別

Reload:重載配置文件,服務不停止重新加載配置文件生效,叫平滑過渡。相當於刷新
Restart:相當於停掉這個網頁,重新點進,要停掉服務。

2、Linux系統的運行級別

【1】查看運行級別:使用runlevel命令
【2】臨時切換運行級別:使用init命令結合0-6運行級別參數,如init 3。

3、優化啓動工具

系統服務選擇開啓還是關閉,應根據主機的實際功能需求來定。

【1】systemctl工具(常用)

語法:systemctl 控制類型 服務名稱
服務的配置文件:/usr/lib/systemd/system/NAME.service
三個部分組成:
unit定義數據單元
service服務的配置
install定義是否開機自啓
(1)啓用或停用
disable永久停用,enable永久啓用
(2)啓動或停止
Start啓動、stop停止、restart重啓、reload重新加載、status查看服務狀態
(3)查看服務啓動狀態
systemctl 【is-active|is-failed】 service
(4)屏蔽與取消屏蔽
systemctl 【mask|unmask】service
如,iptables(yum install iptables-services)和Firewalld互相沖突。

【1】ntsysv工具(*空格鍵,tab鍵OK)

(1)提供一個交互式、可視化窗口,可在字符界面運行,便於集中管理多個服務
(2)語法:ntsysv --level 級別(0–6)
在這裏插入圖片描述

【2】chkconfig工具

(1)不提供交互式可視化窗口,管理單個服務效率更好。
(2)語法:查看服務狀態chkconfig --list (服務名稱) 永久關閉:chkconfig --level 級別 服務名 on/off
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章