削除されたLUKSパーティションの回復

削除されたLUKSパーティションの回復

LUKSを使用したフルディスク暗号化とは別に暗号化された/homeパーティションを設定しました。私は/ rootを削除する間違いをしましたが、早期に発見してパーティションテーブルだけを変更しました。今、次が残りました。

sudo hexdump -C /dev/nvme0n1 |grep LUKS
3e900000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|

これは、LUKSヘッダーがまだ破損していないことを意味します(休止)。

次に、対応するオフセットにループデバイスを作成します。

 sudo losetup -o 0x3e900000 -r -f /dev/nvme0n1 

そしてインストールしてみてください

 sudo cryptsetup luksOpen /dev/loop1 luksrecover

これまではうまく機能しており、すべてが正しくインストールされており、私のファイルを表示し、いくつかの追加コマンドを使用して別々の/ homeを復元できます。

しかし、完全なOSがあるのでまた戻ってください。唯一の問題は、元のXubuntu LUKS復号器を呼び出すことができるグラブがないことです。

今私のパーティションにかなりのオフセットがあるのを見ると、ここがグラブが住んでいたところのようです。

それでは、オペレーティングシステムを復元するにはどうすればよいですか?私が理解しているように、バイト0 - $ offsetをgrubとしてマークし、そこにgrubをインストールし、残りを別のものとしてインストールする必要があります。だから私はgrub-install /dev/nvme0n1を試しましたが、aufsについて文句を言いました。

grub-install: error: failed to get canonical path of `aufs'.

その後、インストールされたLUKSシステムのchrootで同じことを試みましたが、ファイルシステムは読み取り専用でしたが、もちろん最初はgrubがありませんでした。

それでは、LUKSの前の空のスペースにgrubを配置し、起動時にLUKSの暗号化を解除するにはどうすればよいですか?

答え1

警告する:

これらすべてを行う前に、ドライブのイメージ(バックアップ)を作成してください。

すべてのコマンドのドキュメント(「manページ」など)を読み、そのコマンドを使用する前に、そのコマンドが何をしているのかを理解してください。

あなたは警告を受けました

後で参照できるように、回避策は次のとおりです。

  1. LUKSパーティションの開始位置を見つけます。すべてのLUKSパーティションには、LUKSという単語を含むプレーンテキストヘッダーがあります。だから

    sudo hexdump -C /dev/<the disk>  | grep LUKS
    
  2. LUKSがどこにあるかを確認してください。  hexdumpこのヘッダーの先頭が見つかるオフセットを一覧表示する必要があります。 LUKS ヘッダーが見つかったオフセットから始まり、パーティションをループバックデバイスとしてマウントします。

    sudo losetup -o <offset> -r -f /dev/nvme0n1
    

    ちなみに、Intel SSDとGRUB2を使用したXubuntuのオフセットは0x3e900000です。

  3. どのデバイスが欠落しているかを確認する

    losetup -a
    
  4. 復号化とマウント

    sudo cryptsetup luksOpen /dev/loop1 luksrecover
    

    この時点でディスクをマウントする必要があります/media/。ただし、コンテンツは/homeまだ暗号化する必要があります。今解読する時間です

  5.  cd /home/<yourusername>
    
     sudo ecryptfs-recover-private .Private/
    

    これにより、次のような結果が生成されます。

    INFO: Found [.Private/].
    Try to recover this directory? [Y/n]: Y
    INFO: Found your wrapped-passphrase
    Do you know your LOGIN passphrase? [Y/n] Y
    INFO: Enter your LOGIN passphrase...
    Passphrase: 
    Inserted auth tok with sig [8c5d84b9d7f0cc5b] into the user session keyring
    INFO: Success!  Private data mounted at [/tmp/ecryptfs.mxsowbiD].
    

    外部ストレージデバイス(HDDなど)を接続し、必要なものをすべて/home保存してください。/opt再インストールし、/home自分のものと交換してください。または、既存のファイルシステムを適切なパーティションに移動してください。

危機はわずか数時間で解決された。

答え2

Linux Testdiskユーティリティを使用してパーティションテーブルを復元します。最後に、必要なときにソースからコンパイルすると、回復可能なエントリに影響がありました。

関連情報