Почему sudo grub-probe --target=cryptodisk_uuid -d /dev/sdaX
терпит неудачу? Я пробовал / dev / sda. Я пробовал на Ubuntu 16.04 и 18.04. Эта команда никогда не работает.
Это действительно работает:
sudo grub-probe -v --target=cryptodisk_uuid -d /dev/mapper/sda5_crypt
, но это кажется довольно бесполезным. Я имею в виду, что если мне нужно указать диск из / dev / mapper, он уже разблокирован, что возможно только в том случае, если я знаю, какой диск зашифрован. Разве Grub не должен искать зашифрованные диски во время загрузки, прежде чем какие-либо диски будут разблокированы?
hercules@NB2000:~$ lsblk -pf
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
├─/dev/sda1 ext4 ab5ce54d-4864-45df-9bf5-9fa6d31f452e /boot
├─/dev/sda2
└─/dev/sda5 crypto_LUKS 6a09182f-d71a-48d9-adc0-d1555cda819d
└─/dev/mapper/sda5_crypt LVM2_member GF6wWp-VBmY-yZL5-o2QB-QDR9-5H3d-GF6wWo
├─/dev/mapper/ubuntu--mate--vg-root ext4 4428cf56-5be1-4a51-8918-954ab0628cf5 /
└─/dev/mapper/ubuntu--mate--vg-swap_1
Благодарю
На самом деле, verbose
отсутствует в команде, поэтому явно не было output
, но это не совсем failed
. Давайте проверим этот факт:
$ sudo grub-probe --target=cryptodisk_uuid -d /dev/sda
$ echo $?
0
Таким образом, вывод echo $?
подтверждает, что команда была успешной, но вывод не отображается, потому что опция verbose
отсутствует.
Итак, вы должны запустить команду с опцией verbose
, чтобы отобразить вывод следующим образом:
$ sudo grub-probe --verbose --target=cryptodisk_uuid -d /dev/sda
(or)
$ sudo grub-probe -v --target=cryptodisk_uuid -d /dev/sda
Вот и все!