引導過程與服務控制

2021-10-24 22:54:49 字數 4628 閱讀 4977

二、linux排除啟動類故障

2.1.5 mbr故障及修復的注意事項

2.2 修復grub引導故障

2.3 遺忘root使用者密碼

三、系統服務控制及切換執行級別

3.2 linux系統的執行系統

四、優化系統啟動

由linux核心載入執行/sbin/init程式

init程序是系統中第乙個程序

init程序的pid(程序標記)號永遠為1

systemd是linux作業系統的一種init軟體

entos7中採用全新的systemd啟動方式,取代傳統的sysvinit

centos7中執行的第乙個init程序是/lib/systemd/system

單元型別

拓展名說明

service

.service

描述乙個系統服務

socket

.socket

描述乙個程序間通訊的套接字

device

.device

描述乙個核心識別的裝置檔案

mount

.mount

描述乙個檔案系統的掛載點

automount

.automount

描述乙個檔案系統的自動掛載點

swap

.swap

描述—個記憶體交換裝置或交換檔案

path

.path

描述乙個檔案系統中檔案或目錄

timer

.timer

描述—個定時器(用於實現類似cron的排程任務)

snapshot

.snapshot

用於儲存乙個systemd的狀態

scope

.scope

使用systemd的匯流排介面以程式設計的方式建立外部程序

slice

.slice

描述居於cgroup的一組通過層次組織的管理系統程序

target

.target

描述—組systemd的單元

執行級別

systemd的target

說明init 0

poweroff.target

關機狀態,使用該級別時將會關閉主機

init 1

rescue.target

單使用者模式,不需要密碼驗證即可登入系統,多用於系統維護

init 2

multi-user.target

使用者定義/域特定執行級別。預設等同於3

init 3

multi-user…target

字元介面的完整多使用者模式,大多數伺服器主機執行在此級別

init 4

multi-user…target

使用者定義/域特定執行級別。預設等同於3

init 5

graphical.target

圖形介面的多使用者模式,提供了圖形桌面操作環境

init 6

rebot.target

重新啟動,使用該級別時將會重啟主機

mbr扇區破壞

dd if=/dev/sda of=/data/mbr.bak bs=1024k count=1   ## 備份mbr扇區資料

dd if=/dev/zero of=/dev/sda bs=1024k count=1 ## 破壞已備份的mbr扇區原始檔

init 6 ## 重啟

mbr扇區修復
mkdir /opt1   

mount /dev/sdb1 /opt1 ## 製作新的掛載點

dd if=/opt1/mbr.bak of=/dev/sda bs=1024k count=1 ## 將備份檔案拷到sda中

reboot ## 重啟

cd /boot/grub2/      ## 進入grub2

rm -rf grub.cfg ## 刪除grub.cfg 模擬故障

init 6 重啟系統

修復故障命令因為檔案的丟失,導致硬碟配置有誤,準備用光碟啟動來代替硬碟備份恢復grub.cfg配置檔案,所以在看見上圖故障現象時,重新啟動並按f2進入模式,選擇boot模式,將cd按住「+」號設定為第一選項,然後按f10儲存設定進行如下命令操作。

chroot /mnt/sysimage/      ## 引導急救模式,載入系統映象

grub2-install /dev/sda ## 重新建立載入sda分割槽

grub2-mkconfig -o /boot/grub2/grub.cfg ## 重新構建grub選單配置檔案

exit ## 退出bash環境

reboot ## 重啟

結束後,因為上面將cd啟動設為第一選項,這是應使用同樣的方式再將硬碟啟動重新設定為第一選項儲存即可。

進入急救模式,重設密碼

修復命令

chroot /mnt/sysimage 

passed root

new:

retry:

exit

reboot

systemctl       控制型別        服務名稱
型別

作用start

啟動stop

停止restart

重新啟動

reload

status

檢視服務模式

restart  重新啟動 :先關閉服務再開啟服務,服務會中斷
1.runlevel命令

2.systemctl工具

runlevel只能檢視切換執行級別與當前執行級別

systemctl時能檢視預設的執行級別

1.init命令

2.systemctl工具

init的命令引數是執行級別所對應的數字

systemctl的命令引數是具體的target

修改預設的執行級別

set-default 用來指定預設的執行級別

方式1:

systemctl set-default multi-user.target
方式2:

rm -f /etc/systemd/system/default.target

ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

init 6 / reboot

兩條命令功能相同,都要重啟才能生效

注:檢視當前的執行級別

systemctl get-default
ntsysv工具
1.提供乙個互動式、視覺化視窗

2.可以在字元終端執行

3.便於集中管理多個服務

systemctl工具
1.不提供乙個互動式、視覺化視窗

2.管理單個服務效率更高

ntsysv

ntsysv --level 級別列表

按照預設設定,只有當前執行級別會被配置要配置不同的執行級別使用"-level"選項來指定乙個或多個執行級別。

例如,命令 「ntsysv --level 345」 配置執行級別3、4和5。


systemctl  is-enabled 服務名稱
systemctl  enable/disable 服務名稱
systemctl start 服務 = service 服務 start

systemctl stop 服務 = service 服務 stop

systemctl status 服務 = service 服務 status

systemctl reload 服務 = service 服務 reload

systemctl restart 服務 = service 服務 restart

注意∶systemctl 或 service 管理服務時,在/lib/systemd/system下面要有這個服務,service檔案或者在/etc/init.d/服務的配置檔案。

引導過程與服務控制

單元型別 副檔名說明 service service 描述乙個系統服務 socket socket 描述乙個程序間通訊的套接字 device device 描述乙個核心識別的裝置檔案 mount mount 描述乙個檔案系統的掛載點 automount automount 描述乙個檔案系統的自動掛載...

引導過程與服務控制

二 系統初始化程序 三 systemd單元型別 四 執行級別所對應的systemd目標 五 修復mbr扇區故障 六 修復grub引導故障 七 修復故障的方法 伺服器主機開機以後,將根據主機板bios中的設定對cpu 記憶體 顯示卡 鍵盤等裝置進行初步檢測,檢測成功後根據預設的啟動順序移交系統控制權,...

引導過程與服務控制

引導過程總覽 粗略的說系統的啟動流程 當你按下電源按鍵後計算機硬體會讀取bios或uefi bios來載入硬體資訊及進行硬體系統的自我測試,之後系統會主動的去讀第乙個可啟動的裝置 bios設定 此時就可以讀入啟動引導程式了,啟動引導程式可以指定使用哪個核心檔案來啟動,並實際載入核心到記憶體當中解壓縮...