1. 程式人生 > >系統常見錯誤排除

系統常見錯誤排除

##########忘記root密碼的解決辦法#########
開機時在選項處按上下鍵讓停止讀秒
按e進入要修改的介面
在這裡插入圖片描述
在這裡插入圖片描述
從8開始刪除到o 改為rw rd.break
ctrl+x 讓系統繼續執行
在這裡插入圖片描述
chroot /sysroot/ 改變根目錄為/sysroot
passwd 進行root密碼修改
在這裡插入圖片描述
輸入兩遍密碼
touch /.autorelabel
在這裡插入圖片描述
exit兩次 退出 進行啟動
進入登入介面,選擇root使用者,輸入剛才修改的密碼
在這裡插入圖片描述

########磁碟引導階段 mbr主引導記錄恢復##########
*#模擬問題:dd if=/dev/zero of=/dev/vda bs=446 count=1 ##將磁碟引導的446位元組誤刪除(所在的磁碟)


在這裡插入圖片描述
系統無法啟動
在這裡插入圖片描述
解決:進入拯救模式
掛載光碟,掛載與主機一樣的映象光碟
在這裡插入圖片描述
新增光碟並將光碟至頂
在這裡插入圖片描述
進入拯救模式後選擇第三行
在這裡插入圖片描述
conntinue,ok選擇後,選擇第二行
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
chroot /mnt/sysimage/ ##改變程式執行時所參考根目錄的位置
grub2-install ##啟動分割槽所在硬碟,此處我們啟動的磁碟為/dev/vda
grub2-install /dev/vda
在這裡插入圖片描述
在這裡插入圖片描述
最後將本地磁碟至頂,重新啟動,可以看到啟動成功
在這裡插入圖片描述
在這裡插入圖片描述

#########引導檔案的丟失#########
檔案:/boot/grub2/grub.cfg
#模擬問題:rm -rf /boot/grub2/grub.cfg


在這裡插入圖片描述
重啟系統時發現,系統無法重啟
在這裡插入圖片描述
1.當系統沒有重新啟動時
grub2-mkconfig > /boot/grub2/grub.cfg
2.當系統重新啟動後
grub > set root=‘hd0,msdos1’ ##位置不固定,此位置指定/boot所在分割槽
解釋:
hd後面的數字代表的時ab 例如/boot在dev/vda1裝置上時,就是hd0,vdb1的話就是hd1
msdos後面那的數字就是/boot掛載的裝置/dev/vda後面的數字
grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1 ##(根分割槽裝置名稱)引導核心檔案
核心檔案
解釋:/boot獨立 :/vm…
/boot不獨立:/boot/vm…
grub > initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img ##引導系統初始化映象
grub > boot ##執行引導,啟動
在這裡插入圖片描述

可以看到啟動成功
在這裡插入圖片描述
#以上操作可以使系統正常啟動,但是時臨時的,所以進入系統後還是要執行
grub2-mkconfig > /boot/grub2/grub.cfg ##永久恢復引導檔案
在這裡插入圖片描述

###########核心檔案丟失##########
#模擬問題:rm -rf /boot/vmlinuz-3.10.0-123.e17.x86_64
reboot重啟
在這裡插入圖片描述
重啟時的情況
在這裡插入圖片描述
進入挽救模式:以光碟啟動虛擬機器
chroot /mnt/sysimage 改變根目錄的位置
mkdir /westos 建立一個westos目錄
mount /dev/sr0 /westos/ ##將光碟機掛載新建目錄(因為光碟是隻讀的,需要將其挪出)
在這裡插入圖片描述
cd /westos ls 會看到Packages
cd Packages/
在這裡插入圖片描述
cp kernel-3.10.0-123.e17.x86_64.rpm /mnt/ 拷貝這個檔案到mnt下,因為這個檔案裡有我們想要的東西
cd /mnt ls
rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id 把這個檔案進行分解 在這裡插入圖片描述
cd boot/ ls-l 檢視boot下的檔案
在這裡插入圖片描述
cp vmlinuz-3.10.0-123.e17.x86_64 /boot/ 把boot裡面的核心檔案拷貝到/boot/
exit兩次退出
將本地磁碟置頂進行重新啟動,啟動成功
在這裡插入圖片描述

#########系統初始化映象檔案丟失#########
#uname -r 檢視系統版本號 hostnamectl 檢視系統資訊
在這裡插入圖片描述
#模擬問題:rm -rf /boot/initramfs-3.10.0-123.e17.x86_6.img
在這裡插入圖片描述

1.當系統沒重啟時
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 恢復系統初始化映象檔案
在這裡插入圖片描述

2.當重啟系統時
會發現系統重啟有問題
在這裡插入圖片描述

光碟至頂啟動進入挽救模式
chroot /mnt/sysimage 改變根目錄位置
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 恢復系統初始化映象檔案
exit兩次
在這裡插入圖片描述
關閉虛擬機器,將本地磁碟指定在啟動
在這裡插入圖片描述

########/boot分割槽被刪除後##########
模擬問題:rm -fr /boot
在這裡插入圖片描述
重新啟動時會發現
在這裡插入圖片描述
進到挽救模式
chroot /mnt/sysimage 改變根目錄位置
mkdir /boot 建立一個/boot的目錄
grub2-install /dev/vda 啟動分割槽所在硬碟
mount /dev/cdrom /mnt 掛載到/mnt下
rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force 下載這個系統軟體包
grub2-mkconfig > /boot/grub2/grub.cfg 恢復引導檔案
在這裡插入圖片描述
在這裡插入圖片描述
然後本地磁碟置頂,重新啟動
在這裡插入圖片描述

#########當開機啟動級別被篡改#########
模擬問題
systemctl set-default reboot.target
會讓主機不停的重新啟動
在這裡插入圖片描述
在這裡插入圖片描述

解決方法
1.開機按上下鍵停止讀秒
2.按‘E’進入編輯模式
在這裡插入圖片描述
3.選擇核心啟動
linux16 /vmlinuz-xxxxxxx ro xxxxxxxxxx 改為:
linux16 /vmlinuz-xxxxxxx ro xxxxxxxxxx 5
在這裡插入圖片描述
4.啟動系統
ctrl + x
在這裡插入圖片描述
5.重新設定啟動
systemctl set-default graphical.target
在這裡插入圖片描述