[FreeBSD-users-jp 95212] Re: multi boot env. on GPT HDD
KAWAGUTI Ginga
ginga-freebsd at ginganet.org
Wed Jun 4 09:35:03 UTC 2014
川口です
たかのさん,小野さんアドバイスありがとうございます
せっかくアドバイスいただいておきながら,なのですが
とりあえずは別解がありました(応用範囲は狭いのですが)
で,当方がやった手法:
0. PC はもとはUEFI, windows 8.1 環境.win8 partitionを
shrinkさせて,隙間にFreeBSD install したい.
boot の仕組みは UEFI の他に legacy(bios) support に
bios設定を変更.secure bootもモチロンdisable.
ただし,UEFI-win8 を壊さないようにするためには
lagacy boot 用のMBR(/boot/pmbr が多分それ,だと思う)は
つっこめないはず.
→ USB memory側に legacy boot 用のloader等を入れる
1. note PC 本体のHDD(ada0)にはgptでzfs rootなFreeBSDをインストール
(ここではFreeBSD 10 stable;
freebsd-boot パーティションも作ってありますが,
以下の話には多分なくて大丈夫)
2. usb memory をgptパーティションにして,
freebsd-boot な領域を用意し,pmbr,gptzfsboot を入れる
# gpart create -s gpt da4 # da4 == USB memory
# gpart add -s 64k -t freebsd-boot da4
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da4
(HDDに入れる時と全く同じ)
3. usb memory挿してboot
-> USB起動で,pmbr
-> (USB側の)gptzfsboot
-> gptzfsboot は(単一HDDに閉じずに)ZFSのパーティションを探す
-> HDD(ada0)にインストールされた ZFS 環境を発見.
-> kernel load && boot
という順序でロードして,起動後はUSB memory引っこ抜いても大丈夫,
となります.
一通りboot loader でのオプション設定とかも大丈夫.
* grubで当初想定していたことができるらしい,という
ブログ記事が以下にあります.
殆ど答え書いてある,なのですが,悲しいかな
「grub自体を良く知らない初心者」である当方には
grub をどうインストールするのかよく分からず.(*)
http://sntk.hatenablog.com/entry/2014/02/16/164459
(*) 別のfreebsd8環境でgrub2 をports で入れて
grub-install を usb に入れてみたものの,
「単なる MBR にboot loader 単体が入る仕組みではない」grub では
stage 2 もusbに入れなきゃいけなくて,
とかその辺の仕組みがさっぱりわからず...
(たぶんgrubを知っている人ならさくっとできる気がします)
In Tue, Jun 03, 2014 at 04:28:15PM +0900,
TAKANO Yuji <takachan at running-dog.net> wrote:
> 僕より詳しそうですねぇf(^^;;。
滅相もない...
> 最近は仮想マシンにインストールする人が多くなって、オンプレミス
> な環境(それはつまり『native にインストールしたい』ってことです
> が;-)に FreeBSD をインストールして X まで動かす人はめっきりと減っ
> たような気がします。
(言えない,今回はXorgまでは動かさないなんて...)
> 僕は ThinkPad Edge e145 にインストールしましたが、もーダメダメ
> 環境でマルチブートを実現しました。結局、 UEFI+GTP な環境を捨てて
> レガシー BIOS+MBR な環境にインストールしました。
>
> その時の顛末は以下の URL に記載しましたが、多分、ご覧になって
> いるでしょうかね;-)。
>
> http://running-dog.net/2013/11/post_804.html
# ぼそ: s/GTP/GPT/g
なるほど...似たような問題で,bcdedit で
「windows 側のbootセレクタ的なモノ」で解決する手法,という
感じでしょうか.
今回はとにかく,ヘタレモードでwindows側壊したくない,
ということでwindows側はpartition shrink以外触りませんでしたが
こういうやり方もあるんですね
まだUEFI怖いよ,です
> Windows 単体であるとか FreeBSD 単体のみのインストールだと
> UEFI+GTP でもブートするんですけどねぇ。
これ,まだ把握していませんでした
> UEFI+GTP においては 10.0-R を利用すると Windows と FreeBSD の
> 両方のインストールはできて両方ともパーティションが潰れずに生きて
> いるような気はします。ただ、bcdedit.exe を利用しても FreeBSD が
> ブートしないので、現状では FreeBSD を起動する手段が無い。と、い
> うことになります。
>
> それで USB からブートする案ですね。それは試してないですねぇ。
> ブート後に HDD のファイルシステムがマウントできれば良いのですね。
> なるほど。ブートするようになったら教えてください;-)。
とりあえずヘタレ解決は出来ました.
> > * GPT+FreeBSD only は ZFS root などででてくるやり方は
> > よくやっている.
> > gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 ada0
> >
> > -> ただ,GPT で他OSと共存だと pmbr つっこめない,はず
>
> Thinkpad X240 は UEFI でしょうかねぇ? レガシー BIOS で起動す
> るようになれば行けるかもしれないです。が、僕は確認していません。
すみません,きちんと書いていませんでしたが
標準 UEFI only, BIOS設定で UEFI only / both / legacy only
が選べます.その他 usb hdd のboot順,secure boot 解除,なんかを
やっています
> ただ、こないだ別のマシンに 10.0-R をインストールしようとしたら
> 10.0-R のインストーラが HDD 全体を GTP にしてしまって、Windows
:-P
結局,shell に逃げて「手作業インストール」のままですね.
本当に手作業インストールで気にならない人しか使ってない,んでしょうね.
> 最近はマルチブートに関する情報が確かに少ないですよねぇ。
当方がそもそも「HDDつけかえてbootしてしまえ,派」だったもので.
(thinkpad X60はそれが非常に楽だった)
In Tue, Jun 03, 2014 at 08:33:31PM +0900,
"Hiroo Ono (小野寛生)" <hiroo.ono+freebsd at gmail.com> wrote:
> ・11-current では UEFI 対応が (amd64 には) 入ったので、
> https://wiki.freebsd.org/UEFI
> を参考にすれば UEFI で FreeBSD を boot できる。
> ・BIOS の助けがないので、sc ではなく vt を使わないと console が描画されない。
> ・ZFS に対応しているような記述はないので、最低 /boot は UFS じゃないといけないのかも。
> ・multiboot の機能はないので、そこはほかのツールを使う必要がある。
なるほど.ちょっと今後は少し別の手が使える,のですかね.
> 10.0R まででやるとしたら、PC-BSD が grub を使っているくらいなので、grub が一番楽なのでは
> ないかと思います。
やろうとして挫折しました...すみません
--
∧∧
Zzz.. (- - )⌒⌒⊇〜 川口 銀河
############## ginga-freebsd at ginganet.org
More information about the freebsd-users-jp
mailing list