Solaris のシステム管理 (デバイスとファイルシステム)

ProcedureUFS ルート (/) および /usr ファイルシステムを復元する方法

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

  2. 新しいシステムディスクを、ルート (/) と /usr ファイルシステムが復元されるシステムに追加します。

    システムディスクの追加方法の詳細は、「SPARC: システムディスクを接続してブートする方法」または 「x86: システムディスクの接続方法」を参照してください。

  3. 新しいファイルシステムを一時的なマウントポイントにマウントします。


    # mount /dev/dsk/device-name /mnt
    
  4. /mnt ディレクトリに移動します。


    # cd /mnt
    
  5. (省略可能) 安全性のため、書き込み保護を設定します。

  6. テープデバイスのリンクを作成します。


    # tapes
    
  7. ルート (/) ファイルシステムを復元します。


    # ufsrestore rvf /dev/rmt/n
    

    ダンプレベル 0 のテープが復元されます。

  8. テープを外し、次のレベルのテープをドライブにロードします。

    テープの復元は必ずダンプレベル 0 から始め、もっとも低いダンプレベルからもっとも高いダンプレベルまで続けてください。

  9. 必要に応じ、復元を続行します。


    # ufsrestore rvf /dev/rmt/n
    

    次のレベルのテープが復元されます。

  10. テープを追加するたびに、手順 8手順 9 を繰り返します。

  11. ファイルシステムが復元されたことを確認します。


    # ls
    
  12. restoresymtable ファイルを削除します。


    # rm restoresymtable
    

    復元のチェックポイントのために ufsrestore コマンドが作成し、使用した restoresymtable ファイルを削除します。

  13. ルート (/) ディレクトリに変更します。


    # cd /
    
  14. 新しく作成されたファイルシステムをマウント解除します。


    # umount /mnt
    
  15. 新しいファイルシステムを検査します。


    # fsck /dev/rdsk/device-name
    

    復元されたファイルシステムの整合性が検査されます。

  16. ルートパーティションにブートブロックを作成します。

    SPARC システムの場合:


    # installboot  /usr/platform/`uname-i`/lib/fs/ufs/bootblk 
    /dev/rdsk/device-name
    

    詳細は、installboot(1M) のマニュアルページを参照してください。

    SPARC システム上での installboot コマンドの使用例については、例 26–6 を参照してください。

    x86 システムの場合:


    # /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/cwtxdysz
    

    詳細は、installgrub(1M) のマニュアルページを参照してください。

    x86 システム上での installgrub コマンドの使用例については、例 26–7 を参照してください。

  17. 新しいテープをテープドライブに挿入します。

  18. 新しいファイルシステムのバックアップを作成します。


    # ufsdump 0uf /dev/rmt/n /dev/rdsk/device-name
    

    ダンプレベル 0 のバックアップが実行されます。ufsrestore コマンドはファイルの位置を移動し、i ノード割り当てを変更するので、新しく作成されたファイルシステムの完全バックアップは、必ずすぐに作成するようにしてください。

  19. 必要に応じ、/usr ファイルシステムについて手順 5 から 16 を繰り返します。

  20. システムを再起動します。


    # init 6
    

    システムがリブートされます。


例 26–6 SPARC: UFS ルート (/) ファイルシステムを復元する

次の例は、SPARC システム上でルート (/) ファイルシステムを復元する方法を示します。この例では、システムはローカルの Solaris DVD またはネットワークから起動するものとします。


# mount /dev/dsk/c0t3d0s0 /mnt
# cd /mnt
# tapes
# ufsrestore rvf /dev/rmt/0
# ls
# rm restoresymtable
# cd /
# umount /mnt
# fsck /dev/rdsk/c0t3d0s0
# installboot /usr/platform/sun4u/lib/fs/ufs/bootblk
/dev/rdsk/c0t3d0s0
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0
# init 6


例 26–7 x86: UFS ルート (/) ファイルシステムを復元する

次の例は、x86 システム上でルート (/) ファイルシステムを復元する方法を示します。この例では、GRUB フェイルセーフブートセッション、ローカルの Solaris DVD、またはネットワークからシステムが起動されていることを前提としています。


# mount /dev/dsk/c0t3d0s0 /mnt
# cd /mnt
# tapes
# ufsrestore rvf /dev/rmt/0
# ls
# rm restoresymtable
# cd /
# umount /mnt
# fsck /dev/rdsk/c0t3d0s0
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t3d0s0
stage1 written to partition 0 sector 0 (abs 2016)
stage2 written to to partition 0, 227 sectors starting 50 (abs 2066)
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0
# init 6