系統故障及其恢復

2021-08-16 17:55:46 字數 3851 閱讀 3641

1.系統啟動流程

通電 ------->bios(主機板上的唯讀儲存)作用,硬體檢測,啟用硬體)

grub系統引導(grub引導分為兩個階段)

1)階段1 mbr(主引導記錄)主引導記錄在硬碟的磁軌上,一扇區,446個位元組

2)階段2 grub檔案引導階段

由檔案/boot/grub2/grub.cfg控制流程,指定/boot分割槽位置——>載入核心——>啟動系統初始化程序——>grub2-mkconfig

2.核心引導階段

檢測硬體裝置——>裝置驅動初始化——>將/唯讀掛載——> 載入初始化程序systemd——>核心檔案丟失請重新安裝核心

3.systemd初始化

開啟selinux和systemd-tools——>載入核心引數——>載入系統時鐘,鍵盤,主機名稱——>讀寫掛載/檔案系統——>啟用raid,lvm裝置——>啟用系統配額——>啟動multi-user.target.wants中的所有服務指令碼——>啟用虛擬控制台——>啟**形

1.引導程式/boot/gurb出錯

破壞/dev/vda前446位元組引導:dd if=/dev/zero if=/dev/vda bs=446 count=1  (boot分割槽在哪掛載就破壞哪)

selinux 核心級加強型防火牆

開機無法引導程式

關閉虛擬機器,加入iso映象光碟,從光碟機啟動

troubleshooting                                            #系統修復

rescue a res hat enterprise linux system    #選擇挽救模式(選單的第二項)

1.繼續    2.唯讀   3跳過   選擇第一項  

grub2-install /dev/sda       #根據實際boot分割槽掛載

執行兩次exit退出從硬碟啟動,恢復成功

2.引導檔案/boot/grub2/grub.cfg 丟失

當系統沒有重新啟動

grub > set root='hd0,msdos1'

位置不固定 ,指定/boot所在分割槽

grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1

根分割槽的裝置名稱

grub > initrd16 /boot/initramfs-3.......  tab 補齊

注:可以讓系統正常啟動,但是臨時的,還需要執行:

grub2-mkconfig > /boot/grub2/grub.cfg

3.核心丟失

模擬問題 rm  -rf    /boot/vmlinuz-3.10..............

進入到挽救模式

進入到挽救模式

chroot /mnt/sysimage 將根分割槽掛載到硬碟上

mkdir /rhel7   創立目錄

mount /dev/sr0 /rhel7  將光碟掛載

cd /rhel7/packages   進入到光碟的packages中

cp kernel-3.10.0-123.e17.......  /mnt 將核心複製到mnt

cd /mnt  進入到mnt中

rpm2cpio kernel-3.10......   rpm |cpio -id  使用cpio格式壓縮核心並且解壓

cd boot 進入到拆分生成的boot目錄中

將丟失的核心檔案複製回去    

cp vmlinuz-3.10.......  /boot

exit 退出兩次

4)當/boot分割槽被刪除後

1》恢復損壞的boot引導程式

2>恢復核心

3>恢復初始化檔案

4> 恢復引導檔案/boot/grub2/grub.cfg,此時只需要執行grub2-mkconfig > /boot/grub2/grub.cfg即可

5)初始化檔案丟失

initramfs-3.10.0-123.el7.x86_64.img     #初始化檔案

進入挽救模式

chroot /mnt/sysimage

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

執行兩次exit,從硬碟啟動成功

6. 閃退

從光碟啟動進入挽救模式

chroot /mnt/sysimage

cp /bin/bash            /mnt/sysimage/bin/bash

exit退出即可

注:在系統啟動出錯恢復時,除卻引導檔案/boot/grub2/grub.cfg丟失不需要光碟啟動進入挽救模式外,其他情況均需要從光碟啟動進入挽救模式

#################################附錄####################################

開機啟動被篡改

錯誤形成

systemctl set-default     reboot.target   

解決方案解決

在開機選項中按上下鍵停止讀秒

按e進入編輯模式

選擇核心啟動行

linux16 /vmlinuz-*********x ro ************xx  改變為:

inux16 /vmlinuz-*********xx rw rd.break

ctrl +x

chroot /sysroot

rm -rf /etc/systemd/system/default.target

ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target

exit

忘記root密碼

在開機選項中按上下鍵停止讀秒

按e進入編輯模式

選擇核心啟動行

linux16 /vmlinuz-*********x ro ************xx  改變為:

linux16 /vmlinuz-*********xx rw rd.break

chroot /sysroot/

touch /.autorelabel

事務故障 系統故障和介質故障的恢復

1 反向掃瞄日誌檔案,查詢該事務的更新操作。2 對該事務的更新執行逆操作,即將日誌記錄中 更新前的值 寫入資料庫。3 繼續反向掃瞄日誌檔案,查詢該事物的其它更新操作,並做同樣處理。4 如此繼續下去,直到讀到此事務的開始標記,事務故障恢復就完成了。1 正向掃瞄日誌檔案,找出在故障發生前已經提交的事務,...

系統故障排除

常見的系統故障排除 1.確定問題的故障特徵 2.重現故障 3.使用工具進一步收集資訊 4.排除不可能的原因 5.定位故障 從簡單的問題入手 一次嘗試一種方式 1.備份原始檔 2.盡可能借助工具 可能出現的故障 1.管理員密碼忘記 2.系統無法正常啟動 a grub損壞 mrb損壞 grub配置檔案丟...

系統故障排查

一 1.建立用於儲存mbr備份的新硬碟分割槽,並永久掛載 1 新建乙個目錄 mkdir backmbr 2 掛載 mount dev sdd1 backmbr 永久掛載 vim etc fstab 3 備份mbr扇區資料 dd if dev sda of backmbr mbr.bak bs 512...