﻿# 在有使用 Software RAID 的情況下重新安裝 GRUB 的方式

前天公司有一台 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。

最後，我在[這裡](http://tecnicambalandia.blogspot.com/2008/04/grub-install-devsdb1.html)找到了解答，嘗試用 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 終於能夠開機了！^\_^
