Clodoaldo Asked: 2025-02-10 19:46:33 +0800 CST2025-02-10 19:46:33 +0800 CST 2025-02-10 19:46:33 +0800 CST 从 Grub bash 命令行启动 772 Fedora 41 系统在内核升级期间崩溃,我留下了 Grub 救援提示 然后我尝试从 Grub bash 启动 然后它会要求输入加密根分区的密码 并且无法挂载 /sysroot 我错过了什么? 编辑 正如@telcoM 回答所指出的,加密分区位于 /dev/mapper。 但我仍然无法挂载它,因为它是 lvm 卷组的一部分,并且由于此环境中没有 vgscan 和 lvdisplay,我找不到正确的逻辑卷。 该怎么办? fedora 1 个回答 Voted Best Answer telcoM 2025-02-10T20:56:17+08:002025-02-10T20:56:17+08:00 您将其指定root=/dev/nvme0n1p3为启动参数,并且看起来 initramfs 现在正在尝试执行您命令的操作并将其作为根文件系统挂载。 但是加密分区不能直接这样挂载:而是必须使用未锁定映射层的设备名称。该名称似乎是/dev/mapper/luks-a57f4674-ced2-4e16-9fc1-1892ac175764,它又是一个LVM2_member,或者换句话说,一个 LVM 物理卷。 在 initramfs 环境中,有一个技巧:所有 LVM 命令都打包成单个lvm二进制文件,作为子命令。要找出 LVM 逻辑卷名称,您应该运行lvm lvs或lvm lvdisplay...尽管您可能需要lvm vgchange -ay先运行以激活任何可用的卷组。如果您需要vgscan,那将是lvm vgscan,分别是。 RHEL/Fedora 使用启动选项rd.luks.uuid=和rd.lvm.lv=。因此,假设您的 LVM 卷组名为fedora,根逻辑卷名为root,则您需要在加密的 LVM 逻辑卷上完整指定根文件系统的启动参数将是: rd.luks.uuid=luks-a57f4674-ced2-4e16-9fc1-1892ac175764 rd.lvm.lv=fedora/root root=/dev/mapper/fedora-root 根据SuperUser.SE 上的这个答案,可以将rd.luks.uuid=选项的值截断为最短的无歧义前缀,因此您无需完整输入它。 您可能还需要指定交换逻辑卷的激活(使用rd.lvm.lv=fedora/swap或类似)以避免出现有关丢失交换分区的错误消息。
您将其指定
root=/dev/nvme0n1p3
为启动参数,并且看起来 initramfs 现在正在尝试执行您命令的操作并将其作为根文件系统挂载。但是加密分区不能直接这样挂载:而是必须使用未锁定映射层的设备名称。该名称似乎是
/dev/mapper/luks-a57f4674-ced2-4e16-9fc1-1892ac175764
,它又是一个LVM2_member
,或者换句话说,一个 LVM 物理卷。在 initramfs 环境中,有一个技巧:所有 LVM 命令都打包成单个
lvm
二进制文件,作为子命令。要找出 LVM 逻辑卷名称,您应该运行lvm lvs
或lvm lvdisplay
...尽管您可能需要lvm vgchange -ay
先运行以激活任何可用的卷组。如果您需要vgscan
,那将是lvm vgscan
,分别是。RHEL/Fedora 使用启动选项
rd.luks.uuid=
和rd.lvm.lv=
。因此,假设您的 LVM 卷组名为fedora
,根逻辑卷名为root
,则您需要在加密的 LVM 逻辑卷上完整指定根文件系统的启动参数将是:根据SuperUser.SE 上的这个答案,可以将
rd.luks.uuid=
选项的值截断为最短的无歧义前缀,因此您无需完整输入它。您可能还需要指定交换逻辑卷的激活(使用
rd.lvm.lv=fedora/swap
或类似)以避免出现有关丢失交换分区的错误消息。