# システムリカバリー IncusOSは障害に対して非常に耐性があるように設計されていますが、システムが誤動作を起こすことがあるかもしれません。 IncusOSシステムをリカバーする必要に迫られたときに、いくつかの提案があります。 ## 前のイメージでの起動を試す IncusOSはA/Bアップデート機構を使っており、新しいバージョンで再起動するだけでなく前のバージョンを利用可能な状態で維持しており必要に応じて前のバージョンに戻せます。 サーバーを再起動しブートメニューで前のバージョンを選択できます。もしそれがうまくいったら、最新の更新に何か問題があったことを意味します。バグ報告してください! ## 暗号リカバリーキー IncusOSはインストールドライブの暗号化をシステムのTPMの状態にバインドし、暗号化ドライブの追加のプールの暗号鍵を保管します。 インストールドライブの暗号リカバリーパスフレーズとプール暗号鍵をAPIで取得できます。 (ここの状況になる_前に_、これを実行してこれらの鍵を安全な場所に保管していましたよね?) システムのTPMの状態が意図せず変更されてしまった場合でも、ブートはできますが暗号リカバリーパスフレーズを手動で指定する必要があります。 IncusOSの起動後、APIを使ってTPMの暗号バインディングを強制リセットすると、起動時にインストールドライブを自動で復号できるはずです。 あるいは、リカバリーキーを使って、影響を受けたドライブを取り外して他のマシンに移動し、ロック解除して含まれるデータにアクセス/マイグレートできます。 ```{tip} IncusOSはいくつかの基本的なリカバリーキーの複雑度のルールを持っています: * 少なくとも15文字以上 * 少なくとも1つ記号を含む * 少なくとも5つのユニークな文字を含まなければならない ``` ## ドライブの障害 インストールドライブに障害が起きた場合、残念ながら再インストール以外にできることは多くありません。 :( ストレージプール内のドライブに障害が起きた場合、プールに十分な冗長性があれば、APIを使って障害が起きたドライブを新しいドライブに置き換えられます。 下層のプールドライバーがデータリカバリープロセスを開始し、ストレージエンドポイントの状態を問い合わせることでモニタリングできます。 ## リカバリーモード `RESCUE_DATA`とラベル付けされFATかISOでフォーマットされたデータパーティションが存在する場合、IncusOSのブートシーケンスの早い段階で特別な「リカバリーモード」が発動します。 IncusOSは自動的にそのパーティションのルートにある`hotfix.sh.sig`というスクリプトを見つけてホットフィクスを実行します。次に、こちらもリカバリーパーティションのルートにある`update/`ディレクトリーに含まれるOSやアプリケーションの更新も適用します。 ホットフィクススクリプトと更新のメタデータJSONはともに通常のIncusOSの更新を配布するのに使うのと同じ証明書で適切に署名されている必要があります。 これにより攻撃者が任意のUSBメモリーを接続して任意のコマンドをフルシステムアクセスで実行することを防ぎます。 リカバリーモードは最後の手段の選択肢であるという想定です。