![从 20.04 升级到 22.04 后无法重新启动 - 是 LVM 的问题吗?](https://linux22.com/image/948464/%E4%BB%8E%2020.04%20%E5%8D%87%E7%BA%A7%E5%88%B0%2022.04%20%E5%90%8E%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%20-%20%E6%98%AF%20LVM%20%E7%9A%84%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F.png)
据我所知,我的问题与其他有相同标题的问题不同。
- 我的计算机是 HP Proliant MicroServer。
- 它运行 Ubuntu Desktop 20.04 没有任何问题,并且在我运行 do-release-upgrade 之前已经完全更新。
- Ubuntu 是这台计算机上唯一的操作系统。
- 我已经在这台计算机上设置了 LVM,主要用于 RAID。
在 do-release-upgrade 顺利完成后,我按照提示重新启动。启动过程以进入紧急模式结束。
使用 journalctl -xb 查看日志(按照紧急模式提示中的建议),我看到了许多错误,但第一个与我相关的错误是无法挂载启动分区:
: mount: /boot: wrong fs type, bad option, bad superblock on /dev/sdd1, missing codepage or helper program, or other error.
: boot.mount: Mount process exited, code=exited, status=32/n/a
在日志中再往前走一点,我看到了这一点:
: dns-clean.service: Job dns-clean.service/start failed with result 'dependency'.
: ECT4-fs (sdd1): couldn't mount as ext2 due to feature incompatibilities
我尝试运行 fsck /dev/sdd1,但它报告文件系统是干净的。
我还需要知道什么来诊断和修复升级后的系统?
此外,我已经从 HP Proliant 计算机的屏幕上转录了上述内容,但对于大量诊断来说,这将是一个繁琐且容易出错的过程。从另一台计算机复制/粘贴诊断的最佳方法是什么?如果我使用 Ubuntu Live USB 启动,我是否能够从计算机本身访问启动日志和其他诊断?如果可以,我该怎么做?
短暂性脑缺血发作,
答案1
不幸的是,直到今天我都没有时间调查这个问题,但我的问题的解决方案最终却非常简单!
如上所述,有问题的计算机使用 LVM 进行 RAID,但根分区也位于逻辑卷上。引导分区位于 sdd1 上,在升级之前,它是 ext2 格式。似乎在升级过程中,引导分区文件系统被重新格式化为 ext4但fstab 没有改变来反映这一点。
为了解决我的问题,我所要做的就是从 Live USB 启动,挂载根分区(它位于逻辑卷中,因此我使用了https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/chroot-environment-linux链接@Hannes Erven发布后,编辑我的 /etc/fstab 并将启动挂载的文件类型从 ext2 更改为 ext4。
所以,
UUID=a21e0795-3317-4436-808b-87b5e03126c5 /boot ext2 defaults 0 2
成为
UUID=a21e0795-3317-4436-808b-87b5e03126c5 /boot ext4 defaults 0 2
我想知道升级过程中是否存在一个错误,即如果启动分区的格式已过时,它会更新其格式,但是当该文件位于 LVM 分区上时,它不会更新 fstab?
非常感谢那些提出建议的人!