Linux系統啓動過程:
接通電源→硬件自檢(post)→cmos啓動過程順序→MBR引導
用圖示說明:
先了解下grub.conf
[root@wang grub]# vim /boot/grub/grub.conf
default=0
timeout=5 沒有選擇啓動的操作系統超時時間
splashimage=(hd0,0)/grub/splash.xpm.gz 引導菜單背景圖片
Hiddenmenu 隱藏菜單
title CentOS (2.6.32-431.el6.i686) 開機時候提供的菜單的標籤
root (hd0,0) 第一個硬盤的第一個分區,即引導分區
kernel /vmlinuz-2.6.32-431.el6.i686 ro 加載的內核 只讀方式root=UUID=f89c0676-2f69-4ebc-961b-9bd951910958 rd_NO_LUKS KEYBOARDTYPE=pc根的轉換
KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb 圖形的方式引導 quiet 靜默模式
initrd /initramfs-2.6.32-431.el6.i686.img 初始化包含啓動的鏡像
故障(一)
MBR故障
[root@wang ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1 模擬MBR故障
[root@wang ~]init 6 重啓
無法啓動
需要插入安裝光盤從光盤啓動修復
選擇第3個 rescue install system
選擇English
選擇us
選擇no 不需要開啓網絡
選擇continue
Ok
ok
選擇shell start shell
具體命令爲
chroot /mnt/sysimage/ 切換到系統掛載的目錄
grub-install /dev/sda 安裝grub
exit 退出
exit 退出
然後選擇reboot
故障(二)
grub.conf錯誤 模擬grub錯誤
[root@wang ~]# ll /etc/grub.conf /boot/grub/grub.conf
-rw-------. 1 root root 737 Jul 9 02:41 /boot/grub/grub.conf
lrwxrwxrwx. 1 root root 22 Jul 9 02:41 /etc/grub.conf -> ../boot/grub/grub.conf
2目錄的文件對應於一個文件(一個是鏈接文件)
[root@wang ~]# mv /boot/grub/grub.conf /tmp 移動到其他的目錄,如同刪除
[root@wang ~]# init 6 重啓
出現這個說明第一階段(mbr)完好,第二階段出現問題
先輸入root ( 按table鍵有提示說明
再輸入 root(hd0, 按table鍵有提示說明
分辨哪個分區可能是引導分區
然後輸入kernel 位置 在/後面輸入vm按table鍵看是否能補齊能補齊說明前面選擇的路徑是對的
然後再 ro(只讀模式)quiet(靜默模式) root=/dev/sda2 (指定根目錄)
Initrd /ini按table鍵補齊 (指定驅動位置)
boot 試下能否啓動
可以進入系統。但是如果再重啓的話還是出現上面的情況,這時需要重建grub菜單
[root@wang ~]# cd /boot/grub/
[root@wang grub]# vim grub.conf 進入grub目錄,編輯grub.conf文件
編輯爲如此即可
default=0
timeout=5 菜單超時時間
splashimage=(hd0,0)/boot/grub/splash.xpm.gz 背景界面
title centos 標題
root (hd0,0) 根目錄
kernel /vmlinuz-2.6.32-431.el6.i686 ro quiet rhgb root=/dev/sda2 內核文件位置
initrd /initramfs-2.6.32-431.el6.i686.img 驅動文件位置
然後init 6 重啓就可以成功進入
故障(三)
grub目錄丟失 模擬grub目錄丟失
[root@wang ~]# cd /boot/
[root@wang boot]# mv grub /tmp 將grub移動模擬丟失目錄
[root@wang boot]# init 6
出現這樣的情況,放上系統盤進入救援模式選擇從光盤啓動,可以調bios光盤爲第一啓動項,也可以開機按f12選擇(部分機器可能沒有)
選擇救援模式
進入救援模式shell方式和上面一樣!
chroot /mnt/sysimage 切換到根目錄
grub-install --root-directory=/ /dev/sda 安裝grub相關的目錄
然後ls /boot 有了grub目錄
grub目錄下也有文件,但是少了個grub.conf
然後exit
exit重啓
選擇第四項選擇從本地硬盤啓動
進入
然後和故障(二)的情況一樣,解決方法一樣 即
使用livecd光盤修復
[root@wang ~]# cd /boot/
[root@wang boot]# mv grub /tmp 將grub移動模擬丟失目錄
[root@wang boot]# init 6
使用livecd啓動 可用usb啓動,usb需要設置pe啓動
選擇第二個進入
選擇命令行模式
su - 獲取root
fdisk -l 查看所有硬盤信息,以確定boot分區的設備目錄
Boot分區爲 /dev/sda1
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
ls-l /mnt/boot 查看下掛載是否正確
Root 分區爲 /dev/sda2
mkdir /mnt/root
mount /dev/sda2 /mnt/root
沒有grub目錄
grub-install --root-directory=/mnt /dev/sda 安裝grub針對/dev/sda盤
ls查下,已經有目錄了
沒有grub.conf需要自己手工編輯
進入grub目錄下編輯grub.conf
編輯爲如此即可(同上)然後保存退出重啓電腦即可
故障(四)
/etc/fstab 文件錯誤導致無法開機
vim /etc/fstab
編輯這個文件
隨便輸入東西,模擬錯誤
然後輸入init 6 重啓,系統無法啓動,用livecd光盤啓動修復
從本地硬盤啓動時
按e
按e 將rhgb刪除,查看系統進程加載情況,以確定系統問題
修改完成 按b引導進入
發現問題
/etc/fstab 錯誤
用livecd進入
第二個選項進入
進入命令行方法同上
su - 用管理員權限
fdisk -l 顯示硬盤信息判斷哪個是根分區
mkdir /mnt/root
mount /dev/sda2 /mnt/root 掛載根分區
編輯fstab
查看文件,錯誤內容刪除保存即可
重啓成功進入系統
故障(五)
Root口令丟失
開機在5秒內按任意鍵進入grub菜單
按e
選第2個再按e
在後面輸入1 或者single 進入單用戶模式
回車,再按b進行引導啓動
可以看出來進入了單用戶模式
可以使用passwd root 重新設置密碼
也可以使用 passwd -d root 刪除root賬號
問題解決。