1. 程式人生 > >如何解決linux系統出現的報錯

如何解決linux系統出現的報錯

一系統啟動流程

通電
     ||
bios(主機板上的只讀儲存中,basic input or output system)
作用,硬體檢測,啟用硬體
    ||
grub系統引導(grub引導分為兩個階段)
1)階段1 mbr(主引導記錄)主引導記錄在硬碟上的0磁軌,一扇區,446個位元組
*)dd if=/dev/zero of=/dev/vda bs=446 count=1 可以清空mbr
*)進入到挽救模式,執行chroot /mnt/sysimage切換到真實/環境,
   並執行grub2-install /dev/vda
2)階段2 grub檔案引導階段
   找到/boot分割槽
   讀取/boot/grub2/grub.cfg
   檔案丟失,grub2-mkconfig >/boot/grub2/grub.cfg
       ||
啟動核心,只讀掛載/裝置
檢測裝置
對裝置驅動進行初始化
進入系統初始化階段
核心丟失,從新安裝核心安裝包就可以解決
rpm -ivh kernel-xxxxx.rpm --force
    ||
系統初始化階段
系統初始化階段載入initrd映象
開啟初始化程序systemd
開始selinux
載入核心引數
初始化系統時鐘,鍵盤,主機名稱
重新讀寫掛載/裝置
啟用raid,lvm
啟用配額
啟動multi-user.target.wants中的所有服務
開啟虛擬控制檯
啟動圖形
initramfs-`uname -r`.img丟失用:
    mkinitrd initramfs-`uname -r`.img `uname -r`
恢復


改密碼


如果不小心刪除核心檔案,電腦未重啟

可直接在yum中尋找檔案

yum whatprovides /boot/vmlinz-3 {table}補齊   vmlinuz-3.10.0-327.el7.x86_64

    可以看到包含內和檔案的軟體包是kernel這個檔案

,file kernel-3 ........rpm  

rpm2cpio kernel-3.....rpm | cpio -id  會在桌面生成三個目錄 -i input -d 建立目錄

cp boot/vmlinz-3.....   /boot/  複製到boot目錄中 就ok


如果刪除後又重啟電腦無法啟動



先掛載映象 ide 

開機進入挽救模式

df檢視以下
cd /run/install/repo 因為/dev/sr0就時光碟的路徑 他掛載在此路徑下 就可以直接開啟檢視
ls 可以看到 Packages檔案
講 光碟中的kernel檔案複製到真機目錄下  /mnt/sysimage/mnt/
chroot /mnt/sysimage/ 從挽救環境進入真實環境 此時的根就是真實目錄的根
之後

rpm2cpio kernel-3.....rpm | cpio -id  會在桌面生成三個目錄 -i input -d 建立目錄
cp boot/vmlinz-3.....   /boot/  複製到boot目錄中 就ok
退出兩次
電腦自動重啟
這樣ok拉


若刪除initramfs-3.......img 且未關機


mkinitrd /boot/initramfs-3......img 3.10......   ##省略號部分可用tab補齊
uname -r 檢視系統版本號
也可以用
mkinintrd /boot/initramfs-$(uname -r).img $(uname -r)    ## $符號為系統符號用來轉換引用命令,
關機
進入挽救模式  chroot /mnt/system   進入真機環境
mkinintrd /boot/initramfs-$(uname -r).img $(uname -r)  
 



啟動級別發生錯誤



   在開機時用上下鍵停止進入 按e  在核心linux16最後出輸入5  代表有圖形有網路的開機 之後ctrl x電腦重新啟動
 
開機後   systemctl set-default graphical.target  恢復