为什么 grub-probe 命令失败?

为什么 grub-probe 命令失败?

为什么会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

谢谢

答案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

这就对了!

相关内容