12
30
2007
Intel Mac で Solaris : その4
Solarisのマルチブートに挑戦(成功編)

OS X, Win XP, Solaris, Linux クアッドブートシステム
前回、MBRパーティション形式で Solaris のインストールに挑戦しましたが、Solaris のインストーラはハードディスクのパーティション構造をきちんと認識してくれませんでした.この原因として、Solaris のインストーラーが拡張パーティションを処理できずに、誤ったディスクパーティションとして認識してしまうのではないかと考えられます.試しに、拡張パーティション構造を用いずに、プライマリ(基本)パーティションのみでSolaris をインストールしてみたところ、Solaris のインストーラはパーティションを正しく認識してくれました.Solarisのインストールに関しては、プライマリパーティションのみで構成することによって問題は解消できそうです.
ただ、プライマリパーティションだけでは最大でも4つしか確保できないため、マルチブート環境を構築するには役不足です.そこで、Solaris のインストールの際にはプライマリパーティションだけの構成にして、Solaris のインストール終了後、拡張パーティション構造に変換して、複数の論理パーティションを作成することで、パーティション不足という問題は解消できます.
Solarisのマルチブート環境のおおよその目処がついたところで、各OSの制約等について整理しておきます.
【 Mac OS X 】
・MBR形式のパーティションにはインストールできない
・HFS+ パーティションはプライマリパーティション中や論理パーティション中の任意の場所に配置可能
・OS X 自体はどこにでもインストール可能で、複数のOSを同時にインストール可能である
【 Windows XP/Vista 】
・アクティブなプライマリパーティションに配置する必要がある
・MBR に独自のブートローダを置く
・FAT32/NTFS のどちらでも良いが、Mac OS X からは FAT32 の場合のみ読み書き可能で、
・NTFSは読み込みしかできない.
【 Solaris  】
・通常版のSolaris 10 では、インストーラーDVD 内のブートローダーが Intel Mac に対応していない
・現状では、Open Solaris 版しかインストールできない
・インストーラーが扱えるディスク構造は、 MBRパーティション形式かつプライマリパーティション
 のみの構成でなければならない
・Intel Mac のハードウェアに対応したデバイスドライバが少ない
【 Linux  】
・Ubuntu 7.1 Desktop, Fedora Core 8 については動作確認済み
・ブートローダー(GRUB) は起動パーティション(プライマリ)に置く
・swap パーティションは論理パーティション内に作成する.
・Linux Swapパーティションと旧Solarisパーティションは共に 0x82 という
 パーティション識別コードを持つ(コンフリクトの可能性有り)
・必要に応じて ext3 等のパーティションを論理パーティションに置くことが可能
以上の制約条件などを考慮して次に示す方法でマルチブート環境を構築することにしました.
マルチブートシステムの構築手順
1. パーティションの作成
  Disk Utility、GPartedなどのパーティションツールか diskutil コマンドで
MBR形式のパーティションを作成する.
 ディスクの後方の領域を後で拡張パーティション用に割り振るため十分な空きを
作っておく.
 Solaris のインストーラーでパーティションに分割する方法も考えられるが、
  互換性の面で不安有り
 パーティションの初期構成は次のようにする.
   #1    Windows XP          FAT32               16GB
   #2    Solaris             LinuxSwap           16GB
   #3    Linux               ext3                 8GB
  
2. Open Solaris Express Developer をインストール
 インストーラのパーティション選択で、2番目のパーティションを “Solaris2” 形式
にしてインストールを実行する.
3.  拡張パーティションの作成
   
  4番目のパーティションを Extended (拡張パーティション)形式で作成し、その中に
  Linux swap と OS X 用の HFS+ パーティションを論理パーティションとして作成する.
   
必要に応じてFAT32/NTFS, ext3, HFS+ などの論理パーティションを追加する.
4. OS X のリストア
   
  予めインストールしてあった OS X を拡張パーティション内の OS X パーティションに
リストア(クローニング)する.
5. rEFIt のインストール
   
rEFIt をインストールする.以降、rEFItのメニューから各OSを直接起動可能になる.
6. Linux のインストール
   
  Linux を3番目のパーティションにインストールする.ブートローダー(GRUB)はこの
パーティションにインストールする.
7. Windows XP のインストール
  
  Windows XP を1番目のパーティションにインストールする.MBRはWindows によって
  上書きされる.

“最終的なパーティションの状態

GParted によるパーティション操作

GParted によるパーティション操作
sh-3.2# diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *93.2 Gi    disk0
   1:             Windows_FAT_32 WINXP                   16.0 Gi    disk0s1
   2:                                                    16.0 Gi    disk0s2
   3:                      Linux                         12.0 Gi    disk0s3
   4:                 Linux_Swap                         2.0 Gi     disk0s5
   5:                  Apple_HFS Leopard                 32.0 Gi    disk0s6
   6:                  Apple_HFS Home                    15.2 Gi    disk0s7
sh-3.2# fdisk /dev/disk0
Disk: /dev/disk0	geometry: 12161/255/63 [195371568 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0C    0   1   1 - 1023 171   2 [        63 -   33554432] Win95 FAT32L
*2: BF 1023   0   1 - 1023 254  63 [  33559785 -   33559785] 
 3: 83 1023   0   1 - 1023 254  63 [  67119570 -   25125660] Linux files*
 4: 05 1023   0  63 - 1023 254  63 [  92245292 -  103121173] Extended DOS
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 82 1023   1   1 - 1023 254  63 [  92245293 -    4192902] Linux swap
 2: 05 1023   0   1 - 1023 254  63 [  96438195 -   67103505] Extended DOS
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: AF 1023   1   1 - 1023 254  63 [  96438258 -   67103442] HFS+
 2: 05 1023   0   1 - 1023 254  63 [ 163541700 -   31824765] Extended DOS
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
*1: AF 1023   1   1 - 1023 254  63 [ 163541763 -   31824702] HFS+
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 Mac OS X を MBR 形式のパーティションで稼働させても今のところそれほど大きな問題は生じていませんが、”Startup DIsk” がMBR形式に対応していないので、内蔵HDのOSが認識されていません.rEFIt を使う限りこの問題は大したことありません.Solaris を考えないのであれば、正規の GPT パーティションが使えますので、デバイスのサポートなどの事も考えると、SolarisはVM上で稼働させた方が現実的でしょう.
 
				