前天公司有一台 Linux 出問題,中午的時候莫名的當機,請機房重開機後發現畫面就只出現 "GRUB" 四個字,然後一動也不動的,不得已只好殺到內湖機房趕快緊急檢修。
首先,我先檢查 BIOS 設定沒問題,然後再用 Live CD 開機成功後,原本的硬碟也都可以 mount 上去,所以可見原本的硬碟應該都沒壞,只是 GRUB 不知道什麼原因壞掉了,所以我接下來就是要嘗試重新安裝 GRUB 恢復開機功能。
我使用 grub-install 安裝的結果是失敗的(因為我用的是 SATA 的硬碟,所以設備路徑是 /dev/sda ):
# grub-install /dev/sda
/dev/sda does not have any corresponding BIOS drive.
然後再使用 --recheck 參數還是一樣失敗:
# grub-install --recheck /dev/sda
Probing devices to guess BIOS drives. This may take a long time.
/dev/sda does not have any corresponding BIOS drive.
大概試了一個小時左右,就是無法成功安裝 GRUB。
最後,我在這裡找到了解答,嘗試用 grub 工具直接將我這台主機上使用 Software RAID 1 的兩顆硬碟分別寫入 GRUB:
# grub --batch --device-map=/boot/grub/device.map --config-file=/boot/grub/grub.conf --no-floppy
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
備註:setup 指令就是將 GRUB 寫入硬碟的 MBR 區段,讓硬碟能開機,因為我使用 RAID 1 所以兩顆硬碟都要寫入才行。
寫入 GRUB 到兩顆硬碟,並重開機後,我的 Linux 終於能夠開機了!^_^