今回はこちらの記事の続きです。
今回から実際にBIOS・UEFIどちらの環境でもブートが可能なUSBメモリを作っていきます。
※実際に行う際は自己責任で行ってください。
BIOS・UEFI双方でブート可能な環境を作るためには、双方のブート可能となる条件を両方とも満たした状態にする必要があります。
<BIOSでOSブートに必要な条件>
・ディスクの先頭に1MB程度の領域を確保しておいて,そこに grub2を入れる事(BIOS Boot Partition)
<UEFIでOSブートに必要な条件>
・ディスクがGPT形式のパーティションテーブルになっていること
・ディスクの先頭パーティションにEFI起動用のプログラムが含まれる領域があること
・EFI起動用領域はFAT16またはFAT32でフォーマットされていること
これらすべての条件を満たしていれば、BIOSでもUEFIでもLinuxを起動できるストレージを作成できます。
ここで「UEFIはGPTパーティションでないとOSを起動できないという話だったけど、GPTは新しい形式だし、同じようにBIOSの場合はMBRでないと起動できないのでは?」という疑問を持つ方もいるかと思います。
実際のところ、GPTはMBRの上位互換の形式であり、ちゃんと設定を行っていればBIOSからも読み込むことができるようで、上記に挙げた”BIOS Boot Partition”がストレージに用意されていれば、Linuxであれば起動させることが可能です。(WindowsについてはGPT+BIOS構成からは起動できないようです。)
ただ、おそらくほとんどのUSBメモリは工場出荷時にはMBR形式になっていると思うので、GPT形式のパーティションテーブルへの変更が必要です。
有料アプリを使えば、データを保持したままMBRからGPTへ変換できるものもあるようですが、そうでない場合はUSBメモリの初期化が必要になってしまいます。
いずれにしてもこの後パーティションなども ガッツリ変更していくことになるので、作業前にUSBメモリ内のデータを別の場所にフルバックアップしておくことをお勧めします。
GPTへの切り替えおよびパーティションの操作はGpartedを使用するとGUI上で操作できるのでおすすめです。
※Gpartedを使用する手順では、USBメモリの内容が完全に削除されます。
サードパーティのソフトなどでMBRからGPTに変換する場合は、Gparted上でのGPTの作成操作は飛ばしてください。
Gpartedはdebian系(Ubuntuなどを含む)のLive環境であればおそらく殆どのディストリビューションに含まれているかと思います。
今回はちょうどUbuntu MATEをインストールしていく予定なので、Ubuntu MATEのインストールディスクイメージに入っているGpartedを使用していきます。
Ubuntu MATEのイメージは下記のリンクから入手できます。
Ubuntu MATE Download – Ubuntu MATE
Ubuntu MATEのインストーラーイメージを入手したらVirtualBoxかVMWareを使用して起動します。(USBメモリを直接接続できる機能とISOイメージをブートできる機能を持った仮想マシンなら基本的には何でも良いです。)
VirtualBoxで起動する場合は、下記リンク先記事の#3までを行っておきます。
・VirtualBoxを使用する方法
USBメモリにVirtualBoxでLubuntuを入れる作業記録 – Qiita
上記の設定を行った後、仮想マシンを起動させれば、Live環境のUbuntuが起動して初期画面が表示されるので、言語一覧から”日本語”を選択すると、下記の
・Ubuntu MATEをインストール
・Ubuntu MATEを試す
のような2つの選択肢が見えるかと思います。
この状態で”Ubuntu MATEを試す”をクリックします。
するとUbuntu MATEのデスクトップが表示されるので、Alt+F2キーを押して出てきたウインドウに、次のコマンドを入力します。
gparted
すると、次のような画面が表示されると思います。
これがGPartedの画面です。
ここからGPTの領域をGPartedで作る方向けの説明です。
まず、右上の
/dev/デバイス名(なんちゃらGiB)
のような表示がされているボタンをクリックして、今回LinuxをインストールしたいUSBメモリを選択します。
なお、実機もしくはセットアップ済みのVM上で起動している場合、ディスクの選択を間違えると目的のUSB以外のディスクのデータを消してしまうことになりますので十分注意してください。
対象のUSBメモリがVirtualBoxに繋がっている状態かつアンマウントされている状態であることを確認して、
Device→Create Partition Table
を選択します。
すると下のような警告画面が出てくるので、
Select new partition table type を “GPT”に変更します。
なお、この手順を行うと、対象のストレージ内のパーティションを含む全データが即時削除されますので注意してください。
確認したらApplyをクリックして確定させます。
すると画像のように”unallocated(未アロケート)”状態になります。
ここから、USBメモリ内の領域をパーティションで下記のように先頭から区切っていきます。
順番を変えてしまうとうまく動作しなくなる可能性があるので、EFI領域だけ必ず一番最初に作成し、ファイルシステムはFAT16もしくはFAT32のいずれかで必ず作成してください。
・EFI領域: FAT32(もしくはFAT16) 100MiB
・(お好みでデータ用領域:異なるOSでも使いたい場合はFAT32がおすすめです。 容量もお好みで)
・Linux用swap領域: linux-swap(RAMの容量が足りないときに使われます。USBメモリの空き容量も考慮してお好みで設定します。最低1024MiB以上ぐらいあるといいかもしれません。 ※後からLinux領域内にファイルとして追加することも可能です。 )
・ Linux本体インストール用: ext4 残り全領域
GPartedのパーティション設定方法については、下記サイトの” 編集するディスクを選択する”以降の手順を参照してください。
多くのファイルシステムをサポートしたパーティションエディタ!「GParted」。 – k本的に無料ソフト
GParted上でのパーティション設定が済んだら、変更を実際にUSBメモリに反映させます。メニュー下の✔マークをクリックすると適用が始まります。
この画面になったらパーティション設定の適用が完了です。
Closeをクリックしてダイアログを閉じ、GPartedも終了させます。
これでUSBディスクのインストール準備は完了です。
次回からは実際にインストールを行っていきたいと思います。