Solaris のシステム管理 (基本編)

代替ブートデバイスからルート (/) ファイルシステムまたは /usr ファイルシステムをチェックする方法

この手順では、ローカル CD またはネットワークブートサーバーを利用でき、代替デバイスからシステムをブートできることを前提とします。

不正なスーパーブロックの復元については、不正なスーパーブロックを復元する方法を参照してください。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. ルート (/) ファイルシステムがミラー化されているシステムの場合は、まずルート (/) ミラーを切り離して、その後で代替デバイスからブートしてください。接続した状態で操作すると、ファイルシステムが破壊する可能性があります。

    ルート (/) ミラーの切り離しについては、『Solaris ボリュームマネージャの管理』の「サブミラーに関する作業」を参照してください。

  3. チェックの必要なルート (/) ファイルシステムまたは /usr ファイルシステムのデバイス (/dev/dsk/c0t0d0s0 など) を特定します。

    このデバイス名は、代替デバイスからブートした後で指定する必要があります。代替デバイスからブートした後でデバイスを特定するのは簡単ではありません。

  4. チェックの必要なルート (/) ファイルシステムまたは /usr ファイルシステムのあるシステムを、ローカル CD またはネットワークなどの代替デバイスからブートします。このとき、これらのファイルシステム上でほかの動作が存在しないように、シングルユーザーモードでブートしてください。

    たとえば、次のように入力します。


    # init 0
    ok boot net -s
    .
    .
    .
    #
  5. 手順 3 で特定したルート (/) ファイルシステムまたは /usr ファイルシステムが含まれるデバイスをチェックします。

    チェックまたは修復するファイルシステムのハードウェアが変更されている場合には、そのデバイス名も変更されている可能性があります。 fsck -n メッセージの「Last Mounted on ...」を利用して、そのファイルシステムのデバイスが予期したデバイスであることを確認してください。

    たとえば、チェックするルートファイルシステムが /dev/dsk/c0t0d0s0 の場合は、次のように出力されます。


    # fsck -n /dev/rdsk/c0t0d0s0
    ** /dev/rdsk/c0t0d0s0 (NO WRITE)
    ** Last Mounted on /
    .
    .
    .
    fsck /dev/rdsk/c0t0d0s0
    ** /dev/rdsk/c0t0d0s0
    ** Last Mounted on /
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    .
    .
    .
  6. 報告された fsck エラーをすべて修正します。

    1 つまたは複数の UFS ファイルシステムを対話式でチェックしながら、エラーメッセージのプロンプトに応答する方法については、『Solaris のシステム管理 (上級編)』の「UFS ファイルシステムの不整合解決 (手順)」を参照してください。

  7. FILE SYSTEM STATE NOT SET TO OKAY」や「FILE SYSTEM MODIFIED」などのメッセージが表示される場合は、必要に応じて fsck コマンドをもう一度実行してください。

    fsck コマンドは、一度の実行ではすべてのエラーを修正できないことがあります。

    fsck コマンドを何度か実行してもすべての問題を修復できない場合は、fsck コマンドで修復できない UFS ファイルシステムの修正を参照してください。

  8. 修復したファイルシステムをマウントして、 lost+found ディレクトリにファイルが存在するかどうかを確認します。

    fsck コマンドによって lost+found ディレクトリに入れられた各ファイルの名前は、その i ノード番号を使用して変更されます。可能であれば、ファイル名を変更し、ファイルが含まれるべきディレクトリに移動してください。grep コマンドを使用して各ファイル内の語句を探したり、file コマンドを使用してファイルタイプを識別できる場合もあります。

    どうしても特定できないファイルまたはディレクトリについては、 lost+found ディレクトリからそれらを削除して、不要な領域を解放してください。

  9. システムをマルチユーザーモードに戻します。


    # init 6
    

    代替デバイスからシングルユーザーモードでブートしている場合には、Control + D を押すと、Solaris のインストール処理が開始されます。

  10. ルート (/) ファイルシステムがミラー化されているシステムの場合のみ、ルート (/) ミラーを再接続します。