1. 程式人生 > >linux學習 lesson19系統排錯

linux學習 lesson19系統排錯

一、超級使用者密碼忘記

1.啟動時選擇介面按上下鍵,再按e進入。

2.刪除r之後內容改為rw rd.break

ctrl+x
在這裡插入圖片描述

3.命令列輸入chroot /sysroot/

echo 新密碼|passwd --stdin root ##非互動式修改密碼

在這裡插入圖片描述

4.touch /.autorelabel ##重啟selinux

exit
exit
在這裡插入圖片描述
電腦重新啟動(過程較慢,因為要重啟了selinux重新載入安全上下文)
登陸時輸入新密碼修改。
修改成功!

二、自動啟動服務錯誤

系統怎麼自動啟動服務的呢?
cd /etc/systemd/system
ls
在這裡插入圖片描述
ll任意一個服務。

會顯示此服務連結在/usr/lib/systemd/system/或/lib/systemd/system/
所有的服務在上面都是一一對應的。如果發生更改則不能正常自啟動服務。
比如我們把開機服務連線到reboot上系統就會無限重啟。
rm -fr default.target
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target
在這裡插入圖片描述
reboot之後 裝置無限重啟。

恢復

在開啟介面上下鍵,按e
在linux16行末尾加上 5(用圖形介面開啟)

在這裡插入圖片描述
ctrl+x開啟。
systemctl set-default graphical.target ##重新設定default(還原)
ll /etc/systemd/system/default.target
在這裡插入圖片描述


reboot
修復!

三、系統初始化檔案誤刪#####

step1 刪除初始化檔案

cd /boot
rm -fr initramfs-3.10.0-327.el7.x86_64.img

reboot ##系統啟動不了,報錯顯示缺少檔案
在這裡插入圖片描述

在這裡插入圖片描述

step2 進入挽救模式

forceoff ##虛擬機器斷電
virt-manager
將映象設為開機啟動優先專案。
在這裡插入圖片描述
在這裡插入圖片描述
啟動
選擇Trouleshooting—>rescue a Red Hat…—>continue(不同版本映象選擇方式不同)
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

step3 重新建立檔案

chroot /mnt/sysimage
mkinitrd /boot/intramfs-$(uname -r).img KaTeX parse error: Expected 'EOF', got '#' at position 12: (uname -r) #̲#建立缺失的檔案(

(uname -r)表示系統版本號)
在這裡插入圖片描述
在這裡插入圖片描述
exit
exit
退出挽救模式。

step4 還原開機啟動優先

virt-manager
還原
在這裡插入圖片描述
啟動虛擬機器,正常啟動。
完成!!

四、刪除核心檔案修復#####

step1 刪除核心檔案

cd /boot
rm -fr vmlinuz-3.10.0-327.el7.x86_64
在這裡插入圖片描述
reboot
在這裡插入圖片描述

step2 挽救模式

進入挽救模式

chroot /mnt/sysimage
mkdir /source                                ##建立一個檔案 檔名任意
mount /dev/cdrom /source                     ##將光碟機掛載到檔案上
cd /source   
cd Packages/
cp kernel-3.10.0-327.el7.x86_64.rpm /mnt/    ##從光碟機上下載核心安裝包
cd /mnt
rpm2cpio kernel-3.10.0-327.el7.x86_64.rpm |cpio -id  ##將安裝包解壓縮
cd /mnt/boot
cp vmlinuz-3.10.0-327.el7.x86_64 /boot/      ##將它copy到/boot下

在這裡插入圖片描述
exit
exit

step4 還原開機啟動優先

virt-manager
還原

完成!!

五、載入程式檔案修復

以上兩個檔案都是開機時候自動識別的,那麼他們又是怎麼識別的呢?
/boot/grub2/grub.cfg
此檔案記錄了開機時的引導過程。如果這個檔案被刪除系統依然是起不來的。

step1刪除引導檔案

rm -fr /boot/grub2/grub.cfg
如果此時沒有reboot重啟,就是不幸中的萬幸。手動修復檔案:
grub2-mkconfig > /boot/grub2/grub.cfg 重新建立引導檔案

在這裡插入圖片描述

step2手動引導

如果手滑恰巧reboot了。
在這裡插入圖片描述
是不是很絕望?是不是想罵娘?
罵娘也沒用,只能跟緊我的步伐,開始以下步驟。

grub>set root='hd0,msdos1'          ##切換到/boot
grub>linux16 /vmlinuz-3.10.0-327.el7.x86_64 ro root=/dev/sda3 ##核心引導
grub>initrd16 /intramfs-3.10.00-327.el7.x86_64.img ##啟動檔案引導
grub>boot ##開機

啟動成功之後再重新建立引導檔案。

grub2-mkconfig > /boot/grub2/grub.cfg

硬碟引導階段 mbr主引導記錄的恢復
step1 fdisk -l
檢視*位置是mbr的位置
dd if=/dev/zero of=/dev/vda bs=446 count=1
reboot
step2
進入挽救模式
chroot /mnt/sysimage
step3
grub2-install /dev/vda