/etc/systemファイルの編集に失敗してマシンが起動しない場合の対処法UNIX処方箋

現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、/etc/systemファイルの編集に失敗してマシンが起動しない場合の対処法について解説します。

» 2008年08月20日 05時52分 公開
[ITmedia]

Solaris 9(SPARC)マシンにOracle9iを導入しようとしています。Oracleで使用するセマフォの設定をするため、/etc/systemファイルを編集したところ、編集した部分に間違いがあったようでSolarisが起動しなくなってしまいました。どうしたら復旧できるでしょうか?


Oracleなど、大規模なDBMSやDiskSuiteなどのソフトウェアを使用する際、カーネルパラメータの設定ファイル/etc/systemの編集が必要になることがあります。セマフォの設定などの記述ミスでは、起動時に警告が表示される程度ですが、デバイスの指定を行うパラメータの記述を間違えると、CPUパニックを起こすなどOSが起動しなくなる場合もあります。

 このような場合は、まずOBP(OpenBoot PROM)上において、システムを対話形式でブートする「-a」オプションを指定し、bootコマンドを実行しましょう(表1)

オプション 機能
-b メンテナンスモードで起動。ファイルシステムは読み込みのみ可能な状態でマウントされるので、ファイルの更新などはできない
-r デバイス情報を再構築してOSを起動。SCSIデバイスなどを新規に接続する際に使用する
-s シングルユーザーモードで起動
-v 通常時より詳しいメッセージを出力しながら起動
表1 bootコマンドの主なオプション

 その後、起動に必要なカーネルイメージやカーネルパラメータを逐一指定してOSを起動します(実行例1)


ok boot -a
Boot device: /pci@1f,0/ide@d/disk@0,0 File and args: -a
Enter filename [kernel/sparcv9/unix]: ←カーネルイメージを指定
Enter default directory for modules [/platform/SUNW,Sun-Blade-100/kernel/platform/sun4u/kernel /kernel /usr/kernel]:
↑カーネルモジュールが置かれているディレクトリを指定
Name of system file [etc/system]:
↑カーネルパラメータが記載されているファイルを指定(通常は/etc/system)
SunOS Release 5.9 Version Generic_112233-12 64-bit
Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
root filesystem type [ufs]: ←ルートパーティションのファイルシステムを指定
Enter physical name of root device
[/pci@1f,0/ide@d/disk@0,0:a]: ←ルートパーティションのデバイス名を指定
(以後、通常の起動プロセス)

実行例1 対話形式でブートする「-a」オプションを指定してbootコマンドを実行

 「Name of system file:」というプロンプトが表示されたら、/dev/null(カーネルパラメータを指定せずに起動)や、バックアップしておいた/etc/systemファイルのフルパスを入力します。/dev/nullを指定した場合、systemファイルに記述していたパラメータは一切読み込まれなくなるので注意しましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ