我犯了一个小错误,我错误地删除了启动分区。使用testdisk
我能够毫无问题地恢复启动分区,但我要么误用它,要么不理解并且只用我的启动分区写入分区表。
所以现在我的系统中缺少了我的分区/
。 我找到了这个swap
伟大的吉尔斯的回答但是,
我的系统使用 EFI 并且我的分区已加密,相同的解决方案是否适用于恢复我的分区表以及我应该对加密分区使用什么分区ext4
格式swap
?
同样在超级用户提出的同一个问题中,我遇到了这样一个事实:我应该使用gdisk
扇区大小并减去 1,所有这些信息都是准确且最新的吗?
编辑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分区。等等瞧。