系统无法启动 - grub 错误:未找到磁盘 lvmid

系统无法启动 - grub 错误:未找到磁盘 lvmid

我在启动时遇到此错误:

grub 错误:未找到磁盘“lvid/caoMWu-o417-GMgh-6vFj-1qrw-iJMi-ypwm0f/Z2eotR-N0HN-nrol-3hUd-odMB-GzHy-4PrsnL”。进入救援模式..

我什至无法获取 GRUB 菜单,错误消息立即显示。

现在的情况是:我必须更换主板,因为它坏了,而且在更换后(我已经更换了相同的主板)我无法再启动。

这是我的设置:Archlinux 发行版,两个硬盘,带有 RAID1 和构建在其上的 LVM。

现在我不明白发生了什么,因为即使在更换 mb 之后,磁盘/分区的 UUID 也应该保持不变?

我可以做什么/检查来恢复系统?

下面是有关 LVM 设置的一些信息:

--- Volume group ---
  VG Name               server
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               2.73 TiB
  PE Size               4.00 MiB
  Total PE              715318
  Alloc PE / Size       715318 / 2.73 TiB
  Free  PE / Size       0 / 0   
  VG UUID               caoMWu-o417-GMgH-6vFj-1qrv-iJMi-ypwm0f


  --- Logical volume ---
  LV Path                /dev/server/boot
  LV Name                boot
  VG Name                server
  LV UUID                3Z70U8-Mc1W-aKQU-tORg-oiaT-P2kI-aYG74K
  LV Write Access        read/write
  LV Creation host, time archiso, 2015-11-06 08:51:19 +0100
  LV Status              available
  # open                 1
  LV Size                512.00 MiB
  Current LE             128
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/server/swap
  LV Name                swap
  VG Name                server
  LV UUID                z8PdBc-DZRL-zsC5-190M-nyUl-k3cn-9gaYRo
  LV Write Access        read/write
  LV Creation host, time archiso, 2015-11-06 08:51:28 +0100
  LV Status              available
  # open                 0
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/server/archroot
  LV Name                archroot
  VG Name                server
  LV UUID                Z2eotR-N0HN-nroI-3hUd-odMB-GzHy-4PrsnL
  LV Write Access        read/write
  LV Creation host, time archiso, 2015-11-06 08:52:37 +0100
  LV Status              available
  # open                 1
  LV Size                20.00 GiB
  Current LE             5120
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/server/storage
  LV Name                storage
  VG Name                server
  LV UUID                cccOsD-GBXu-pMws-e4bS-tCic-ZCFs-OstIf9
  LV Write Access        read/write
  LV Creation host, time archiso, 2015-11-06 08:52:52 +0100
  LV Status              available
  # open                 0
  LV Size                2.70 TiB
  Current LE             709046
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

/etc/fstab:

# /dev/mapper/server-archroot
UUID=c83b58a5-d4fd-4634-b6b7-1726ca6ffeb6   /           ext4        rw,relatime,data=ordered    0 1

# /dev/mapper/server-boot
UUID=1fffa9ae-ea36-4888-870e-47bd8fc16268   /boot       ext4        rw,relatime,data=ordered    0 2

# /dev/mapper/server-swap
UUID=a787eefb-692d-4d2a-9482-11196967ea62   none        swap        defaults    0 0

# /dev/mapper/server-storage
UUID=ae082954-b90a-482a-b002-e53f6f75df5a   /mnt/storage    ext4        users,rw,relatime,auto,exec,data=ordered

答案1

如果您尝试让 GRUB 在启动时解锁 LUKS2 加密卷,您将收到此错误。

截至 2020 年 12 月,GRUB 的发布版本仅支持 LUKS1 标头, 尽管上游添加了 LUKS2 支持

答案2

你有没有尝试过update-grub2

现在我不明白发生了什么,因为即使在更换 mb 之后,磁盘/分区的 UUID 也应该保持不变?

但是新的主板可以以不同的方式分配硬盘,所以现在甚至无法启动 GRUB。

答案3

看来您的主板更改了磁盘和lvs的UUID,这是很容易发生的情况。

当您进入恢复模式时,您需要运行以下命令之一:

ls -l /dev/disk/by-uuid

blkid

查找启动分区的 UUID。

如果需要的话,可以运行一下fdisk -l来帮助找出哪个是启动分区。

然后,您可以添加正确的 UUID /etc/fstab,然后就可以毫无问题地再次启动。

答案4

当我想在新驱动器上准备新的 Linux 时,我时常会遇到这种情况,因为我经常删除 2 个驱动器(Linux 和 WIN 10)。如果驱动器断开连接并放在桌子上,不会对我的系统造成任何损坏。或者说我是这么想的。我猜想,将原始驱动器放回原处会触发驱动器重命名,然后在早期启动阶段,bios/grub/无论什么都找不到它的旧名称。我认为这是一个系统错误,但我可能会被每个人抛弃,所以我不会。我也知道这是一篇旧帖子,我对此也很抱歉。对于任何让我不知道的人感到不安的事情,我深表歉意。

为了摆脱监狱的束缚,我在启动时使用 F12 并从列表中选择我想要的驱动器(它在此列表中将有一个“正确的名称”。)哎呀,我猜又是一个道歉。我意识到这并没有严格回答原来的问题,但它给了你你的系统,使你能够找出要做什么。

有人愿意提供神奇的命令来重新熟悉我的硬件及其驱动器吗?

脾气暴躁的老脾气

相关内容