二、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設定 此時就可以讀入啟動引導程式了,啟動引導程式可以指定使用哪個核心檔案來啟動,並實際載入核心到記憶體當中解壓縮...