FreeBSD Daily Topics

2011年7月5日ディスクジオメトリ情報のチェックの厳格化

Disk geometry sanity check hardened

current - 最近、FreeBSD 9-CURRENTにおけるディスクジオメトリ情報のチェックが以前よりも厳密になりました。仮にこれまで間違ったジオメトリ情報が記入されたディスクであってもFreeBSDで利用することはできましたが、最新の9-CURRENTではディスクを発見することができないとして利用できなくなります。

ディスクのジオメトリ情報はたとえば「gpart show」で確認できます。ここで表示される数値に整合性がない場合、最新の9-CURRENTではシステムが起動できなくなります。たとえば、合計値が実際のディスクのサイズを超えている、といったようなケースです。

# gpart show
=>       63  488394992  ada0  MBR  (232G)
         63   83885697     1  freebsd  [active]  (40G)
   83885760  404509266     2  freebsd  (192G)
  488395026         29        - free -  (14k)

=>       0  83885697  ada0s1  BSD  (40G)
         0  20971520       1  freebsd-ufs  (10G)
  20971520  20971520       4  freebsd-ufs  (10G)
  41943040  20971520       5  freebsd-ufs  (10G)
  62914560  20971137       6  freebsd-ufs  (10G)
#

終端あたりのつじつまが合わない程度であれば、gpart(8)でジオメトリ情報を正しい状態に書きなおしてあげることで、最新の9-CURRENTでも動作するようになります。作業はシングルユーザモードで起動して実施する必要があります。作業に失敗するとシステムが使えなくなりますので、先にmdconfig(8)でメモリディスクを作成して、そちらでgpart(8)がどういった動作をするのか確認したうえで作業してみてください。

おすすめ記事

記事・ニュース一覧