linux啓動失敗故障分析修復

前言

  我們在使用linux服務器工作中難免會遇到某一天服務器故障無法啓動的情況。我們遇到這種問題要知道如何去找到無法啓動的原因,從而解決問題。本文將列出最常見的問題linux啓動問題。

問題分析

硬件問題:

  硬件無非就是由主板、cpu、內存、硬盤、電源以及其他板載設備構成。
常見排查問題扥方法可分爲:

①從主板排查: 服務器主板上有自帶檢測卡 ,無法正常開機會有顯示錯誤代碼。
②內存:一般雙通道、四通道。服務器大部分爲雙路 CPU 內存分A B 類插槽 例如總共24個內存插槽 A1-A12爲 一組 B2-B12。 A1插一個 另一個要插在B2上。或者就是內存鬆動,沒有插好,擦拭內存條金手指,重新插入
③硬盤: 硬盤一般都插在陣列卡上,如果沒有識別到硬盤,就要到陣列卡里進行設置,具體操作可以百度陣列卡的型號
④cpu: 這個一般不會壞,這個是服務器上最穩定的一個硬件,可以直接忽略。
⑤電源: 啓動沒有反應,散熱風扇不會動,usb沒有輸出供電,這個沒法修,只有更換。



系統問題:

①引導分區出問題:MBR分區損壞或者丟失
②啓動所依賴的的grup損壞
③文件系統損壞,或者其他分區損壞
④忘記登陸密碼
⑤應爲文件錯誤導致無法啓動



在解決問題之前,我們先了解下linux的啓動過程,有助於判斷我們進行到哪一步,或是在哪一步出了問題。
linux的啓動過程大概分爲4步驟
第一步
bios硬件自檢 (耗時最長)
硬件排查,大概一兩分鐘時間就可以結束,結束標誌:看到group界面



第二步
啓動引導管理器 :cetos6 爲GRUB centos7爲GRUB2
系統啓動引導包含的文件 ,開機後選擇哪個內核進入

第三步
內核與鏡像文件系統加載
①確定啓動分區 (大部分是第一個分區)
②加載內核文件(獲得硬件的支持)調度算法 cpu 內存管理
③鏡像文件系統(獲得設備驅動支持,識別磁盤,文件系統配置等)
第四步
系統初始化以及文件的加載
①第一個進程
centos6 爲 init (啓動速度慢,只能串行啓動等)
centos7 爲 systemd
②系統初始化 (主機名、網絡支持、時鐘支持、邏輯券支持)
centos6 sysinit的腳本完成初始化
centos7 systemd加載服務單元
③進入運行級別,例如windos的F8安全模式
centos6有這個級別,
centos7或8沒有運行級別,直接定義模式 mod 要麼圖形模式,要麼字符模式
④啓動系統網卡、加載nfs、啓動ssh終端、啓動httpd等。















二.解決方案:

一.系統的救援模式

1.進入救急模式,在biso中選擇boot項,將光盤或者u盤設置爲第一啓動項,前提是u盤或者光盤有相同版本的系統。我這裏以光盤爲例。選擇後重啓即可。
在這裏插入圖片描述
2. 進入救援模式
這裏注意下,進入的救援模式的系統內核是在光驅或者光盤上,並不是進入了我們損壞的系統,通過光驅的系統掛載損壞的硬盤,從而進行文件操作。(類似於windos的pe盤)。
cenros6選擇Rescue installed ysytem 進入救援模式
centos7選擇Troubleshooting 進入救援模式




在這裏插入圖片描述
在這裏插入圖片描述
3. 選擇語言English,這裏基本就是一隻下一步就可以了,其中有一項Setup Networking是否開啓網絡,這裏注意選擇no不開啓就可以了。
在這裏插入圖片描述


  1. 進入應急的shell, chroot /mnt/sysyimage , 進入我們錯誤系統的硬盤下,就可以進行文件操作。如修改配置文件之類的。
    在這裏插入圖片描述
  2. 修改完畢之後exit ,進入bios改回硬盤啓動模式。
二.常遇到系統啓動的問題

1. MBR損壞修復
在這裏插入圖片描述
當引導扇區被破壞後就無法啓動
①病毒進行破壞。
②硬盤損壞
③當裝雙系統時候。
模擬破壞:使用對拷 dd命令 把前446字節擦掉,指令如下
dd if=/sev/zero of=/sev/sda bs=1 count=446
擦掉後查看
hexdump -C -n 512 /dev/sda
在這裏插入圖片描述
解決方法:
cenros7:
grub2 -install /dev/sda 把linux系統程序寫到根boot loader 引導下即可恢復
centos6:
grub -install /dev/sda 把linux系統程序寫到根boot loader 引導下即可恢復














2.其他分區損壞,或者文件系統損壞:

解決方法:

Fsck -y /dev/sda2

Fsck -y /dev/sda3

Fsck -y /dev/sda4

3.忘記root密碼:
解決方法:

chroot /mnt/sysimage/

echo "000000" | passwd --stdin root 或 passwd root

exit

reboot

4.因爲文件錯誤導致系統無法啓動
解決方法:
將原有文件考入相同路徑,給予權限即可

======================================================================================================================================================================================================================================================================================================
辛苦瀏覽觀看,如果對你有幫助,請順手點個贊吧 (σ゚∀゚)σ…:*☆

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章