1台のパソコンに Windows と Linux を一緒にインストールして使う構成は、 Dual Boot(デュアルブート)と呼ばれます。 とても便利な構成ですが、アップデート、パーティション変更、bootloader の不具合などをきっかけに、 正常に起動できなくなることがあります。
Windows に直接入ってしまうこともあれば、GRUB で止まることもあります。 場合によっては、Windows と Linux のどちらにも入れなくなることがあります。 ここでは、よくある原因と修復方法をまとめます。
1. まずは症状を確認する
- パソコンがそのまま Windows に入ってしまう
- GRUB メニューは表示されるが、Linux が起動しない
- GRUB メニューは表示されるが、Windows が起動しない
grub rescueしか表示されないno bootable deviceなどのエラーが表示される- 黒画面のまま、またはメーカーのロゴ画面で止まる
2. よくある原因
- Windows のアップデートによって起動順序が変更された
- GRUB が破損した、または上書きされた
- EFI パーティションに問題が発生した
- BIOS/UEFI の起動順序が変更された
- Fast Startup によってパーティションの状態が不安定になった
- パーティション変更後に起動情報との対応がずれた
- Windows Boot Manager または Linux 側の起動設定が破損した
3. まず BIOS/UEFI の起動順序を確認する
毎回 Windows に直接入ってしまう場合、最初に確認すべきなのは起動順序です。 Windows の大型アップデート後は、 Windows Boot Manager が再び最優先になっていることがよくあります。
- パソコンを再起動する
- 起動時に F2、Del、Esc、F12 のいずれかを押して BIOS/UEFI を開く
- Boot 設定を開く
- 最初の起動項目が何になっているか確認する
4. Windows にしか入れない場合
これは必ずしも Linux が削除されたことを意味するわけではありません。 多くの場合は、GRUB が優先的に呼び出されなくなっているだけです。
- Linux のパーティションが残っているか確認する
- BIOS/UEFI に Linux の起動項目が残っているか確認する
- 起動モードが引き続き UEFI になっているか確認する
5. Live USB を使って GRUB を修復する
sudo fdisk -l
たとえば Linux のルートパーティションが /dev/sda3、
EFI パーティションが /dev/sda1 だとします。
sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo update-grub
通常の方法でうまくいかない場合は、 chroot を使って修復する方法もあります。
sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
6. Windows が起動しない場合
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
Windows の修復後、必要に応じて GRUB も再修復する必要があります。
7. Fast Startup と UEFI / Legacy モードに注意する
- まず Windows の Fast Startup を無効にする
- Windows と Linux はできるだけ両方とも UEFI にそろえる
- または両方とも Legacy BIOS にそろえる
片方が UEFI、もう片方が Legacy になっていると、 デュアルブート環境では起動トラブルが起こりやすくなります。
8. まとめ
Dual Boot で起動できなくなっても、 それがすぐにシステム全体の消失を意味するわけではありません。 実際には、起動順序、GRUB、EFI パーティション、 または Windows アップデートによる起動設定の変更が原因であることが多いです。
- まず BIOS/UEFI の起動順序を確認する
- Windows と Linux のパーティションが残っているか確認する
- Live USB を使って GRUB を修復する
- 必要に応じて Windows Boot Manager も修復する