[FreeBSD-users-jp 95589] Re: Windows 8.x と PCBSDのマルチブート(geom と boot code)
Shin-ya Murakami
murashin @ gfd-dennou.org
2015年 8月 11日 (火) 01:59:27 UTC
丸山様、
村上真也です。
> そうかな?/boot/boot1.efi を使った実験は日曜にもやった上で昨日の記事を書
> いたはずなのですが、実際もう一度実験してみてもうまくゆきません。
そうですか。見当違いだったようで、すみません。
> す。書き忘れていたようにも思いますが、私のマシンで「うまくゆかない」とい
> うのは、そもそも Boot Menu に FreeBSD とか PCBSD という項目が出ないので
> す。項目ができて、それを選択すると boot に fail する、ではないのです。
なるほど、昨日のメールを書いたときには、ブートできないことかと
思っていました。
私の環境ではBIOS時代のような、いわゆるブートメニューは出ません。
起動時にF2を押してファームウェア設定画面を表示し、明示的に
Windows Boot Managerを選択しないとWindowsは起動しません。
デフォルトではFreeBSDが起動するようになっており、それは
ファームウェア設定画面の「UEFI優先度」という項目で制御されているようです。
> 大変恐縮ですが、うまくできているマシンのブート構成データを教えていただけ
> ませんか?私のマシンのそれと比較したいのです。と言っても、ブート構成デー
> タを Windows8.1でどうやって表示したら良いのか、 bcdedit 初心者の私にはわ
> からないのですが、例えば
>
> bcdedit /enum firmware
>
> の出力。あと、たった先ほど見つけたのですが、
以下のようになっています。
C:\WINDOWS\system32>bcdedit /enum firmware
ファームウェアのブート マネージャー
--------------------------------
identifier {fwbootmgr}
displayorder {a02e5f5b-0349-11e5-825e-34028644db8e}
{bootmgr}
{0a92286e-0349-11e5-9565-e5aaa8d01168}
{08105956-0349-11e5-9565-e5aaa8d01168}
{08105957-0349-11e5-9565-e5aaa8d01168}
timeout 1
Windows ブート マネージャー
--------------------------------
identifier {0a92286e-0349-11e5-9565-e5aaa8d01168}
device partition=\Device\HarddiskVolume2
path \EFI\Microsoft\Boot\bootmgfw.efi
description Recovery Partition
locale ja-JP
inherit {globalsettings}
default {0a2681de-0349-11e5-9565-e5aaa8d01168}
resumeobject {0810595a-0349-11e5-9565-e5aaa8d01168}
displayorder {0a2681de-0349-11e5-9565-e5aaa8d01168}
toolsdisplayorder {memdiag}
timeout 30
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale ja-JP
inherit {globalsettings}
default {current}
resumeobject {a02e5f5d-0349-11e5-825e-34028644db8e}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows ブート マネージャー
--------------------------------
identifier {a02e5f5b-0349-11e5-825e-34028644db8e}
device partition=\Device\HarddiskVolume2
path \EFI\FreeBSD\boot1.efi
description FreeBSD
locale ja-JP
inherit {globalsettings}
integrityservices Enable
resumeobject {0810595a-0349-11e5-9565-e5aaa8d01168}
toolsdisplayorder {memdiag}
timeout 30
ファームウェア アプリケーション (101fffff
--------------------------------
identifier {08105956-0349-11e5-9565-e5aaa8d01168}
description UEFI: IP6 Intel(R) Ethernet Connection (3) I218-LM
ファームウェア アプリケーション (101fffff
--------------------------------
identifier {08105957-0349-11e5-9565-e5aaa8d01168}
description UEFI: IP4 Intel(R) Ethernet Connection (3) I218-LM
> bcdedit /? TYPES BOOTMGR
>
> とやると、最後の方に
>
> 表示
> ======
> DISPLAYBOOTMENU (bool) ブート メニューの表示を有効にします。
> DISPLAYORDER (list) ブート マネージャーの表示順序の一覧を定義し
> ます。
> TOOLSDISPLAYORDER (list) ブート マネージャーのツール表示順序の一覧を定義
> します。
>
> という説明が出ます。ということは、多分ブート構成データの中には「ブート
> メニューの表示を有効/無効」という情報があるのだと思います。これをどうやっ
適当にググって
bcdedit.exe /set {bootmgr} DisplayBootMenu True
とやってみました。
bcdedit.exe /enum firmwareの出力の
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
の最後に
displaybootmenu Yes
というのが付きました。
しかし、F2を押さずに放っておいて起動しても、
F2を押してWindows Boot Managerを選択して起動しても、
ブートメニューは現れませんでした。
From: maruyama @ ism.ac.jp (丸山直昌)
Date: Tue, 11 Aug 2015 03:30:53 +0900
> 村上 様
>
> 統計数理研究所の丸山です。早速のお返事、有難うございます。
>
> Mon, 10 Aug 2015 14:09:06 +0900 (JST)
> Shin-ya Murakami <murashin @ gfd-dennou.org> writes:
>
>>私はLet's Note SX4にWindowsを残したままFreeBSDをインストールしました。
>>その記録は http://d.hatena.ne.jp/msll/20150527/1432708323 にあります。
>
> みました。参考になります。snapshots には UEFIブート可能なインストーラー
> があるのですね。PCBSDには今のところありません。 feature request を
> https://bugs.pcbsd.org/projects/pcbsd/ に出すことにします。
>
> また、
>
> 高速スタートアップ解除
> 復元の無効化
>
> の2つが関係がありそうだと思ってやってみました。でも駄目でした。
>
>># UEFI関係の手順はtakawataさんのと同じです
>
> そうですか。
>
>>> ここは /boot/boot1.efi ってものが最近の distribution にはあるので、自分
>>> でコンパイルする必要はないし、また上記の手順で PCBSDをインストールした場
>>> 合には /boot/efi/EFI/Boot/bootx64.efi があるので、これをこのまま使うべき
>>> と判断しました。
>>
>>この判断が疑わしいのではないかと思いました。
>
> そうかな?/boot/boot1.efi を使った実験は日曜にもやった上で昨日の記事を書
> いたはずなのですが、実際もう一度実験してみてもうまくゆきません。
>
> もし /boot/efi/EFI/Boot/bootx64.efi に問題があるなら、そんな役に立たない
> ものを /dev/ada0p2 の中に作ってしまうのは、PCBSDインストラーのバグと言う
> べきでしょう。ですが、 /boot/boot1.efi を使ってもうまくゆかないので、別
> の理由と考えざるを得ません。
>
> 大変恐縮ですが、うまくできているマシンのブート構成データを教えていただけ
> ませんか?私のマシンのそれと比較したいのです。と言っても、ブート構成デー
> タを Windows8.1でどうやって表示したら良いのか、 bcdedit 初心者の私にはわ
> からないのですが、例えば
>
> bcdedit /enum firmware
>
> の出力。あと、たった先ほど見つけたのですが、
>
> bcdedit /? TYPES BOOTMGR
>
> とやると、最後の方に
>
> 表示
> ======
> DISPLAYBOOTMENU (bool) ブート メニューの表示を有効にします。
> DISPLAYORDER (list) ブート マネージャーの表示順序の一覧を定義し
> ます。
> TOOLSDISPLAYORDER (list) ブート マネージャーのツール表示順序の一覧を定義
> します。
>
> という説明が出ます。ということは、多分ブート構成データの中には「ブート
> メニューの表示を有効/無効」という情報があるのだと思います。これをどうやっ
> て確認したら良いのかわからないのですが、何らかの理由でお持ちのマシンと私
> マシンではこの設定が違っている、というような事があるのではないかと思いま
> す。書き忘れていたようにも思いますが、私のマシンで「うまくゆかない」とい
> うのは、そもそも Boot Menu に FreeBSD とか PCBSD という項目が出ないので
> す。項目ができて、それを選択すると boot に fail する、ではないのです。
>
>>FreeBSDのboot1.efiは別途インストールする必要があるのではないか?
>>というのが私の意見です。
>
> あり得ません。 /usr/src/sys/boot/amd64/boot1.efi で make -n install をや
> ると
>
> install -o root -g wheel -m 555 boot1.efi /boot/boot1.efi
> install -o root -g wheel -m 444 boot1.efifat /boot
>
> と表示されます。release についている /boot/boot1.efi を信用しない理由は
> どこにもありません。
>
> --------
> 丸山直昌@統計数理研究所
----
Shin-ya Murakami
email: murashin @ gfd-dennou.org
WWW: http://www.gfd-dennou.org/member/murashin/
freebsd-users-jp メーリングリストの案内