[FreeBSD-users-jp 95526] Re: 500GBのHDDでマルチブートを
丸山直昌
maruyama at ism.ac.jp
Fri May 8 09:17:03 UTC 2015
統計数理研究所の丸山です。
>Date: Wed, 22 Apr 2015 16:07:29 +0900
>From: mitsuyoshi Dobashi <m.dobashi440 at gmail.com>
>gpartなどの話題もありましたが、2TB以下のHDDでのマルチブートは
>とりあえず MBRでしょうか?
>
>CPU: i3-4160
> MB: H81M-E (UEFI仕様)
>HDD: 500GB
>の構成です。
「UEFI仕様」というのは経験がないのですが、それはともかく、最近次のよう
な事態を経験して、そろそろMBRスキームを捨てるべき時代になったと確信す
るに至りました。MBRスキームは、FreeBSD2.2.6の時代からかれこれ17,18年も
使っていたのですが、、、。
「経験した事態」とは以下のような事です。
PCBSD10.1の「お任せインストール」で500GB ディスクをまるまるPCBSDにする
と、以下のようにbois-boot と zfsのパーティションを含むGPTスキームとな
ります(システム1)。
システム1
[root at samanta{107}] ~# gpart show -p ada0
=> 34 1000215149 ada0 GPT (477G)
34 2048 ada0p1 bios-boot (1.0M)
2082 6 - free - (3.0K)
2088 995999744 ada0p2 freebsd-zfs (475G)
996001832 4194304 ada0p3 freebsd-swap (2.0G)
1000196136 19047 - free - (9.3M)
このシステムを起動して / 以下を tar やら cp を使って、 MBR スキームの
300GBディスクに含まれる以下のような ufs ファイルシステムにコピーします。
システム2
=> 63 625142385 ada0 MBR (298G)
63 1985 - free - (993K)
2048 3072000 1 ntfs (1.5G)
3074048 297619456 2 ntfs (142G)
300693504 287582208 4 freebsd [active] (137G)
588275712 36864000 3 ntfs (18G)
625139712 2736 - free - (1.3M)
label/rootfs1 N/A ada0s4d
label/var1 N/A ada0s4h
label/usr1 N/A ada0s4k
/dev/label/rootfs1 2031256 155548 1713208 8% /
/dev/label/var1 2031256 521544 1347212 28% /var
/dev/label/usr1 30450776 10800684 17214032 39% /usr
するとシステム1では ALT+cntl+ファンクションキーで X の画面からVTYへの
切替えが正常に働くのに対して、システム2では、画面が変な色に変わるだけ
で、実際問題として VTY は使えません(キー入力だけは効いていますが)。
調べてみると、システム1では起動時の dmesg が
Copyright (c) 1992-2014 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.1-RELEASE-p8 #25 d0fb866(releng/10.1): Thu Nov 13 07:57:26 EST 2014
root at bellicose:/usr/obj/root/pcbsd-build-10-STABLE/git/freebsd/sys/GENERIC amd64
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
VT: running with driver "vga".
CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz (2594.16-MHz K8-class CPU)
(以下略)
となっているのに対して、システム2では
VT: running with driver "vga".
が表示されません。これは boot code の違いによると考えています。システ
ム1のboot code は gnu grubらしく、システム2の boot code は
gpart bootcode -b /boot/boot0 ada0
gpart bootcode -b /boot/boot ada0s4
で作ったもの(boot0cfg -b boot0 と bsdlabel -B -b /boot/boot で作っても
同じ)です。
さらに、次のようなディスク構成のシステム3(120GB PCI SSD)にシステム1を
コピーしても VTY は使えません。
システム3
=> 34 250069613 ada1 GPT (119G)
34 6 - free - (3.0K)
40 40 1 freebsd-boot (20K)
80 2008 - free - (1.0M)
2088 16777216 2 freebsd-swap (8.0G)
16779304 10485760 3 freebsd-ufs (5.0G)
27265064 62914560 4 freebsd-ufs (30G)
90179624 41943040 5 freebsd-ufs (20G)
132122664 10485760 6 freebsd-ufs (5.0G)
142608424 62914560 7 freebsd-ufs (30G)
205522984 10485760 8 freebsd-ufs (5.0G)
216008744 34060896 9 freebsd-ufs (16G)
250069640 7 - free - (3.5K)
label/pcmr1 N/A ada1p6
label/pcmu1 N/A ada1p7
/dev/label/pcmr1 5061624 545328 4111368 12% /
/dev/label/pcmu1 30450776 10793128 17221588 39% /usr
ここで boot code は
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1
で作ったものです。
以上は ThinkPad X230(chipset は Intel(R) HD Graphics 4000)上での実験で
す。
更に、システム2とシステム3では、 zzz コマンドによる suspend ができませ
ん。システム1では zzz コマンドによる suspend と resume はうまく働いて
いるように見えます。
これらの違いが、 zfs と ufsの差によって生じているとは、私にはどうして
も思えません。boot codeの違いによるものと思います。詳しい仕組みを私は
理解してはいませんが、この状況を標語的に表現すると、
伝統的な MBR stage 0 boot code と stage 1 bsdlabel boot code
は、小型軽量ではあるが、現在の FreeBSD の機能を支えることは、
困難になりつつある。
と言えるように思います。
なお、この ML には「FreeBSDはサーバー用」という考えで、PCBSDに興味を持
たない方々が多いように感じていますが、PCBSDはFreeBSDに単にPCBSD meta
packagesを pkg add しただけのもので、基本的には同じ機能を持っています。
無垢のFreeBSD10.1であっても、Xのパッケージを pkg add すれば、VTYに関す
る上記の現象は同じように起こると思います。
長くなり過ぎるので、ここで一旦中断します。
--------
丸山直昌@統計数理研究所
More information about the freebsd-users-jp
mailing list