WindowsとLinuxのデュアルブートについて多くの質問があるようですが、この問題に対処する質問は見たことがありません。つまり、同様の方法で多くの問題を解決できると思います。
2014年11月9日に最新のパッチがリリースされたFedora fc20では、grubは自動的に作成されたWindows Bootloaderエントリを選択すると、次の2つのエラーが発生します。
> error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found
> error: you need to load the kernel first
なぜこれが起こり、どのように解決するのですか?
ベストアンサー1
明らかな答えは、grubがWindowsのブートローダを見つけることができないため、これが起こるということです。あまり明確ではない答えは、grub設定ファイルがWindowsブートローダのルートディレクトリを正しく指定しないことです。デフォルトの動作はその行を無視するようです。デフォルトのWindowsブートローダを回復するのはかなり複雑ですが、次のガイドラインを使用すると、システムが正常に動作する2番目のブートローダを作成できます。
Fedora fc20 または grub2 を実行する同様に構成されたその他のシステムを使用している場合は、Windows ブートローダーパーティションが破損していない限り、次の手順に従って問題を解決できます。
1) Windows ブートローダがどのパーティションにあるかを調べます。
[root@localhost]# fdisk -l
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: D733242D3-33B9-4C33-B33F-2C333DC52333
Device Start End Size Type
/dev/sda1 2048 206847 100M EFI System
/dev/sda2 206848 2050047 900M Windows recovery environment
/dev/sda3 2050048 2312191 128M Microsoft reserved
/dev/sda4 2312192 988518399 470.3G Microsoft basic data
/dev/sda5 1911560192 1953523711 20G Windows recovery environment
/dev/sda6 988518400 989337599 400M EFI System
/dev/sda7 989337600 991385599 1000M Microsoft basic data
/dev/sda8 991385600 1911560191 438.8G Linux LVM
Disk /dev/mapper/fedora-swap: 7.8 GiB, 8396996608 bytes, 16400384 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/fedora-root: 431 GiB, 462728200192 bytes, 903766016 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
2) パーティションのUUIDを調べます。
[root@localhost]# blkid /dev/sda1
/dev/sda1: LABEL="SYSTEM" UUID="1234-567A" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="0c33e3ab-d3dc-3af3-333d-a33eee3c333c"
注:Fedoraはカーネルアップデートなどの操作を実行すると自動的に新しい設定ファイルを作成するため、grub.cfgファイルを手動で編集できますが、長期的に新しい設定ファイルを生成するために使用される設定スタブファイルを編集することは少ないです。 grub.cfg ファイルです。
3) /etc/grub.d/40_custom ファイルの末尾にメニュー項目テキストを追加します。必要なテキストエディタを使用してください。ただし、これを行うにはrootユーザーである必要があります。私はviを使用しています。ステップ2のUUIDをここに示されている1234-567Aに置き換えます。
[root@localhost]# vi /etc/grub.d/40_custom
menuentry 'My Working Windows Bootloader' {
search --no-floppy --fs-uuid --set=root '1234-567A'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
boot
}
4) grub2-mkconfig コマンドを使って実際の設定ファイルを生成します。
[root@localhost]# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.16.7-200.fc20.x86_64
Found initrd image: /boot/initramfs-3.16.7-200.fc20.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0b156afaadc545779646d809437ed977
Found initrd image: /boot/initramfs-0-rescue-0b156afaadc545779646d809437ed977.img
Found Windows Boot Manager on Microsoft/Boot/bootmgfw.efi
done
注:/etc/grub2-efi.cfgを出力ファイルとして指定してこのコマンドを実行すると、通常は既存のシンボリックリンクが削除され、実際の構成ファイルを更新する代わりに新しいファイルが生成されます。
5) 終了しました。再起動後、WindowsおよびGNU / Linuxオペレーティングシステムにアクセスできるようになりました。