川口です たかのさん,小野さんアドバイスありがとうございます
せっかくアドバイスいただいておきながら,なのですが とりあえずは別解がありました(応用範囲は狭いのですが) で,当方がやった手法: 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 <[email protected]> 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 (小野寛生)" <[email protected]> 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.. (- - )⌒⌒⊇〜 川口 銀河 ############## [email protected] _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "[email protected]"
