WindowsとLinuxのデュアルブートに関しては多くの質問があるようですが、この問題をカバーしているように見える質問はありませんでした。そうは言っても、多くの問題は同様の方法で修正できると思います。
2014年11月9日の最新パッチを適用したFedora fc20では、自動生成されたWindowsブートローダーエントリを選択すると、grubにより次の2つのエラーが発生します。
> error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found
> error: you need to load the kernel first
なぜこれが起こっているのですか、どうすれば修正できますか?
明白な答えは、これは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)menuentryテキストを/etc/grub.d/40_customファイルの最後に追加します。任意のテキストエディタを使用しますが、そうするにはrootである必要があります。私はviを使用しました。ここに示されている1234-567Aをステップ2のUUIDに置き換えてください。
[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オペレーティングシステムにアクセスできるようになります。