如何解決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 恢復