気の向くままに辿るIT/ICT/IoT
システム開発

古いパソコンの再利用/SOTEC e-one/NetBSDとスライス

ホーム前へ次へ
古いパソコンの活用方法は?

古いパソコンの再利用/SOTEC e-one/NetBSDとスライス

スライス(BIOSパーティション)とBSDパーティション

 初めてBSDをインストールするなら、できれば、ディスク全体にインストールすると簡単ですが、そうもいかず、Windowsなどとマルチブートさせようと思うとインストールを行う際に戸惑う可能性が高い点がいくつかあるように思います。

 きっと最初に戸惑うポイントは、スライスという用語、次いでMBやGBといった単位を伴う比較的直感的な数値とは別に(なんとなくでもセクタ、トラック、シリンダの関係を理解した方が良いかもしれませんが、)セクタ数でサイズを設定する必要もある点、それに伴ってラベルa,b,c,dにそれぞれ並ぶ数値の存在とそれを一致させる作業をBSDのインストール時に行う必要があり、事前に理解していないとインストールもままならない点です。

 どれもわかってしまえば、そうでもありませんが、初めての時は、難解極まりなく見えることもあるでしょう。

 ここでは、これらを考慮して作業の手順を書いてみたいと思います。

 ちなみに併せてLinuxのインストール経験がない場合でデフォルトとせず、敢えてディレクトリ用のパーティション分割にチャレンジする場合、どこにどれだけ割り当てるかという点も戸惑うことでしょうが、敢えてチャレンジする時点で、そうでなくても正解がなく、使い方が人それぞれである以上、頼りは、ほぼ自身の経験則しかないだけに戸惑って当然とも言えるでしょう。

スライス(BIOSパーティション)の作成

 今回、インストールした際、なんとなく、第1プライマリパーティション(ラベル0)には、MS-DOS代替FreeDOS(FreeBSDじゃない)を後でインストールできるようにしてみようかと1GB分スペースを作り、第2プライマリパーティション(ラベル1)にNetBSDを入れることにしました。

 BSD系では、ハードディスク全体にBSDをインストールする場合は別ですが、DOSやWindowsなど他のOSと共存(≒マルチブート)させる場合には、BSD用のパーティションをDOSやWindows用のパーティションに合わせる為の[fdisk]コマンドとBSD本来のパーティションを作成する為の[disklabel]コマンドに相当する作業をインストール時に、または、これらコマンドを使ってインストール後に2種類設定することになります。

 要するにWindowsがインストールされるIBM PC/AT互換機とこれが採用するBIOSの仕組みにBSDやLinuxが合わせるようにしているわけで、BSDの場合は、そもそもBSD本来のパーティションの仕組みがあったこと、併用すれば、Windows(やLinux)で使われている1つの基本(≒プライマリ)パーティションの中にBSD用のパーティションを柔軟に設定できることから敢えて2段階になっているようです。

 尚、仮想化ソフトウェア(VMware Player)で確認したところでは、(FreeBSDではなく)FreeDOSとNetBSDのデュアルブートの場合、(最初に入れた方のパーティションさえ壊さないようにインストールすれば、)どちらからインストールしてもOKでブートローダを入れ忘れたなどブートローダで悩んだ際には、USBやCD/DVDにPLoP Boot Manager単体、または、これが入ったレスキュー用や通常のLinuxなどからPLoP Boot Manager、そこから[HDA PARTITION 1]、[HDA PARTITION 2]などを選択すれば、どちらも起動します。

 まず、Windowsが常用、Linuxがそれに倣うパーティションは、BIOSの制約上、4つ(基本パーティション4つ、または、基本パーティション3つ+拡張パーティション1つ)まで作成することが、拡張パーティションには、任意の数の論理パーティションを作ることができ、論理パーティションに対応するOSならインストールできますし、共有ストレージとして確保するといった拡張も可能となっています。

 BSD系では、このパーティションのことをスライスと呼び、これと後に[disklabel]コマンドで作成するBSD本来のパーティション(いわゆるBSDパーティション)とを区別しています。

 BSD系に関しては基本パーティションにしかインストールできないものの、スライスとBSDパーティションの関係は、拡張パーティションと論理パーティションの関係に似ています。

 よってスライス(BIOSパーティション)を作成する場合、DOSやWindowsが持つfdisk.exeやBSDやLinuxが持つfdiskコマンド(やこれに類するコマンド)でもBSD用のファイルシステムさえ指定できればOKです。

$ sudo fdisk

 このスクリーンショットは、NetBSDのインストール後に[sudo fdisk]を実行したところですが、スライス作成作業は、NetBSDインストール時に行うことができ、インストール後にもNetBSDからBIOSパーティションを編集するなら、[fdisk -u デバイス名]、デフォルトで起動させるアクティブパーティションを変更するなら[fdisk -a デバイス名](デバイス名は、wd0...etc.)などを実行します。

 詳細は後に譲りますが、ここで[Partition table:]部のパーティション0(ゼロ:1つめ)を見るとFAT32でフォーマット済みのDOSパーティションとして(4MB多く1028MBと)約1GB割り当てられており、[start 63],[size 2104452](セクタ数)とあり、startにsizeの値を足した値が、(まだ空き領域がある場合、更にパーティションを割り当て可能な)次のセクタ開始位置(offset値)となります。

 その足した値(2104515)は、[start 2104515]としてパーティション1のstart位置となっており、この場合は、NetBSD用に(11391MBとあり、)約11GB割り当てられていることがわかります。

 よって今回のマシンe-oneのHDD13GBの内、12.5GB弱(1028MB+11391MB=12419MB)が割り当てられているということになり、500~600MBもの容量分が行方知れずとなっているものの、計算を間違えているというわけではなく、単位も違うので当然と言えば当然ですが、MB単位とセクタ単位では、そもそも完全に一致させるのは難しい(というより無理がある)ということのようです。

 BSD用のスライスを確保したら、次は、BSDパーティションを作成します。

ホーム前へ次へ