2021-05-12 14:32:11
Linux基礎教學學習筆記26——系統啟動過程與故障排除
Linux基礎教學學習筆記26——系統啟動過程與故障排除
一、Linux啟動過程
MBR儲存著系統的主載入程式(grub 446位元組,分割區表64位元組),啟動過程就是把核心載入到記憶體。
啟動的順序:
1、BIOS;
2、BIOS啟用MBR;
3、MBR中的載入程式(grub)載入到記憶體,生成一個微系統(如xfs);
4、grub 讀取分割區表,找到引導分割區;
5、grub讀取自身的組態檔,找到核心檔案
6、載入核心檔案;
修改系統啟動引數的時候,不要直接修改boot/grub2/grub.cfg,因為如果後期更新核心的時候,那麼gub.cfg也會自動更新,先前所做的設定會全部失效,如果要修改,建議修改/etc/default/grub,然後使用grub2-mkconfig命令生效。這個檔案是由/etc/grub.d/00_header檔案呼叫的
/boot/grub2/grub.cfg會讀取/etc/default/grub和/etc/grub.d/ 下面的組態檔
使用grub2-set-default 命令可以設定系統啟動預設的系統
在/etc/default/grub檔案裡面的cmdline行新增引數,可以修改核心啟動引數
二、開機時進入Grub編輯模式
給grub進行加密,不允許其他人在開機時編輯:
修改/etc/grub.d/00_header檔案,在該檔案最後新增以下命令:
如果要使用加密密碼,使用grub2-mkpasswd命令生成加密密碼:
然後將加密的密碼新增到00_header檔案:
三、系統啟動啟動不了的情況下幾種修復方式
可以進入以下模式:
1、救援模式---和RHEL6有不同的意思
指的是系統只啟動必需的服務,只需8個服務,此時系統可正常啟動,進入該模式需要root密碼;
進入救援模式,需要編輯grub,系統啟動時按e鍵進入編輯模式,找到以下位置,並在最後面的地方加入single或者s
2、emergency模式
該模式只需要更少的服務就可以啟動,比救援模式更少,進入該模式也需要root密碼
系統啟動時進入編輯模式,在以下行的後面加emergency
3、root密碼忘記了怎麼辦
編輯系統的啟動檔案,加入init=/bin/sh,並且把rhgb 和quit刪掉
啟動進入系統,以讀寫方式重新掛載跟分割區/
使用passwd命令重新修改密碼
在根分割區下面建立一個隱藏檔案.autorelabel
執行exec /sbin/init
4、troubleshooting模式
進入troubleshooting模式
chroot /mnt/sysimage
重新安裝grub
grub2-install /dev/sda
如果/boot目錄下面的檔案被刪除或者出現問題,需要重新安裝boot檔案:
(1)進入troubleshooting模式,重新安裝核心檔案:
chroot /mnt/sysimage
mount /dev/cd/rom
rpm -ivh /mnt/Packages/kernel-3.10-xxxxx
(2)在boot目錄下面建立grub2目錄,進入grub2目錄,使用命令grub2-mkconfig -o grub.cfg重新生成grub.cfg檔案;
(3)使用命令grub2-install重新安裝grub2下面的其他檔案
如果掛載檔案的時候,使用的是分割區的UUID,並且在/etc/fstab寫入掛載資訊,後面又將分割區的UUID修改了,但是fstab檔案裡面的UID沒有修改過來,可以進入troubleshooting模式,修改fstab檔案
在/etc/rc.local檔案是系統啟動時執行的命令
當/etc/passwd和/etc/shadow檔案丟失的時候,無法進入系統,螢幕黑畫面,沒有任何顯示,這時候需要進入troubleshooting模式,chroot /mnt/sysimage,將系統備份的passwd-和shadow-複製還原:
cp -a /etc/passwd- /etc/passwd
cp -a /etc/shadow- /etc/shadow
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-03/115600.htm
相關文章