Arch LinuxとWindowsのデュアルブート設定ガイド(GRUB + EFI)
Arch LinuxとWindowsのデュアルブート設定を詳しく解説。EFIパーティションの共有、GRUBの設定、トラブルシューティングまで網羅。初心者でも安心の手順。
はじめに
この記事では、既にWindowsがインストールされている環境にArch Linuxを追加でインストールし、GRUBで起動を管理するデュアルブート環境の構築方法を解説します。UEFI + GPT構成を前提とし、EFIパーティションをWindowsと共有する方法を取ります。
事前準備
インストール手順
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はローカル時刻、LinuxはUTCをデフォルトで使用するため、時刻がずれることがあります。
解決策: Linuxでローカル時刻を使用するように設定。
sudo timedatectl set-local-rtc 1
*この記事はArch Linuxを実機で日常運用しているSioが、実際のインストール・設定経験に基づいてAI生成コンテンツをレビュー・補完しています。btrfsサブボリュームとLUKS暗号化環境で検証済みです。*
まとめ
この記事では、Arch LinuxとWindowsのデュアルブート環境をGRUB + EFIで構築する方法を解説しました。ポイントは以下の通りです。
grub-mkconfigでWindowsを自動検出デュアルブート環境は、両OSのメリットを活かせる便利な構成です。ぜひ挑戦してみてください。