配置分离的 GRUB 以从 LVM ddrescued 设备运行 Linux

配置分离的 GRUB 以从 LVM ddrescued 设备运行 Linux

我获得了新的 120GB SSD,我想从我的 ddrescued 恢复我的 Linux Mint/dev/mapper/mint--vg-root

我将 SSD 拆分为 500MB sdb1 Ext4 和 119GB sdb2 LVM,就像崩溃之前一样。

然后我创建了mint-vg群组并制作了root音量。将 ddrescued Mint 映像恢复到mint--vg-root.

然后我安装了 GRUB 来安装sdb1

sudo grub-install --root-directory=/media/user/mouted_sdb1 /dev/sdb

现在,当我从 SSD 启动时,我尝试过 GRUB 黑屏how-rescue-non-booting-grub-2-Linux,但 GRUB 说我的 lvm 分区有未知的文件系统:

grub> ls (hd0,msdos <TAB>

Available partititions are

Partitition hd0,msdos1: Filesystem type ext* - Last modified .....

Partitition hd0,msdos2: No known filesystem detected - Partitition start at ....

我尝试boot-repair使用 GUI。它列出了我的mapper/mint--vg-root,但修复后我的铸币厂不在系统列表中。标记mapper/mint--vg-root为默认需要 LiveCD。

试着:

insmod lvm

在 grub 控制台中没有结果(仍然未知):

尝试过这个:

sudo grub-mkconfig -o grub.cfg

它说已/dev/mapper/mint--vg-root找到,但grub.cfg没有相关记录。

如何让 GRUB 从 lvm 加载我的 Mint?

更新:

这里有一些来自我的旧系统和新系统的启动信息摘要。在新的我没有“扩展分区”

老的:

sdb1:

File system:       ext2

Boot sector type:  -

Boot sector info: 

Operating System:  

Boot files:        /grub/grub.cfg /grub/i386-pc/core.img

sdb2:

File system:       Extended Partition

Boot sector type:  -

Boot sector info: 

sdb5:

File system:       LVM2_member

Boot sector type:  -

Boot sector info: 

薄荷-vg-根:

File system:       ext4

Boot sector type:  -

Boot sector info: 

Mounting failed:   mount: wrong fs type, bad option, bad superblock on /dev/mapper/mint--vg-root,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail or so.

薄荷-VG-swap_1:

File system:       swap

Boot sector type:  -

Boot sector info: 

新的启动信息摘要:

sdb1:

File system:       ext4

Boot sector type:  -

Boot sector info: 

Operating System:  

Boot files:        /boot/grub/grub.cfg /boot/grub/i386-pc/core.img

sdb2:

File system:       LVM2_member

Boot sector type:  -

Boot sector info: 

薄荷-vg-根:

File system:       ext4

Boot sector type:  -

Boot sector info: 

Operating System:  Linux Mint 18.1

Boot files:        /etc/fstab

解决了how-rescue-non-booting-grub-2-Linux在 GRUB 控制台中进行一些修改:

grub> set root=(lvm/mint--vg-root)
grub> linux (hd0,msdos1)/boot/vmlinuz-4.4.0-112-generic root=/dev/mapper/mint--vg-root
grub> initrd (hd0,msdos1)/boot/initrd.img-4.4.0-112-generic
grub> boot

启动后我运行了boot-repair,现在它可以工作了。

答案1

解决了how-rescue-non-booting-grub-2-Linux在 GRUB 控制台中进行一些修改:

grub> set root=(lvm/mint--vg-root)
grub> linux (hd0,msdos1)/boot/vmlinuz-4.4.0-112-generic root=/dev/mapper/mint--vg-root
grub> initrd (hd0,msdos1)/boot/initrd.img-4.4.0-112-generic
grub> boot

哪里。(hd0,msdos1)sdb1

启动后我运行了启动修复,它现在可以工作了

我还修复了 中的 UUID /etc/fstab,因为我的引导/folder是从(hd0,msdos1)分区安装的。有所有像vmlinuz...和这样的文件initrd.img可以正确启动。

答案2

我做了同样的事情,但完全避免了非 lvm 指针:

grub> set root=(lvm/mint--vg-root)
grub> linux /boot/vmlinuz-4.4.0-112-generic root=/dev/mapper/mint--vg-root
grub> initrd (hd0,msdos1)/boot/initrd.img-4.4.0-112-generic
grub> boot

最好的问候,亚历克斯

答案3

如果您使用 efi 而不是 BIOS 引导模式,则命令略有不同。除了 root lvm 分区之外,您可能还需要查找带有内核的 efi 分区。我在我的系统的 efi 分区 (hd0,gpt1) 中找到了 intrd 映像和 vmlinuz。

grub> ls
(hd0) (hd0,gpt1) (hd0,gpt2) (hd1) (hd1,gpt1) (lvm/mint_vg_root) (lvm/mint_vg_var)

grub> ls (lvm/mint_vg_root)/boot/
./ ../

grub> ls (hd0,gpt1)/
./ ../ efi/ vmlinuz-5.13.0-7620-generic initrd.img-5.13.0-7620-generic

grub> set root=(lvm/mint_vg_root) 
grub> linuxefi (hd0,gpt1)/vmlinuz-5.13.0-7620-generic root=/dev/mapper/mint_vg_root
grub> initrdefi  (hd0,gpt1)/initrd.img-5.13.0-7620-generic
grub> boot

相关内容