У меня есть внешний жесткий диск, который разделен на два раздела: exFAT на 700 ГБ и раздел LUKS на 300 ГБ. Я копировал со своего компьютера в раздел luks, но он замедлялся и зависал, поэтому я решил удалить USB-соединение. Теперь раздел LUKS не монтируется и заполнен важными файлами :( Как я могу это исправить? Вот два вывода:
$ sudo parted -l
Model: ********** (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Sinalizador
1 1049kB 300GB 300GB primary
2 300GB 1000GB 700GB primary
$ sudo fsck /dev/sdb
fsck from util-linux 2.28.2
e2fsck 1.43.3 (04-Sep-2016)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193
or
e2fsck -b 32768
Found a dos partition table in /dev/sdb
Пожалуйста, помогите!
Править
Я следил за этим и попытался восстановить в резервную копию суперблока.Используя это, я нашел все резервные копии:
$ sudo mke2fs -n /dev/sdb
mke2fs 1.43.3 (04-Sep-2016)
Found a dos partition table in /dev/sdb
Proceed anyway? (y,n) y
Creating filesystem with 244189952 4k blocks and 61054976 inodes
Filesystem UUID: ***************************
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Я пытался восстановить каждый из перечисленных номеров блоков, но он всегда предлагал мне одну и ту же ошибку, например:
$ sudo e2fsck -b 32768 /dev/sdb
e2fsck 1.43.3 (04-Sep-2016)
e2fsck: Bad magic number in super-block while trying to open /dev/sdb
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193
or
e2fsck -b 32768
Found a dos partition table in /dev/sdb
Хорошо, проверьте, не поврежден ли ваш LUKS-заголовок:
cryptsetup luksDump /dev/sdb2
Если вы получили сообщение об ошибке, извините, но если у вас нет резервной копии вашего заголовка LUKS, ваши важные файлы не могут быть восстановлены.
Если у вас есть резервная копия заголовка LUKS, вы можете восстановить ее:
cryptsetup luksHeaderRestore /dev/sdb2 --header-backup-file somefile
Я предлагаю начать с аппаратного уровня. Отображает ли /var/log/messages какие-либо ошибки, связанные с диском -? Например, сам кабель или диск могут быть основной причиной этих проблем. Проблема в том, что если это аппаратная проблема, то, скорее всего, она повторится снова, даже если последующая авария будет устранена.
fsck
не на тот узел устройства. Поскольку ваш /dev/sdb
диск разбит на разделы, вам никогда не следует запускать инструменты восстановления файловой системы на -всем дисковом устройстве/dev/sdb
-только на фактических разделах.
Но поскольку ваш /dev/sdb2
является зашифрованным разделом LUKS, запускать fsck
на sdb2
совершенно бесполезно, -поскольку раздел зашифрован, содержимое sdb2
будет практически неотличимо от случайного шума, за исключением из заголовка LUKS. Это шифрование делает свое дело.
Вместо этого вы должны сначала разблокировать шифрование с помощью:
cryptsetup luksOpen /dev/sdb2 sdb2_crypt
Должен быть запрошен пароль для шифрования. Если команда выполнена успешно, будет создан еще один узел устройства :/dev/mapper/sdb2_crypt
. Используя это устройство и только это устройство, вы сможете получить доступ к содержимому зашифрованного раздела через «фильтр» шифрования/дешифрования LUKS, что сделает его похожим на обычное незашифрованное устройство. Когда вы выключите систему или используете cryptsetup luksClose
для блокировки шифрования, это устройство исчезнет до тех пор, пока шифрование не будет снова разблокировано.
Это включает проверку файловой системы:
fsck /dev/mapper/sdb2_crypt
Аналогично, при монтировании зашифрованного раздела необходимо использовать /dev/mapper/sdb2_crypt
устройство, а не необработанное, зашифрованное /dev/sdb2
.