markdown
はじめに:1台のPCで複数OSを使い分けしたい開発者・研究者へ
この記事は、1台のPCに「Windows」「Ubuntu」「Arch Linux」など複数のOSを共存させ、起動時に選択できるMultiboot環境を構築したい方を対象にしています。仮想マシンでは満足できないネイティブパフォーマンスが必要なケースや、セキュアな実験環境を手軽に切り替えたいケースで役立ちます。記事を読み終えると、GRUB2を使ったOSの追加・削除手順と、Windowsアップデートで起動不能になるトラブルを回避する方法が身につきます。
前提知識
- BIOS/UEEFIの違いと、USBブートの基本的な仕組み
- Linuxで
fdisk -lやlsblkでディスク一覧を確認できること - Windowsで「ディスクの管理」画面を開けること
Multiboot環境を作る理由とGRUB2の利点
複数OSをインストールする最大のメリットは、「1台のマシンで用途別に完全に分離された環境を持てる」ことです。仮想マシンと違い、GPUパススルーなどの複雑な設定が不要で、ネイティブ性能を100%活用できます。GRUB2はGPLで開発されており、ほぼすべてのLinuxディストリビューションで標準採用されているブートローダです。BtrfsやZFS、LUKS暗号化ドライブにも対応しており、カスタムメニューでシンプルに、あるいは高度に制御できます。Windowsのブートローダを上書きしてしまうとアップデートで復活しMultibootが崩れることもありますが、GRUB2側でEFIパーティションを独立して管理しておけば、Windowsのメジャーアップデート後もgrub-installで数秒で復旧できます。
ステップバイステップで作るGRUB2 Multiboot
ステップ1:UEEFIモードでインストールメディアを起動し、パーティションを設計する
- 空のHDD/SSDを用意し、USBブートで「UEEFI:〈USBメモリ名〉」を選択します(Legacyモードは避ける)。
- インストーラの「Something else(カスタム)」を選び、以下の4パーティションを手動で作成します。 - EFI System Partition(ESP):512MB、FAT32、フラグ=boot,esp - Linux root(例:/dev/sda2):40GB、ext4、btrfs等 - Linux swap:RAMサイズ×1〜2倍 - 残り全部を/homeまたは別OS用に未割当で確保
- デバイスリストの「Device for boot loader installation」でESPを明示的に選択します(これを忘れるとWindowsブートローダが消される)。
コマンドで確認:
Bashsudo efibootmgr -v # 起動エントリがUEFIモードで追加されていればOK
ステップ2:2番目以降のLinuxを追加し、GRUBを再インストールする
- 同様にUEEFIブートで2番目のLinuxインストーラを起動し、既存ESPはマウントポイント
/boot/efiとして再利用(フォーマットなし)。 - ルートパーティションを新規確保し、ブートローダ選択画面で「既存のGRUBを上書きする」にチェックを入れてインストール。
- インストール後、再起動すると新OSのGRUBメニューに既存OSが自動で加わります。認識されない場合は以下で再構成:
Bashsudo mount /dev/sda2 /mnt sudo mount /dev/sda1 /mnt/boot/efi sudo arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
ステップ3:Windowsを後から加える(最もトラブルが多い)
- WindowsインストーラをUEFI起動し、空き領域にNTFSで新規ボリュームを作る。
- Windowsセットアップ完了後、GRUBメニューからWindowsが消えるので、Linux LiveUSBで復旧:
Bashsudo mount /dev/sdaX /mnt sudo mount /dev/sda1 /mnt/boot/efi sudo grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot --removable sudo grub-mkconfig -o /mnt/boot/grub/grub.cfg
- Windows側で
bcdedit /set {bootmgr} displaybootmenu noとすると、GRUB→Windows→自動再起動の無限ループを防げます。
ハマりどころ:アップデート後「grubx64.efiが見つかりません」
2025年のWindows 11 24H2アップデートでは、ESP内の非MSファイルを「セキュリティクリーンアップ」として削除するケースが報告されています。症状は「起動直後にUEFIシェルが表示される」です。
解決策
- 予防:ESPのバックップ
Bashsudo dd if=/dev/sda1 of=/home/user/esp_backup.img bs=1M
- 復旧:LiveUSBから
chrootして再インストール(ステップ2と同じ)。バックップがあればddでリストアして30秒で完結します。
まとめ
本記事では、GRUB2を使ったMultiboot環境の構築手順と、Windowsアップデート後に起動エントリが消える問題の回避法を紹介しました。
- UEFIモードでインストールし、ESPは必ず共有して再利用する
- 新OS追加時は既存ESPをマウントポイントとして指定し、GRUB再構成で即座に認識させる
- Windowsメジャーアップデート前にESPを
ddでバックップしておけば、最悪の場合でも数分で復旧できる
これで1台のPCで開発用・ゲーム用・実験用と完全に分離した環境を、ネイティブ性能で切り替えて使えるようになります。次回はGRUBテーマをカスタマイズして、起動メニューをおしゃれにする方法を紹介します。
参考資料
