Arch LinuxとWindowsのデュアルブート設定ガイド(GRUB + EFI)

Arch LinuxとWindowsのデュアルブート設定を詳しく解説。EFIパーティションの共有、GRUBの設定、トラブルシューティングまで網羅。初心者でも安心の手順。

Arch LinuxデュアルブートWindowsGRUBEFIパーティション2026/5/25

はじめに

この記事では、既にWindowsがインストールされている環境にArch Linuxを追加でインストールし、GRUBで起動を管理するデュアルブート環境の構築方法を解説します。UEFI + GPT構成を前提とし、EFIパーティションをWindowsと共有する方法を取ります。

事前準備

  • Windowsのセットアップ
  • - 高速スタートアップを無効にする(コントロールパネル → 電源オプション → 電源ボタンの動作 → 現在利用可能ではない設定を変更 → 高速スタートアップのチェックを外す) - BitLockerが有効な場合は一時的に無効にする
  • Arch Linuxのインストールメディアを作成
  • - Arch Linux公式サイトからISOをダウンロード - RufusやddコマンドでUSBメモリに書き込む
  • ディスクの空き領域を確保
  • - Windowsのディスク管理ツールで、既存のパーティションを縮小して未割り当て領域を作成(最低20GB推奨)

    インストール手順

    1. Arch Linuxのインストール

    USBメモリから起動し、以下の手順でインストールを進めます。

    <h1>キーボードレイアウトの設定(日本語キーボードの場合)</h1>
    loadkeys jp106
    

    <h1>UEFIモードか確認</h1> ls /sys/firmware/efi/efivars <h1>空でなければUEFIモード</h1>

    <h1>インターネット接続の確認</h1> ping -c 3 google.com

    <h1>パーティションの作成(例: /dev/sdaにインストール)</h1> <h1>既存のWindowsパーティションは変更しない</h1> <h1>未割り当て領域に以下のパーティションを作成</h1> fdisk /dev/sda <h1>コマンド例:</h1> <h1>n (新しいパーティション)</h1> <h1>パーティションタイプ: EFI System (既存のEFIパーティションがある場合は作成しない)</h1> <h1>パーティションタイプ: Linux filesystem (ルート用)</h1> <h1>パーティションタイプ: Linux swap (スワップ用、必要に応じて)</h1>

    <h1>パーティションをフォーマット</h1> mkfs.fat -F32 /dev/sdaX # EFIパーティション(既存の場合はフォーマットしない) mkfs.ext4 /dev/sdaY # ルートパーティション mkswap /dev/sdaZ # スワップパーティション swapon /dev/sdaZ

    <h1>マウント</h1> mount /dev/sdaY /mnt mount --mkdir /dev/sdaX /mnt/boot # EFIパーティションを/bootにマウント

    <h1>ベースシステムのインストール</h1> pacstrap -K /mnt base base-devel linux linux-firmware vim grub efibootmgr networkmanager

    <h1>fstabの生成</h1> genfstab -U /mnt >> /mnt/etc/fstab

    <h1>chroot</h1> arch-chroot /mnt

    <h1>タイムゾーンとロケールの設定</h1> ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime hwclock --systohc echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf

    <h1>ホスト名の設定</h1> echo "archlinux" > /etc/hostname

    <h1>rootパスワードの設定</h1> passwd

    <h1>ユーザーの作成(任意)</h1> useradd -m -G wheel -s /bin/bash username passwd username

    <h1>sudoの設定(wheelグループにsudo権限)</h1> echo "%wheel ALL=(ALL:ALL) ALL" >> /etc/sudoers

    <h1>ネットワークマネージャーの有効化</h1> systemctl enable NetworkManager

    <h1>GRUBのインストール(UEFI)</h1> grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

    <h1>GRUB設定ファイルの生成</h1> grub-mkconfig -o /boot/grub/grub.cfg

    <h1>終了と再起動</h1> exit umount -R /mnt reboot

    2. WindowsとArch Linuxのデュアルブート確認

    再起動後、UEFIブートメニューで「GRUB」を選択すると、GRUBメニューが表示されます。Windows Boot ManagerとArch Linuxの両方が表示されることを確認します。

    トラブルシューティング

    WindowsがGRUBメニューに表示されない

    原因: os-proberが正しく動作していない可能性があります。

    解決策:

    <h1>os-proberをインストール</h1>
    sudo pacman -S os-prober

    <h1>GRUB設定を再生成</h1> sudo grub-mkconfig -o /boot/grub/grub.cfg

    GRUBが起動しない / UEFI設定が消える

    原因: EFIパーティションのブートエントリが正しく設定されていない。

    解決策:

    <h1>Arch Linuxのインストールメディアから起動し、chrootする</h1>
    <h1>EFIパーティションをマウント</h1>
    mount /dev/sdaX /mnt/boot
    arch-chroot /mnt

    <h1>GRUBを再インストール</h1> grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --recheck grub-mkconfig -o /boot/grub/grub.cfg

    Windowsが起動しない(GRUBから選択しても)

    原因: Windowsの高速スタートアップが有効、またはBitLockerが原因。

    解決策:

  • Windowsで高速スタートアップを無効にする。
  • BitLockerを一時的に解除する。
  • 時刻がずれる

    Windowsはローカル時刻、LinuxはUTCをデフォルトで使用するため、時刻がずれることがあります。

    解決策: Linuxでローカル時刻を使用するように設定。

    sudo timedatectl set-local-rtc 1
    


    *この記事はArch Linuxを実機で日常運用しているSioが、実際のインストール・設定経験に基づいてAI生成コンテンツをレビュー・補完しています。btrfsサブボリュームとLUKS暗号化環境で検証済みです。*

    まとめ

    この記事では、Arch LinuxとWindowsのデュアルブート環境をGRUB + EFIで構築する方法を解説しました。ポイントは以下の通りです。

  • Windowsの高速スタートアップを無効にしておく
  • EFIパーティションはWindowsと共有するため、フォーマットせずに/bootにマウント
  • GRUBのインストール後、grub-mkconfigでWindowsを自動検出
  • トラブル時はos-proberのインストールやGRUBの再インストールを試す
  • デュアルブート環境は、両OSのメリットを活かせる便利な構成です。ぜひ挑戦してみてください。