RHEL7--linux系統啟動流程與故障排除


一、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編輯模式

RHCE7認證學習筆記26——系統啟動過程與故障排除

給grub進行加密,不允許其他人在開機時編輯:

修改/etc/grub.d/00_header文件,在該文件最后添加以下命令:

如果要使用加密密碼,使用grub2-mkpasswd命令生成加密密碼:

然后將加密的密碼添加到00_header文件:

三、系統啟動啟動不了的情況下幾種修復方式

可以進入以下模式:

1、救援模式---和RHEL6有不同的意思

指的是系統只啟動必需的服務,只需8個服務,此時系統可正常啟動,進入該模式需要root密碼;

進入救援模式,需要編輯grub,系統啟動時按e鍵進入編輯模式,找到以下位置,並在最后面的地方加入single或者s

RHCE7認證學習筆記26——系統啟動過程與故障排除

    2、emergency模式

該模式只需要更少的服務就可以啟動,比救援模式更少,進入該模式也需要root密碼

系統啟動時進入編輯模式,在以下行的后面加emergency

RHCE7認證學習筆記26——系統啟動過程與故障排除

3、root密碼忘記了怎么辦

編輯系統的啟動文件,加入init=/bin/sh,並且把rhgb 和quit刪掉

RHCE7認證學習筆記26——系統啟動過程與故障排除

        啟動進入系統,以讀寫方式重新掛載跟分區/

使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM