次のページ 前のページ 目次へ

9. 2 台目のハードディスクに Solaris 7 をインストール

複数のハードディスクがあってそれらの OS を切替えてブートする方法として、 ハードディスクをリムーバブル(取り外し可能)にするとか、マザーボード の BIOS の設定で 2台目以降のディスクからブートするという方法もあります。 間違いがなく確実ではあるのですが、新たにハードウェアを購入する必要がある とか、操作が面倒といった欠点もあります。 ここでは、ソフトの設定のみでこれを実現する方法について説明します。

これまで説明したのとは別のパソコンに日本語版の Free Solaris 7 をインスト ールしました。ハードディスクは当初 1台だけで下記のように 2つの Linux が インストールされています。

  1台目 (EIDE: Primary Master, 3.2GB)
  ===============================================================
  /dev/hda1  (基本パーティション。1.5GB) Caldera Open/Linux 2.3
  /dev/hda2  (基本パーティション。1.5GB) Plamo Linux 1.4.4
  /dev/hda3  (基本パーティション。0.1GB) Linux swap
これに2 台目のハードディスクを増設して下記のような構成にし、最大で 5つの OS を切替えてブート可能にするつもりです。
  2台目 (EIDE: Secondary Master, 5.2GB)
  ===============================================================
  /dev/hdc1  (基本パーティション。1.6GB) (予備 Linux)
  /dev/hdc2  (基本パーティション。1.6GB) (予備 FreeBSD ?)
  /dev/hdc3  (基本パーティション。0.1GB) Linux swap
  /dev/hdc4  (基本パーティション。1.7GB) Solaris 7
パーティションの切り方【失敗例】

例によって(?)まずは失敗例です。失敗から学ぶべき教訓もあるかと思い 恥を忍んで公開します(エライ)。
最初に Linux の fdisk で下記のようにしました。

     Device        Boot  Start  End    容量    Id   System
  ===================================================================
  /dev/hdc1 (基本)          1   207   (1.6GB)  83   Linux native
  /dev/hdc2 (基本)        208   414   (1.6GB)  83   Linux native
  /dev/hdc3 (基本)  *     415   427   (0.1GB)  83   Linux native
  /dev/hdc4 (基本)        428   636   (1.7GB)  82   Linux swap
   (空き領域)             637   638    (16MB)  --   ------------
hdc4 の Id は 82 (Linux swap)にしました。これはSolaris のパーティション が Linux の swap 用と同じ ID だからです。 またディスクの終端には Solaris のブートマネージャ用(?)として空き領域を 少しだけ取ってあります。
この場合、インストールの途中で例の 「パーティション 4 がディスクの終り(c1d0)を越えています」英語では "Error: Partition 4 extends beyond the end of disk (c1d0)" という何だかよく分らないエラーメッセージで止まってしまいました。

空き領域をディスクの先頭にも作ってみたのですが、それでもだめでした。

実はこれ以外にも色々なパーティションの切り方で試してみたのですが、こと ごとく失敗に終り、なす術がなく困り果ててしまいました。 (ここまで、読むだけならせいぜい1分間ですが、実際には休日の朝から晩まで 1日中パーティションを切ってはインストール、切ってはインストール・・と いうことを延々繰り返していたのです。結局その日はあきらめて寝ました)

数日後、気を取り直して Linux の fdisk で作った全てのパーティションを削除 し Solaris の fdisk でパーティションを作成してみたらどうだろう?と思い、 試してみました。

         パーティション  サイズ  開始シリンダ
    ===================================================
      1  PRI DOS          1600       1           (基本) 
      2  PRI DOS          1600     205           (基本) 
      3  PRI DOS           100     409           (基本) 
      4  Solaris          1660     422           (基本) 

      容量: 4973M
  割り当て: 4965M
      空き:    7M
  丸め誤差:    1M
これはうまくいき、インストールは無事終了しました。これを Linux の fdisk で 見ると次のようになっています。
     Device        Boot  Start  End    容量    Id   System
  ===================================================================
  /dev/hdc1 (基本)          2   205   (1.6GB)   6   DOS 16-bit >=32M
  /dev/hdc2 (基本)        206   409   (1.6GB)   6   DOS 16-bit >=32M
  /dev/hdc3 (基本)  *     410   422   (0.1GB)   6   DOS 16-bit >=32M
  /dev/hdc4 (基本)        423   634   (1.7GB)  82   Linux swap
なお、インストール時にインストール先として 2台目のディスクを指定したの で「デフォルトのブートデバイス(c1d0)ではないものを選択した」ということ に関連した警告(warning)が 3〜4箇所の場面で表示されます。 これはエラーではなく単に警告です。「んなこたぁ、百も承知でやってんだ」 などとブツブツひとり言を言いながら無視しました。

さてインストールはやっとの思いで出来たものの、果してブートできるのか? ということが次なる課題です。

インストールの途中で「自動ブート」を選択するとインストール終了後、自動 的にマシンがリブートします。立ち上がった OS は残念ながら Solaris では なく Linux でした。しかしこれは予測通りの結果なので落胆することはあり ません。インストーラがデフォルトのブートデバイス(c1d0)、つまり Linux で いうところの /dev/hda にある MBR(Master Boot Record) に書き込みをしてい ないのだから当然なのです。(この辺がよく理解できない方は、JF の LILO や ハードディスクのパーティションに関するドキュメントをご覧ください)

2 台目のハードディスクを増設する前に、/dev/hda1 の Caldera Open/Linux と、/dev/hda2 の Plamo Linux を LILO で選択してブートできるようになって いたのですが、そのメニューに Solaris を加えてやればよいのです。 私は2 つのLinux の切替えを /dev/hda2 の Plamo Linux の /etc/lilo.conf で設定しているので、これを次のようにします。(最後の 3 行を追加)

  boot = /dev/hda
  message = /boot/boot_message.txt
  prompt
  timeout = 1200
  vga = normal

  # Plamo Linux 1.4.4
  image = /vmlinuz
    root = /dev/hda2
    label = pl144
    read-only

  # Caldera OpenLinux 2.3
  other = /dev/hda1
    label = caldera

  # Solaris 7 Japanese Edition
  other = /dev/hdc4
    label = sol7
またブート時に表示する LILO メニューは /boot/boot_message.txt で、これは 以下のようになっています。(最後の 1 行を追加)
  Welcome to the LILO Boot Loader!

  Please enter the name of the partition you would like to boot
  at the prompt below.  The choices are:

  pl144   - Plamo Linux 1.4.4     (/dev/hda2)
  caldera - Caldera OpenLinux 2.3 (/dev/hda1)
  sol7    - Solaris 7 [Japanese]  (/dev/hdc4)
上記 2つのファイルを変更したら、それを MBR に書き込むために以下のコマンド を root 権限で実行します。

# /sbin/lilo

これで全て完了! マシンをリブートします。最初に上記のように編集した LILO のブートメニューが表示されます。sol7 と入力すると、今度は以下のような Solaris のブートマネージャのメニューが表示されます。

    Part#   Status  Type     Start     Length
  ===============================================
      1             BIGDOS     16065   3277260
      2             BIGDOS   3293325   3277260
      3             BIGDOS   6570585    208845
      4     Active  SOLARIS  6779430   3405780
ここで Solaris の 4 を選ぶと日本語 Solaris 7 が起動します。ふー、やれやれ。


次のページ 前のページ 目次へ