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) #̲#建立缺失的檔案(
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