如何从 grub> Minimal Bash 手动启动完全加密的发行版?

如何从 grub> Minimal Bash 手动启动完全加密的发行版?

我是新来的,我已经使用 Fedora 大约一年了,我的问题是,我已经使用 LVM 在加密硬盘上安装了 Fedora,这是我的卷组

VG          #PV #LV #SN Attr   VSize  VFree
fedora_unix   1   4   0 wz--n- 47.04g 4.00m

我的逻辑卷是

  LV   VG          Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  00   fedora_unix -wi-ao----  5.00g                                                    
  01   fedora_unix -wi-ao----  5.00g                                                    
  02   fedora_unix -wi-ao----  3.82g                                                    
  03   fedora_unix -wi-ao---- 33.21g 

lsblk 的结果是

 NAME                                            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
 sda                                               8:0    0   50G  0 disk  
 ├─sda1                                            8:1    0  976M  0 part  /boot/efi
 ├─sda2                                            8:2    0    2G  0 part  /boot
 └─sda3                                            8:3    0   47G  0 part  
    ├─fedora_unix-03                              253:0    0 33.2G  0 lvm   
    │ └─luks-62a9d691-240c-49b9-b937-f611ef79b05c 253:2    0 33.2G  0 crypt /
    ├─fedora_unix-02                              253:1    0  3.8G  0 lvm   
    │ └─luks-79810c34-a63d-43b6-80db-297d7982d66e 253:3    0  3.8G  0 crypt [SWAP]
    ├─fedora_unix-00                              253:4    0    5G  0 lvm   
    │ └─luks-c49e658c-196a-4d07-8932-24e80fd36d79 253:7    0    5G  0 crypt /home
    └─fedora_unix-01                              253:5    0    5G  0 lvm   
      └─luks-9e434ce7-2686-4f3f-9d55-b90224a1c290 253:6    0    5G  0 crypt /var

      sr0                                              11:0    1 55.3M  0 rom 

那么如何在 grub > Minimal Bash 中定义根目录?

当我写作时

grub> ls

(hd0) (hd1) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (lvm/fedora_unix-03)

(lvm/fedora_unix-02) (lvm/fedora_unix-01) (lvm/fedora_unix-00)


grub> set root=(hd1,gpt2)

grub> linuxefi /vmlinuz-4.17.2-200.fc28.x86_64  root=/dev/mapper/fedora_unix-03

grub> initrdefi /initramfs-4.17.2-200.fc28.x86_64.img

grub> boot

它无法启动,只要求输入密码,之后系统无法切换到真正的根文件系统

事实上我可以引导加密的 Ubuntu ,因为根文件系统定义为

root=/dev/mapper/ubuntu--vg-root

但就我而言,在 Fedora 中,我尝试过

root=/dev/mapper/fedora_unix-root

这是行不通的

我也尝试过

root=/dev/mapper/fedora_unix-03

它也不起作用

答案1

在我的非 luks lvm 设置中使用此模式

NAME           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda              8:0    0 978.1G  0 disk 
├─sda1           8:1    0   260M  0 part /boot/efi
└─sda2           8:2    0 977.9G  0 part 
  ├─vtb-Kali   253:0    0    50G  0 lvm  /
  ├─vtb-Bunsen 253:1    0    10G  0 lvm  
  ├─vtb-Home   253:2    0   200G  0 lvm  /home
  └─vtb-Work   253:3    0   300G  0 lvm  /home/bu5hman/Documents/work

我的 GRUB 启动顺序是在那些欢乐的时刻,当GRUB发生 splat时

set root=(/lvm/vtb-Kali)
linux /vmlinuz root=/dev/mapper/vtb-Kali
initrd /initrd.img
boot

由此看来您指向了set root错误的分区。

相信 Fedora 将 root 设置为/你的 lvm 并让 fstab 来接/boot/efi我建议你尝试一下

set root=(/lvm/fedora_unix-03)
linuxefi  /vmlinuz-4.17.2-200.fc28.x86_64  root=/dev/mapper/fedora_unix-03
initrdefi /initramfs-4.17.2-200.fc28.x86_64.img
boot

如果这不起作用,请尝试不带引导/的情况set root

set root=(lvm/fedora_unix-03)

编辑:在评论中讨论后

尝试

`set root=`  with either of the 2 options in my previous post.

调用 linuxefi 之后使用

root=/dev/mapper/luks-d2c9decd-e486-4ef3-9146-654ca2b4ec0a

相关内容