ubuntu/LinuxMintをKVM導入時に標準でBIOS bootパーティションが作成される

 1.概要

改めてKVM環境を調べてみました。KVM環境はパーテイションを1つ作成して導入したのですが、インストール時にインストーラが2つ目のパーティションを作成します。パーティションのタイプがBIOS bootと変わっています。その内容を記述します。

Legacy BIOSを利用して、物理ディスクにUbuntu 20.04を導入する場合、1つのパーティションだけで十分でした。MBRと作成したパーティション( ルート利用 )で導入できました。uefi BIOSに変わってから先頭の2048セクタは利用できず、更に、MBRブート用にboot partition( BIOS boot )が必要になっています。これが、KVM仮想環境にも適用されています。

現時点の仮想環境はLegacy BIOSが基本のようです。uefiBIOS向けに特別な方法を利用して設定する手段はありますが、枯れている技術で問題ないのでしょう。普通のPCも枯れた技術の選択肢を残してほしいものです。

2.詳細

KVM環境に導入したubuntu-24.04のterminalでfdiskで調べると下記2つのパーティションがありました。

/dev/vda1   4096 52426751 52422656  25G Linux filesystem
/dev/vda2   2048     4095     2048   1M BIOS boot

インストール時に作成したものは/dev/vda1だけです。
/dev/vda2はインストーラが自動作成するノノですが、気になったのはパーティションタイプのBIOS bootです。

fdiskで更にタイプを調べると下記設定でした。
4 BIOS boot

fdiskのタイプ一覧を調べると04の設定は、FAT16 <32M となっています。
04 FAT16 <32M

/dev/vdaはGPT設定されており、BIOS bootパーティションがbootのために必要なようです。場所は/dev/vda2ですが、ディスクの先頭にアロケーションされています。 

MBRからGPTに変更になって一番困ったことはマルチブートの設定です。MBRの場合はディスク先頭にMBRのboot loaderがあり、更にPrimary partitionの先頭にはPBRと言われるパーティション用のboot loader領域がありました。この仕組みを利用して1台のPC上に複数のOSをマルチブートすることは比較的簡単なことでした。

GPTに変わり、boot領域はefi領域やBIOS boot領域に移りました。MBRの最大の欠点は2GB以上のストレージを認識できないことです。その代わりとしてGPTが提供されました。しかし、ストレージが固定ディスクからSSDに移行が始まり、OSのブート専用SSDを使うように変わってから、逆にOS領域の容量は減る傾向にあります。一般的には500GB程度でしょう。

また、データ保管用のストレージはクラウドデバイスを企業が利用するようになり、PCの保守面からSSDにOSとアプリのみを搭載した環境が増加しています。個人環境も同じであり、OS領域が2TBを超えることはないので、MBRの利用を中止することはやめて欲しいと願っています。

3.所見

この状況はLinuxMintでも起きます。
MBRディスクパーティションを利用する場合、uefiBIOS登場前まではBIOSbootパーティションは不要でした。推測ですが、MBR時代にシリンダゼロを利用していた機能が、BIOSbootに移動されていくのだと思っています。uefiBIOSに移行する理由は多数あると思いますが、個人の環境は実績あるMBRで問題ないと思っているので互換性の維持継続を願いたいと思っています。

仮想環境( VMware, Virtual Box, KVM )は既定値ではLegacy BIOSです。多分、クラウド環境( aws, gcp, azure 等 )も同じだと思います。uefi BIOSは移行の過渡期なので仕方ないのかも知れませんが、個人利用は技術的に枯れているLegacy BIOSを残して欲しいと思います。

参考

[本ブログ内参照]

コメント