linux 系統啟動過程分析
linux啟動順序
主板BIOS加電自檢 檢查硬件
--> 讀取硬盤引導扇區(MBR)
--> 啟動引導程序(grub)
--> 選擇系統
--> 加載系統內核(kernel shell)
--> 啟動系統讀取相應的默認設置(環境變量,運行級別)
--> 啟動相應的服務和進程
--> 登陸系統界面
引導程序的配置文件
/etc/grub2.cfg
查看所有的啟動級別
#cd /usr/lib/systemd/system --> ls
1.(1)查看當前開機的默認啟動級別
#systemctl get-default
修改默認啟動級別
例:3級別--》5級別
ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
例:5級別--》3級別
systemctl set-default multi-user.target(要修改的級別)
[註] runlevel 只能通過軟連接的方式修改
模擬事故
將修改級別啟動的0級別,系統將不能啟動
修復:
重啟進入grub開機界面
-->上下箭頭結束倒計時
-->按e鍵進入啟動參數設置
-->找到Linux16在行尾UTF-8後加入systemd.unit = rescue.target(指定進入系統的模式)
-->ctrl x (啟動參數設置)
破解root密碼
重啟進入grub開機界面
-->上下箭頭結束倒計時
-->按e鍵進入啟動參數設置
-->方法①:找到Linux16將ro修改為rw init = /systemctl/bin/sh(進root入系統默認使用的shell),躲避硬盤加載
-->方法②xd:UTF-8後加入關鍵字rd.break
-->ctrl x
:/#mount 查看掛載表,檢查根分區的掛載權限是否是rw;如果是ro,需要重新掛載,加載權限
:/#mount -o remount,rw /sysroot 重新掛載,加載權限
:/#chroot /sysroot /bin/bash 切換正常啟動的bash
:/#unset LANG 清除語言環境變量
:/#passwd 修改密碼
:/#getenforce 查看selinux狀態
如果selinux沒有關閉,需要使selinux接受新密碼
:/#touch /.autorelabel 在/下創建一個關聯標簽文件
:/#exit 退回到sh
:/#reboot 重啟驗證新密碼
linux 系統啟動過程分析