将我的系统从 21.10 升级到 22.04 后,它无法再启动。
首先让我描述一下我的设置:我确实有两个 SSD 组合在 Raid 0(英特尔快速存储技术)中。这是我安装主系统的地方。有一个 fat32 启动分区(EFI 系统分区),其余的是用于根文件系统的 ext4 分区。我在 raid 阵列之外还有一个 HDD,仅用于数据和备份。
这个设置运行良好很长一段时间并且经受住了多次 Ubuntu 升级。
现在,在启动系统时,我收到系统放弃等待根文件系统设备的消息。它还告诉我 ext4 分区的 UUID,这实际上是正确的。然后系统返回到 initramfs shell。
在 shell 中我实际上可以看到组装了某种 raid 设备。我有 /dev/md126 和 /dev/md127。
但是当我尝试将 /dev/md127 挂载到新创建的目录时,我只收到如下错误消息:
EXT4-fs (md127): unable to read superblock
现在,有人可能会认为设备或至少 RAID 阵列已损坏。但事实并非如此。我使用 Ubuntu 的 live usb 版本(也是 22.04)来启动我的机器。系统也无法即时识别 RAID 阵列。但在运行以下命令后,它可以正常工作:
sudo partprobe /dev/mapper/isw_bbfdhiijgj_SSD
运行此程序后,我可以立即使用 nautilus 浏览整个文件系统,没有任何问题。所有文件都在那里并且可以正常工作。此时,我还可以验证启动过程中使用的 UUID 是否正确。
到目前为止,我为解决这个问题所尝试的方法:
- 使用了启动修复,但没有什么效果
- 进入系统,卸载,重新安装,更新 grub 配置,重建 initramfs
到目前为止,这些都没有成功。
那么,我该怎么做才能修复启动过程?
答案1
编辑#2:我遇到了可能类似的问题,但我能够通过启动修复来解决它。
我相信我可能遇到了和你一样的问题,但我有点卡住了。我对 Ubuntu 不是很了解,但我也使用 initramfs 并且有一个 Intel RAID 1。我刚刚检查了 /etc/fstab,它确实有我认为正确的信息:
/dev/mapper/isw_chjfachhgg_ARRAY1 / ext4 错误-重新安装-ro 0 1
但是,我不确定是否需要做一些额外的事情才能真正从这个驱动器启动。我能够启动到 USB,驱动器上的所有内容看起来都很好。
这是在尝试从 20.04 升级到 22.04 后发生的。升级过程中出现了一些消息,可能是某些东西没有正确安装。我现在要尝试启动修复,看看能否修复它。如果有人能提出建议,我将不胜感激;当然,这发生在我计划忙碌的工作周末时。
答案2
只是一个小小的更新:我仍然无法让机器从 raid 阵列启动。
然而,我现在已经复制了全部使用 rsync -a 将 raid 阵列中的数据复制到我的 HDD,chroot 到复制的系统,运行 update-grub,然后运行 grub-install。完成此过程后,我能够启动 HDD 上的“旧”系统,尽管速度非常慢(从 2xSSD raid0 到旋转磁盘 HDD...),但运行得相当好。
因此,这并不能完全解决无法从 raid 阵列启动的实际问题,但至少我的系统和数据恢复正常运行。也许这也会帮助其他遇到同样问题的人。
答案3
在英特尔 bios raid 0 上的不同 LVM 分区上安装了 Windows、Fedora 和 Ubuntu 的系统上也存在类似问题。从 Ubuntu 20.04 升级到 22.04 后,系统无法启动到 ubuntu 22.04(其他操作系统仍可正常启动)。它进入了 initramfs shell。
我尝试了很多次,尝试从 Live CD 修复启动和 grub,但都不起作用。在安装后、重新启动之前,在 shell 中一切看起来都很好,但是重新启动后,即使在 Live CD 中也无法正确识别分区。
我最终删除了其他操作系统,并停止使用 lvm,看看是否给予 ubtunu 完全控制权并保持简单会起作用。没有运气。看来 22.04 在 Bios raid 方面有些问题。