Рейтинг:0

Как восстановить поврежденный жесткий диск с помощью шифрования LUKS?

флаг in

Есть жесткий диск на 1 ТБ, который каким-то образом поврежден. Насколько я знаю, у него только один раздел, и он зашифрован с помощью LUKS. Пароль известен. Раньше жесткий диск запрашивал пароль сразу после монтирования, но теперь он не монтируется автоматически, как раньше, и больше нет запроса пароля. Кроме того, устройство не отображается в списке доступных устройств в графическом интерфейсе Linux Mint.Тем не менее, его можно обнаружить лсблк, хотя сообщается, что размер раздела составляет всего ок. 140 ГБ.

То, что я сделал до сих пор, создавало изображение с тестовый диск. Изображение ок. Размер 140 ГБ, поэтому, по-видимому, не выполнялась резервная копия всего диска, который используется более чем на 90%.

Я не создавал дамп заголовков LUKS, когда диск был полностью работоспособен.

Я сделал несколько анализов и глубокий поиск разделов. Вот результат тестовый диск запусков (имейте в виду, что во время 1-го запуска диск был назначен /dev/sdc, а на следующий день/запуск он был отображен как /dev/sdb):

Чт 5 мая 10:37:39 2022
Командная строка: ТестДиск

TestDisk 7.1, утилита восстановления данных, июль 2019 г.
Кристоф ГРЕНЬЕ <[email protected]>
https://www.cgsecurity.org
ОС: Linux, ядро ​​5.4.0-109-универсальное (#123-Ubuntu SMP, пятница, 8 апреля, 09:10:54 UTC 2022) x86_64
Компилятор: GCC 9.2
ext2fs lib: 1.45.5, ntfs lib: libntfs-3g, reiserfs lib: нет, ewf lib: нет, curses lib: ncurses 6.1
/dev/sda: LBA, HPA, LBA48, поддержка DCO
/dev/sda: размер 976773168 секторов
/dev/sda: user_max 976773168 секторов
/dev/sda: native_max 976773168 секторов
Предупреждение: невозможно получить размер диска /dev/mapper/control - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop0 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop1 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop2 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop3 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop4 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop5 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop6 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop7 - 0 B - 0 секторов, размер сектора = 512
Список жестких дисков
[...]
Диск /dev/sdc — 1000 ГБ / 931 ГБ — CHS 121601 255 63, размер сектора = 512 — высокоскоростной USB3.0, FW: 2210

Тип таблицы разделов (авто): Intel
Диск /dev/sdc — 1000 ГБ / 931 ГБ — высокоскоростной USB3.0
Тип таблицы разделов: Intel

Расширенный интерфейс
Геометрия из i386 MBR: голова=255 сектор=63
check_part_i386 1 тип E8: без теста
 1 P Sys=E8 0 4 5 15188 254 42 244011008
file_pread(6,256,buffer,9335296(581/24/20)) ошибка чтения: частичное чтение
file_pread(6,1,buffer,9335312(581/24/36)) ошибка чтения: <ошибка ввода-вывода>
file_pread(6,16,buffer,9345807(581/191/10)) ошибка чтения: <ошибка ввода-вывода>
file_pread(6,1,buffer,9345807(581/191/10)) ошибка чтения: <ошибка ввода/вывода>
Образ успешно создан, но возникли ошибки чтения.

Анализ диска /dev/sdc — 1000 ГБ / 931 ГБ — CHS 121601 255 63
Геометрия из i386 MBR: голова=255 сектор=63
check_part_i386 1 тип E8: без теста
Текущая структура разделов:
 1 P Sys=E8 0 4 5 15188 254 42 244011008
Ни один раздел не является загрузочным

search_part()
Диск /dev/sdc — 1000 ГБ / 931 ГБ — CHS 121601 255 63

     Linux 0 32 33 0 97 33 4096
     LUKS 1 (размер данных неизвестен), 2097 КБ / 2048 КиБ

Результаты
   * Linux 0 32 33 0 97 33 4096
     LUKS 1 (размер данных неизвестен), 2097 КБ / 2048 КиБ

Подсказка для опытных пользователей: dmsetup можно использовать, если вы предпочитаете пока не перезаписывать таблицу разделов:
echo "0 4096 линейный /dev/sdc 2048" | dmsetup создать test0

интерфейс_записи()
 1 * Linux 0 32 33 0 97 33 4096
имитация записи!

write_mbr_i386: начиная...
write_all_log_i386: начиная...
Нет расширенного раздела

TestDisk завершился нормально.

/////// В этот день был подключен только один жесткий диск, и теперь проблемный диск отображается как /dev/sdb:

Пт 6 мая 08:45:06 2022
Командная строка: ТестДиск

TestDisk 7.1, утилита восстановления данных, июль 2019 г.
Кристоф ГРЕНЬЕ <[email protected]>
https://www.cgsecurity.org
ОС: Linux, ядро ​​5.4.0-109-универсальное (#123-Ubuntu SMP, пятница, 8 апреля, 09:10:54 UTC 2022) x86_64
Компилятор: GCC 9.2
ext2fs lib: 1.45.5, ntfs lib: libntfs-3g, reiserfs lib: нет, ewf lib: нет, curses lib: ncurses 6.1
/dev/sda: LBA, HPA, LBA48, поддержка DCO
/dev/sda: размер 976773168 секторов
/dev/sda: user_max 976773168 секторов
/dev/sda: native_max 976773168 секторов
Предупреждение: невозможно получить размер диска /dev/mapper/control - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop0 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop1 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop2 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop3 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop4 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop5 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop6 - 0 B - 0 секторов, размер сектора = 512
Предупреждение: невозможно получить размер диска /dev/loop7 - 0 B - 0 секторов, размер сектора = 512
Список жестких дисков
[...]
Диск /dev/sdb — 1000 ГБ / 931 ГБ — CHS 121601 255 63, размер сектора = 512 — высокоскоростной USB3.0, FW: 2210

Тип таблицы разделов (авто): Intel
Диск /dev/sdb — 1000 ГБ / 931 ГБ — высокоскоростной USB3.0
Тип таблицы разделов: Intel

Анализ диска /dev/sdb — 1000 ГБ / 931 ГБ — CHS 121601 255 63
Геометрия из i386 MBR: голова=255 сектор=63
check_part_i386 1 тип E8: без теста
Текущая структура разделов:
 1 P Sys=E8 0 4 5 15188 254 42 244011008
Ни один раздел не является загрузочным

search_part()
Диск /dev/sdb — 1000 ГБ / 931 ГБ — CHS 121601 255 63

     Linux 0 32 33 0 97 33 4096
     LUKS 1 (размер данных неизвестен), 2097 КБ / 2048 КиБ
Поиск раздела прерван

Результаты
   * Linux 0 32 33 0 97 33 4096
     LUKS 1 (размер данных неизвестен), 2097 КБ / 2048 КиБ

Подсказка для опытных пользователей: dmsetup можно использовать, если вы предпочитаете пока не перезаписывать таблицу разделов:
echo "0 4096 линейный /dev/sdb 2048" | dmsetup создать test0

интерфейс_записи()
 1 * Linux 0 32 33 0 97 33 4096

search_part()
Диск /dev/sdb — 1000 ГБ / 931 ГБ — CHS 121601 255 63

     Linux 0 32 33 0 97 33 4096
     LUKS 1 (размер данных неизвестен), 2097 КБ / 2048 КиБ

Результаты
   * Linux 0 32 33 0 97 33 4096
     LUKS 1 (размер данных неизвестен), 2097 КБ / 2048 КиБ

Подсказка для опытных пользователей: dmsetup можно использовать, если вы предпочитаете пока не перезаписывать таблицу разделов:
echo "0 4096 линейный /dev/sdb 2048" | dmsetup создать test0

интерфейс_записи()
 1 * Linux 0 32 33 0 97 33 4096
имитация записи!

write_mbr_i386: начиная...
write_all_log_i386: начиная...
Нет расширенного раздела

Расширенный интерфейс
Геометрия из i386 MBR: голова=255 сектор=63
check_part_i386 1 тип E8: без теста
 1 P Sys=E8 0 4 5 15188 254 42 244011008
Новые опции:
 Дамп: Нет
 Выровнять раздел: Да
 Экспертный режим: Нет

TestDisk завершился нормально.

Как вы думаете: стоит ли пытаться восстановить диск? Если да, то какие шаги/инструменты следует использовать?

user10489 avatar
флаг nc
Если размер диска отображается неправильно, либо контроллер диска неисправен, либо (что более вероятно) неправильные настройки BIOS и он пытается получить доступ к диску в неправильном режиме.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.