1. 程式人生 > 其它 >開機自啟動流程2

開機自啟動流程2

開機啟動流程2

救援模式

需要有系統盤才可以進入救援模式

要進入安裝系統的介面才能進入救援模式

1.關機

init 0
halt
poweroff
shutdow -h now

2.將系統盤放入光碟機中

3.進入BIOS

將系統啟動的順序該為從光碟啟動
# 方法1
開機時,不斷按F2
# 方法2
在電源裡點選進入韌體

選擇boot

把CD-ROM啟動順序排到第一個

按F10儲存退出 選擇yes

進入安裝系統介面

進入救援模式

選擇選項1

案例1-損壞系統扇區 (前521位元組)

# 手動損害系統扇區
dd </dev/zero >/dev/sda bs=1 count=446

扇區損害,進入救援模式修復扇區

# 1.修復扇區
grub2-install /dev/sda
# 2.退出root環境
exit
# 3.重啟
reboot

修復grub選單

# 1.模擬故障
rm -rf  /boot/grub2/
# 2.重啟
reboot

系統狀態

# 3.重啟後進入救援模式
# 4.修復扇區
grub2-install /dev/sba
# 5.重置grub.cfg配置檔案
grub2-mkconfig -o /boot/grub2/grub.cfg
# 6.退出root環境
exit
# 7.重啟
reboot
# 檢視/boot/grub2是否修復
ls /boot/grub2

systemd管理服務

# systemd的由來
linux一直以來都是採用init來作為爸爸,但是init有兩個缺點:
1.啟動時間長,init程序是序列啟動,只有前一個程序完成,才會啟動下一個程序。
2.啟動指令碼複雜,初始化完成後。系統會載入很多指令碼,指令碼都會處理各自的情況,這會讓指令碼多而複雜
CentOs5是啟動速度最慢的,序列啟動過程,無論程序之間有無依賴關係
CentOS6相對啟動速度有所改進,有依賴的程序之間依次啟動而其他沒有依賴關係的則並行啟動
CentOS7所有程序無論有無依賴關係,都並行啟動,當然有很多時候程序並沒有真正啟動,而是隻有一個訊號,在真正利用時才會真正啟動
# 什麼是systemd
systemd即為system daemon守護程序,systemd主要解決上文問題而誕生的,systemd的目標是,為系統的啟動和管理提供一套完整的解決方案。
# systemd的優勢
1.最新系統都採用systemd管理
2.CentOS7支援開機並行啟動服務,開機速度快
3.CentOS7中關機值關閉真在執行的服務,而C6會想所有的服務全部都關一遍
4.C7服務啟動與關閉不使用指令碼進行管理
5.C7使用systemd解決原有的模式缺陷,如:原有service不會關閉程式的子程序

systend相關的配置檔案

# 系統中所有服務啟動指令碼存放路徑
C6 :etc/init.d
C7 : /usr/lib/systemd/system
# 系統執行級別相關目錄
C6 :/etc/rc*.d
C7 : /etc/systemd/system
#  預設執行級別需要開機自啟的服務存放目錄
C6 :/etc/rc3.d
C7 : /etc/systemd/system/multi-user.target.wants/

systemd管理服務命令

1.啟動服務
 C6: /etc/init.d/服務名  start
 	service  服務名  star
 C7:systemctl start 服務名
	service 服務名  star
2.停止服務
    C6 : /etc/init.d/服務名 stop
    C7 : systemctl stop 服務名
3.服務重啟:
C6 :/etc/init.d/服務名  restart
C7 :systemctl  restart  服務名
4.服務重新載入:
C6 :/etc/init.d/服務名  reload
C7 : systemctl relod  服務名
5.檢查服務啟動狀態:
C6 : /etc/init.d/服務名 status
C7 :systemctl status 服務名
# 只有C7有
6.判斷服務是否在執行:
	systemctl is-active 服務名
7.禁用指定的服務
	systemctl mask 服務名
8.取消禁用指定的服務
	systemctl unmask 服務名

開機自啟動服務

1.檢視開機自啟動的服務有哪些
C6 :chkconfig
C7 :systemctl list-unit-files
2.設定開機自啟動:
C6 : chkconfig  服務名 on
C7 : systemctl enable 服務名
3.關閉開機自啟動:
C6 :chkconfig 服務名 off
C7 :systemctl disable 服務名
4.檢視指定服務是否開機自啟動
C6 :chkconfig --list 服務名
C7 :systemctl is-enabled 服務名
# 只有C7有
5.服務的啟動指令碼被修改,重新載入啟動指令碼
systemctl daemon-reload

systemctl服務狀態說明

服務狀態 狀態說明
loaded 服務單元的配置檔案已被處理
active(running) 服務的一個或多個程序在執行
active (exited) 一次性執行的服務成功被執行並退出(服務執行後完成任務,相關程序會自動退出)
active(waiting) 服務已經執行但在等待某個事件
inactive 服務沒有在執行
enable 服務設定為開機執行
disabled 服務設定為開機不執行
static 服務不能被設定開機啟動,但可以由其他服務啟動該服務