/sbin/cryptsetup не найденный на начальной загрузке

Можно создать функцию оболочки:

gedit() { command gedit "$@" & }

или

function gedit() { command gedit "$@" & }

function ключевое слово, в теории, по крайней мере, дополнительное. Может быть необходимо, если имя функции уже определяется как псевдоним; см. этот ответ для деталей.

Сборка команды - в вызывает свой аргумент как команду, обходя любую функцию оболочки того же имени.

Добавьте определение Вашему $HOME/.bashrc таким образом, это будет настроено при запуске новой оболочки.

4
12.01.2015, 07:48
3 ответа

Очевидно, я не создавал файл /etc/crypttab. Создайте один, затем /обновить initramfs -u для исправления проблемы.

3
27.01.2020, 20:49

В Ubuntu 14.04 мне не хватало модуля ядра xts из

/etc/initramfs-tools/modules

. Другие модули, которые вы могли пропустить, могли быть следующими:

raid1
raid456
aes-x86_64
sha512-ssse3
xts
dm-mod
dm-crypt

Я обнаружил основную причину, добавив в командную строку grub (linux ) эта опция:

break=mount

, которая вызывает сброс в busybox. После этого я смог скопировать с помощью USB-накопителя (с другой машины) эти файлы на ramfs:

mkdir /boot
mount /dev/sdc1 /boot
cp cryptsetup /sbin/cryptsetup
cp libcryptsetup.so.4.0.0 /lib/libcryptsetup.so.4
cp libpopt.so.0.0.0 /lib/libpopt.so.0
cp libgcrypt.so.11.7.0 /lib/libgcrypt.so.11
cp libgpg-error.so.0.8.0 /lib/libgpg-error.so.0
/boot/cryptsetup luksOpen /dev/md10 root

(у меня также есть root-права в программном рейде, без LVM), что выдало ошибку отсутствия модуля.

Позднее мне пришла в голову хорошая идея - заранее скопировать указанные выше файлы cryptsetup в раздел / boot, чтобы вам не пришлось возиться с USB-накопителем. Другой способ - распаковать изображение initramfs один раз (заранее), например, / boot / tmp:

gzip -d < ../initrd.img-3.13.0-62-generic | cpio --extract --verbose --make-directories --no-absolute-filenames

, чтобы у вас были все рабочие библиотеки и cryptsetup, даже если ваш update-initramfs -k all -c завершился ошибкой после некоторого обновления ядра.

3
27.01.2020, 20:49

Другая проблема, которая дала мне вышеуказанное сообщение об ошибке, но после исследования (как указано выше) я получил это более конкретное сообщение об ошибке:

 cryptsetup luksOpen /dev/md10 cryptroot

 device-mapper: table: 252:0: crypt: unknown target type
 ioctl: error adding target to table

Решение: Проверьте, что /etc/crypttab имя корневого устройства (cryptroot) совпадает с /etc/initramfs-tools/conf.d/mdadm настройками. У меня был "cryptroot" в другом и "root" в другом, после синхронизации имен целевых устройств, загрузка работала как сон!

После исправления настроек выполните

update-initramfs -c -k all
2
27.01.2020, 20:49

Теги

Похожие вопросы