Golden Gate Bridge, San Francisco


Date/Time: 2006:08:12 12:05:50
Camera: Panasonic
Model: NV-GS250
Exporsure Time: 1/1000
FNumber: 4.0
Aperture Value: 4.0
Focal Length:

Close

y2blog » Intel Mac で Solaris : その4

12

30

2007

Intel Mac で Solaris : その4

Solarisのマルチブートに挑戦(成功編)


Quad Boot System on Intel Mac
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 によるパーティション操作
Solarisのインストーラのパーティション設定
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上で稼働させた方が現実的でしょう.