常見系統故障的排除:
1 肯定問題的故障特徵
2 重現故障
3 使用工具收集進一步信息肯定故障根源
4 排除不可能的緣由
5 定位故障:
從簡單問題入手
一次只嘗試一種方式
遵循的基本原則:備份原文件
儘量藉助於工具
可能出現的故障:
1 管理員密碼忘記
2 系統沒法正常啓動
grub 損壞(MBR損壞,grub配置文件丟失)
系統初始化故障(某文件系統沒法正常掛載,驅動問題等)
由rc.sysinit致使 只要進入grub編輯模式 emergency 不會加載rc.sysinit腳本
某些服務故障
用戶沒法登錄(用戶對應的shell損壞,mingetty)
3 命令沒法運行
4 編譯過程沒法繼續(開發環境缺乏基本組件)
例子: 將MBR損壞.
先將MBR 備份 dd if=/dev/sda of=/root/mbr.backup count=1 bs=512
損壞:dd if=/dev/sda/zero 0f=/dev/sda count=1 bs=200
sync
shutdown -r now
MBR損壞解決辦法:
1 藉助於別的主機修復
2 使用緊急救援模式
a、boot.iso 只提供引導界面 因此同時要提供安裝環境才行
b、使用完整的系統安裝盤 (無缺的系統光盤)
輸入命令boot:linux rescue
根文件系統會被掛載到/mnt/sysimage下 可能以只讀方式掛載 要從新掛載改成讀寫方式
由於引用的文件系統沒有rc.syinit 而rc.sysinit有udevs用來建立設備文件 因此要手動建立設備文件 mknod
成功進入緊急模式後 使用grub 命令
findhd(0,0)/ 再tab補全 若發現vimlinuz 和initrd文件 表示在該盤
root hd(0,0)
setup hd(0)
exit
sync
reboot
grub配置文件丟失:
grub> root (hd0,0)
grub> kernel /vmlinuz-version ro root=/dev/vo10/root/ rhgb quiet
grub> initrd /initrd-version 必定要與內核版本匹配
gurb>boot
手動創建grub.conf
default=0
timeout=10
title RHEL 5.8
root (hd0,0)
kernel /vmlinuz-version ro root=/dev/vo10/root quiet
initrd /
先將/boot/grub 移走 mv /boot/grub/grub.conf /root/
sync
shutdown -r now
kernel panic:內核恐慌
其餘故障:
把默認級別設定爲0或6 -->進入單用戶模式,編輯inittab文件
刪了/etc/rc.d/rc3.d,運行到3級別時就會報錯. -->進入單用戶模式修復
某個服務故障致使沒法啓動 -->啓動系統時敲I鍵,啓動交互式模式,選擇不啓動sendmail服務便可
rc.d/rc.local腳本出現語法錯誤或者邏輯錯誤 -->進入單用戶模式,單用戶模式不啓動
rc.local開機必啓動,經常使用來在裏面添加一些腳本,讓開機後執行
/bin/bash被刪除了-->進入緊急救援模式(掛載光盤)-->輸入命令boot:linux rescue
-->ls /mnt/sysimg 真正的根在該目錄下
-->ls /dev 發現有個hdc
-->mkdir /media 不能直接掛載到/mnt下 由於/mnt/sysimg
-->mout /dev/hdc /media 沒有cdrom hdc就像當於cdrom
--> cd /media
-->ls
-->cd /server
-->ls | grep bash
-->rpm -ivh --replacepkgs bash-version 這個是裝在當前的小系統了 不行
-->rpm -ivh --replacepkgs --root /mnt/sysimg bash-version 指定
chroot /mnt/sysimg
mingetty被刪除了-->進入單用戶模式 單用戶模式不用mingetty,但也不啓動網絡功能,要手動開啓網絡功能,從服務器下載mingettylinux