コンテンツへスキップ

マスターブートレコードとgrub install

仕事中、RAID1構成のsdbのハードディスクが故障したから交換作業を実施した。
交換したハードディスクのパーティションを切った。sdb1とする。sdb1をsda1からコピーして、
sdb1、sda1によるRAID1構成を作成した。これで終わりではなく
その後になぜsdbにgrubをインストールするのかがわからなかった。

grub-install --root-directory=/ /dev/sdb

自分の理論ではsda全体の中身をsdbに入れたからgrubもインストールされているだろうと思っていた。
後から先輩に教えてもらったけど、grubのインストールはマスターブートレコード(MBR)を指しているとのこと。
MBRはディスク内のセクタの先頭にあり一番初めに読まれるデータ。
MBR内にはブートローダとパーティションテーブルがある。ブートローダはパーティションテーブルの内容を元に
各パーティションであるsdb1やsdb2ブートセクタを起動できるようにする。ブートセクタによって各パーティションのOSが起動する仕組みだ。

つまり、sdb1をsda1にコピーしたところで、MBRが含まれていないので、別途MBRをインストールする必要があった。
ddコマンドでもMBRをコピーできるようだけど、ddコマンドをミスしてディスクを壊すと危ないのでコマンドでMBRをインストールしているとのこと。

参考
わかりそうでわからないシリーズ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です