cryptroot-unlock истекает по времени с сообщением ‘Ошибка: Достигнут лимит времени ожидания askpass.’

Вопрос или проблема

Я использую Ubuntu 24.04 с полной шифрацией диска lvm на Dell Precision Tower 3620 (жесткий диск – FireCuda PCIe v4)

Я использую команду cryptroot-unlock при загрузке через SSH, чтобы разблокировать диск и запустить Ubuntu. Это успешно работало с момента установки несколько месяцев назад.

Сегодня, однако, вместо запроса, когда я запускаю cryptroot-unlock, я получаю сообщение об ошибке:

Ошибка: Время ожидания истекло при ожидании askpass

Запуская cryptroot-unlock с параметром -x с помощью ash -x /usr/bin/cryptroot-unlock, я получаю очень подробную информацию, и, похоже, команда askpass не работает, и она не получает доступ к файловому дескриптору /lib/cryptsetup/passfifo.

Я могу смоделировать команду askpass и passfifo, запустив следующее в другом терминале

cat /lib/cryptsetup/passfifo | /lib/cryptsetup/askpass "Пожалуйста, разблокируйте диск"

Но когда я повторно запускаю команду cryptroot-unlock, я получаю:

/usr/bin/cryptroot-unlock: строка 187: usleep: не найдено

Я думаю, что произошла небольшая ошибка на стороне initramfs. Я готов признать, что мне, возможно, придется переустановить ОС, однако мне интересно, есть ли способ восстановить данные, которые сейчас находятся на системе, в промежутке (кроме как вернуться назад во времени и настроить резервное копирование, я знаю, я тоже злюсь на себя).

Я был бы очень признателен за следующее:

  1. Существует ли способ вручную выполнить cryptsetup luksOpen, чтобы разблокировать мой диск?
  2. Если я подключу nvme жесткий диск к USB-порту другого компьютера с Linux (используя адаптер), смогу ли я разблокировать диск и сохранить данные оттуда?

Дополнительная информация:

Сравнив запущенные процессы с другим компьютером с аналогичной настройкой, я также заметил, что процесс /bin/plymouth ask-for-password --prompt Пожалуйста, разблокируйте диск <идентификатор диска> также не работает на моем компьютере.

Ответ или решение

Решение проблемы с ошибкой "Timeout reached while waiting for askpass" в Ubuntu 24.04

Если вы столкнулись с ошибкой Timeout reached while waiting for askpass при использовании команды cryptroot-unlock на Ubuntu 24.04, вам может потребоваться выполнить несколько шагов для диагностики и исправления данной проблемы. Ниже приведены ответы на ваши конкретные вопросы и общие рекомендации по восстановлению доступа к данным.

1. Ручной запуск cryptsetup luksOpen для разблокировки диска

Вы можете попробовать вручную разблокировать зашифрованный диск с помощью команды cryptsetup. Для этого выполните следующие шаги:

  1. Загрузитесь в режим восстановления или используйте терминал с поддержкой root (например, через Live CD/USB вашего дистрибутива Linux).

  2. Введите команду для поиска доступных зашифрованных дисков:

    sudo cryptsetup luksOpen /dev/nvme0n1 cryptroot

    Замените /dev/nvme0n1 на соответствующий идентификатор вашего устройства. Вам будет предложено ввести пароль для разблокировки.

  3. Если команда прошла успешно, вы можете смонтировать разблокированный том:

    sudo mount /dev/mapper/cryptroot /mnt
  4. Теперь вы сможете получить доступ к данным по пути /mnt.

2. Использование другого Linux-компьютера для доступа к данным

Вы также можете воспользоваться другим компьютером с Linux для восстановления данных:

  1. Снимите NVMe диск и подключите его через USB-адаптер к другому компьютеру с установленным Linux.

  2. Откройте терминал на этом компьютере и убедитесь, что диск распознается:

    lsblk
  3. Если диск определён — выполните команду для разблокировки:

    sudo cryptsetup luksOpen /dev/sdX1 cryptroot

    Замените /dev/sdX1 на правильное название диска, которое отображается в lsblk.

  4. После успешной разблокировки монтируйте раздел:

    sudo mount /dev/mapper/cryptroot /mnt
  5. Теперь вы можете увидеть файлы в /mnt и копировать их на внешний накопитель или другую папку.

Дополнительные рекомендации

  • Проверка зависших процессов: Убедитесь, что нет зависших процессов, которые могут блокировать доступ к askpass. Перезагрузите систему, если это возможно.

  • Повторная установка необходимых пакетов: Если ошибка связана с отсутствием утилиты usleep, попробуйте переустановить пакеты, отвечающие за управление паролями и шифрованием.

  • Создание резервных копий: Поскольку у вас нет резервной копии, старайтесь сохранять важные данные на внешние устройства или использовать облачные решения для резервного копирования в будущем.

Если ни один из вышеуказанных шагов не поможет вам решить проблему, может быть разумным проконсультироваться с профессиональным специалистом по восстановлению данных, чтобы избежать потери информации.

Заключение

Вы столкнулись с временной проблемой доступа к зашифрованным данным на Ubuntu 24.04, но вышеперечисленные шаги могут помочь вам восстановить доступ к вашему диску. Рекомендуется вести регулярные резервные копии и следить за состоянием системных процессов, чтобы избежать подобных неприятностей в будущем.

Оцените материал
Добавить комментарий

Капча загружается...