Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@takawata19

FreeBSDのWindows8.1マシンでのデュアルブートのやりかた

はじめに

FreeBSD-users-jp MLに投下したものに加筆したものです。

GPT+UEFI環境では既存のboot0(F1 FreeBSD, F2 Winって出て来るアレ)が使えません。また、GPTパーティションへのクリーンインストールは対応しているようですが、デュアルブートの設定はどうも良くわからなかったので色々調べながら設定してみた記録です。

手動で、ブートローダの設定を行いました。

手順

用意するものはどこのご家庭にもあるPXEブート環境(←)とソースツリー

あらかじめ、make buildworldして、PXEブート用のディレクトリに
インストールしておきます

PCでファームウェアセットアップ画面を出して、SecureBoot(これはFreeBSDがSecure Bootに対応していないため)を無効 LegacyBoot(これはレガシーPXEのためです)を有効にしておきます。

Windowsでパーティションを縮小して、FreeBSDをインストールする場所を
作ります。

そして、PXEブートしたら、/usr/srcと/usr/objをNFSマウントして
installworld, installkernelします。
そして、EFIパーティションをmountして
/usr/obj/usr/src/sys/boot/amd64/boot1.efi/boot1.efiを
${EFIMOUNT}/EFI/FreeBSD/Boot/bootx64.efi
にコピーします
そして、Windowsでbcdedit /copy "{bootmgr}" /d "FreeBSD"
として、得られたUUIDをメモして

bcdedit /set "{得られたUUID}" path \EFI\FreeBSD\Boot\bootx64.efi
とします。

そのあと
bcdedit /set "{fwbootmgr}" displayorder "{得られたUUID}" /addlast
とします。
それで、リブートしてF12を押すとブートメニューにFreeBSDという
アイテムが出てきます。
これを選ぶとHDDのEFI上のboot1からFreeBSDがあがるはずです。

同様に、ここでFreeBSDのboot1の代わりにUEFIシェルをコピーすると
UEFIシェルが無いUEFIマシンでUEFIシェルをブートメニューから上げることが出来ます。

なお、mountvol.exe /S e:とすることで、Windows上でEFIパーティションを
e:\にマウントすることが出来ます

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
5
Help us understand the problem. What are the problem?