Linux系統排錯(常見)
阿新 • • 發佈:2019-02-09
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