引導順序
UEFi或BIOS初始化,運行POST開機自檢
選擇啟動設備
引導裝載程序, centos7是grub2
加載裝載程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
加載initramfs驅動模塊
加載內核選項
內核初始化,centos7使用systemd代替init
執行initrd.target所有單元,包括掛載/etc/fstab
從initramfs根文件系統切換到磁盤根目錄
systemd執行默認target配置,配置文件/etc/systemd/system/default.target
systemd執行sysinit.target初始化系統及basic.target准備操作系統
systemd啟動multi-user.target下的本機與服務器服務
systemd執行multi-user.target下的/etc/rc.d/rc.local
Systemd執行multi-user.target下的getty.target及登錄服務
systemd執行graphical需要的服務
設置內核參數
設置內核參數,只影響當次啟動
啟動時,在linux16行后添加
systemd.unit=desired.target
systemd.unit=emergency.target
systemd.unit=rescue.target
rescue.target 比emergency 支持更多的功能,例如日志等
systemctl default 進入默認target
破解CentOS7的root口令
方法一:
啟動時任意鍵暫停啟動
按e鍵進入編輯模式
將光標移動linux16開始的行,添加內核參數rd.break
按ctrl-x啟動
mount –o remount,rw /sysroot 重新掛載根目錄為讀寫
chroot /sysroot 切根
passwd root 修改root密碼
touch /.autorelabel 創建文件,為避免selinux報錯
exit
reboot
方法二:
啟動時任意鍵暫停啟動
按e鍵進入編輯模式
將光標移動linux16開始的行,改為rw init=/sysroot/bin/sh 掛載為讀寫模式
按ctrl-x啟動
chroot /sysroot 切根
passwd root 修改root密碼
touch /.autorelabel 創建文件,避免selinux報錯
exit
reboot
故障排除
/boot路徑下所有文件丟失
進入救援模式
chroot /mnt/sysimage
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-3.10.0-693.e17.x86_64.rpm --force --force選項是必須的
grub2-install /dev/sda 為boot所在磁盤修復grub文件
cd /boot/grub2/
grub2-mkconfig -o grub.cfg 如果不在/boot/grub2路徑下需要指明路徑grub2-mkconfig -o /boot/grub2/grub.cfg
啟動默認內核選擇
/etc/default/grub文件中GRUB_DEFAULT= (0為第一項,1為第二,以此類推),修改此項即可
