1. 程式人生 > >Linux系統排錯(常見)

Linux系統排錯(常見)

Linux作業系統的開機過程:從BIOS開始,然後進入Boot Loader,再載入系統核心,然後核心進行初始化,最後啟動初始化程序。

更改root使用者密碼

開機按上下鍵停止讀秒
按 ’e‘進入編輯模式
上下鍵 到linux16 /boot/vmlinuz-xxxxxxxxxxxxxxxx刪除該行ro後的內容 改ro為rw rd.break
啟動系統 ctrl+x
介面停止不動時按回車,依次輸入以下內容
chroot /sysroot/	
passwd
touch /.autorelabel
exit

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

磁碟引導階段 mbr主引導記錄的恢復

hostnamectl	檢視系統版本
fdisk -l	檢視主引導分割槽,*在哪,mbr就在哪
dd if=/dev/zero of=/dev/vda bs=446 count=1	問題模擬
注意,匯入的空位元組只能是446,再大會把磁碟分割槽覆蓋掉
重啟動虛擬機器,發現報錯
新增光碟啟動,調整光碟啟動順序
再次重啟虛擬機器
進入光碟啟動恢復介面
32111
chroot /mnt/sysimage/		改變程式執行是所參考的根目錄位置
##grub2-install			啟動分割槽所在硬碟
grub2-install /dev/vda		啟動分割槽所在硬碟
將本地磁碟啟動調到前面
重啟

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

檔案引導階段

1)引導檔案丟失

/boot/geub2/grub.cfg	引導檔案
rm -rf /boot/grub2/grub.cfg	模擬問題

當系統沒有重啟時,
grub2-mkconfig > /boot/grub2/grub.cfg	恢復引導檔案
當系統已經重啟時,
df	先檢視boot在哪?
grub > set root='hd0,msdos1'		此位置不是固定的,位置指定/boot所在的分割槽,剛才用df命令檢視過
grub > linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1	引導核心
grub > initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img	引導系統初始化映象
grub > boot	執行引導
以上操作可以使系統正常啟動,但是是臨時的,所以進入系統後還是需要執行下面的命令
grub2-mkconfig > /boot/grub2/grub.cfg	恢復引導檔案

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

2)核心檔案丟失

rm -rf /boot/vmlinuz-3.10.0-123.el7.x86_64	模擬問題

光碟啟動,進入到挽救模式,32111
df	檢視虛擬光碟
chroot /mnt/sysimage/		改變程式執行時所參考的根目錄位置
mkdir redhat	新建掛載點
mount /dev/sr0 /redhat/		掛載到redhat下
cd /redhat/
ls
cd Packages/	進入之後不要ls
cp kernel-3.10.0-123.el7.x86_64.rmp /mnt
cd /mnt
ls
rpm2cpio kernel-3.10.0-123.el7.x86_64.rmp | cpio -id
ls
cd boot/
ls
cp vmlinuz-3.10.0-123.el7.x86_64 /boot/
更改磁碟驅動為第一

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

系統初始化映象檔案丟失

rm -rf /boot/initramfs-3.10.0-123.el7.x86_64.img

當系統沒有重啟時,
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

當系統已經重啟時,
光碟啟動,進入到挽救模式,32111
chroot /mnt/sysimage/		改變程式執行時所參考的根目錄位置
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

當/boot分割槽被刪掉後

進入到挽救模式
chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/vda
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force
grub2-mkconifg > /boot/grub2/grub.cfg

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

當開機啟動級別被篡改

錯誤形成
systemctl set-default reboot.target

解決
1.開機按上下鍵停止讀秒
2.按“e”進入編輯模式
3.選擇核心啟動行
linux16 /vmlinuz-XXXXX ro XXXXXXXXXXXXXXX	改變為:
linux16 /vmlinuz-XXXXX ro XXXXXXXXXXXXXXX	5
4.啟動系統
ctrl + x
5.重新設定啟動
systemctl set-default graphical.target

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述