 Solaris ボリュームマネージャー RAID-1 (ミラー) ルートパーティション上のブートアーカイブを手動で更新する方法
Solaris ボリュームマネージャー RAID-1 (ミラー) ルートパーティション上のブートアーカイブを手動で更新する方法次の手順は、フェイルセーフブート時にミラーメタデバイスをマウントする方法を示しています。この手順で使用されるルート (/) ファイルシステムは、/dev/dsk/c0t0d0s0 です。
フェイルセーフアーカイブをブートします。
SPARC プラットフォーム: ok プロンプトで、次のコマンドを入力します。
| ok boot -F failsafe | 
システムがすでに動作している場合は、端末ウィンドウを開いてスーパーユーザーになり、次のコマンドを入力します。
| # reboot -- "-F failsafe" | 
詳細は、「SPARC システムをフェイルセーフモードでブートする方法」を参照してください。
x86 プラットフォーム: GRUB メニューでフェイルセーフブートエントリを選択して、システムをブートします。
詳細は、「x86 システムをフェイルセーフモードでブートする方法」を参照してください。
フェイルセーフモードでシステムをブートすると、次の出力が生成されます。
| Starting shell. # | 
フェイルセーフブート時に、システムによりマウントするデバイスの選択が求められたら、何もマウントしないことを意味する q を入力します。
| Please select a device to be mounted (q for none)[?,??,q]: q | 
ルート (/) ファイルシステムのサブミラーを、/a ディレクトリに読み取り専用で一時的にマウントします。
| # mount -o ro /dev/dsk/c0t0d0s0 /a | 
md.conf ファイルを /kernel/drv ディレクトリにコピーします。
| # cp /a/kernel/drv/md.conf /kernel/drv/ | 
/a ディレクトリのマウントを解除します。
| # unmount /a | 
devfsadm コマンドを使って、md ドライバを読み込みます。
| # update_drv -f md | 
このコマンドを実行すると、構成が読み込まれて必要なデバイスが作成されます。
次の手順に進む前に、数秒間待って md ドライバが確実に読み込まれるようにします。
metasync コマンドを使って、ルート (/) ファイルシステムを確実に同期します。次に例を示します。
| # metasync d0 | 
ルートミラーメタデバイスを /a ディレクトリにマウントします。
| # mount /dev/md/dsk/d0 /a | 
前の手順でマウントしたデバイスのブートアーカイブを更新します。
| # bootadm update-archive -v -R /a | 
ブートアーカイブの更新に失敗するか、エラーメッセージが表示されたら、次の手順を実行します。
/a ディレクトリの md.conf ファイルのタイムスタンプを更新します。これにより、ブートアーカイブが強制的に更新されます。
| # touch /a/kernel/drv/md.conf | 
bootadm コマンドを実行してブートアーカイブを更新します。
| # bootadm update-archive -v -R /a | 
ブートアーカイブの更新が完了するまで、数分かかります。ブートアーカイブの更新が成功したら、次のようなメッセージが表示されます。
| changed /a/etc/system cannot find: /a/etc/cluster/nodeid: No such file or directory cannot find: /a/etc/devices/mdi_ib_cache: No such file or directory Creating ram disk on /a updating /a/platform/i86pc/boot_archive | 
/a をマウント解除します。
| # unmount /a | 
システムを再起動します。