実行中のシステムと暗号化されたディスクからパーティションテーブルを回復します。

実行中のシステムと暗号化されたディスクからパーティションテーブルを回復します。

小さなミスをして誤ってブートパーティションを削除しました。これを使用してtestdisk問題なくブートパーティションを復元できましたが、誤って使用したか理解しておらず、ブートパーティションがあるパーティションテーブルにのみ書き込みました。
今私のシステムに私のパーティションがありません/。私はこれを見つけましたswap
グレートザイルズの回答しかし、
私のシステムはEFIを使用し、私のパーティションは暗号化されています。私のパーティションテーブルを回復するために同じソリューションが動作しますか?そして、暗号化されたパーティションにはどのパーティションext4フォーマットを使用する必要がありますかswap

また、スーパーユーザーが尋ねるのと同じ質問でセクタサイズを使用し、1を引く必要があることを発見しました。gdiskこれらの情報はすべて正確で最新ですか?

編集1:

testdisk詳細検索で次のパーティションを見つけます。

Disk /dev/nvme0n1 - 512 GB / 476 GiB - CHS 488386 64 32
     Partition               Start        End    Size in sectors
 P EFI System                  2048    1619967    1617920 [EFI System Partition] [ESP]
 D MS Data                     2054    1619973    1617920 [NO NAME]
 D EFI System                  4096     618495     614400 [EFI System Partition]
 D MS Data                     4102     618501     614400
 D MS Data                    37699      43872       6174
 D MS Data                    43872      50045       6174 [Boot]
 D Linux filesys. data       618494 1000206893  999588400
 D Linux filesys. data       618496     622591       4096
 D Linux filesys. data       618496 1000206895  999588400
 D MS Data                374180459  374183338       2880 [NO NAME]
 D MS Data                374180483  374183362       2880 [NO NAME]
 D MS Data                374181379  374184258       2880 [NO NAME]
>D Linux filesys. data    965039160  965043255       4096

そのうちの2つ(ブロックサイズが4096のもの)がLUKSとして機能します。

しかし、"bad structue"私はこの混乱の中で私が何を回復し、何を回復するべきかを知っています。
私のソースディスクには、gptブートパーティション、デフォルトの暗号化パーティション、および暗号化されたスワップパーティションがあります。

私のコンピュータはまだオンになっており、LUKSヘッダーをバックアップでき、すべてのデータと関連情報にアクセスできましたが、それを利用する方法がわかりません。

答え1

問題を解決するために最後に使用したのは、testdisk別のパーティションを識別したことです。

#main partition
/sys/class/block/nvme0n1p2/start                                                                                                                                                                      
618496
/sys/class/block/nvme0n1p2/size                                                                                                                                                                       
964420664
#Swap partition
/sys/class/block/nvme0n1p3/start                                                                                                                                                                      
965039160
/sys/class/block/nvme0n1p3/size                                                                                                                                                                       
35167740

したがって、これを念頭に置いて、ブートドライブを正しく識別する必要がありますtestdisk。これは次のとおりです。

 D EFI System                  4096     618495     614400 [EFI System Partition]

このオプションを選択して/sys/class/block
testdisk開始セクタと数の代わりに開始セクタと終了セクタを使用します。したがって、最終セクタを見つけるにはcomuteを追加する必要がありますstart+count-1

パーティションタイプとして、LinuxサブカテゴリでLuksパーティションを選択します。お待ちください。

関連情報