![内核降级,未找到 UUID initramfs](https://linux22.com/image/1170410/%E5%86%85%E6%A0%B8%E9%99%8D%E7%BA%A7%EF%BC%8C%E6%9C%AA%E6%89%BE%E5%88%B0%20UUID%20initramfs.png)
我有一个新安装的 18.04 盒子。已安装更新并重新启动。它运行内核 4.15.0-74,没有问题:
root@restore:~# uname -a
Linux restore 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
但由于与第三方供应商不兼容,我不得不将内核降级到 4.15.0-72。因此...我安装了该软件包并重新启动进入该内核。
然而..我立即被带回到 initramfs,之后它告诉我:
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing moduiles (cat /proc/modules; ls /dev)
ALERT! UUID=2e897a65-bbcc-426d-a72e-8aca96121c80 does not exist. Dropping to a shell!
UUID 正确:
root@restore:~# blkid /dev/sda2
/dev/sda2: UUID="2e897a65-bbcc-426d-a72e-8aca96121c80" TYPE="ext4" PARTUUID="22caffaa-6efd-406b-acba-dbd8a53c72d1"
我已经在 grub 配置中添加了 rootdelay=60,再次运行 update-grub,但没有成功。
root@restore:~# cat /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="noresume rootdelay=60"
GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
GRUB_TERMINAL=console
我还重新生成了 initrd 并再次运行 update-grub。没有运气。
root@restore:~# update-initramfs -c -k 4.15.0-72-generic
update-initramfs: Generating /boot/initrd.img-4.15.0-72-generic
可以找到更详细的输出:https://pastebin.com/8PEwkh05
fstab 的内容如下:
root@restore:~# cat /etc/fstab
UUID=2e897a65-bbcc-426d-a72e-8aca96121c80 / ext4 defaults 0 0
/swap.img none swap sw 0 0
我是不是忽略了某些显而易见的东西?硬件是 QEMU VM。我能够在从安装 ISO 构建的每个 VM 上重现这一点。
答案1
关于: ”我能够在从安装 ISO 构建的每个 VM 上重现此操作。“
这是标准的 Ubuntu .iso,还是“某些自定义的” .iso(我怀疑是)?
在查看你的日志时, 我懂了...
/usr/share/initramfs-tools/scripts/local-premount/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/init-premount/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/panic/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/local-block/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/local-top/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/init-bottom/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/init-top/ORDER ignored: not executable
/usr/share/initramfs-tools/scripts/local-bottom/ORDER ignored: not executable
您可能希望查看这些内容。
另外,在您的 /etc/fstab 中, 我懂了...
UUID=2e897a65-bbcc-426d-a72e-8aca96121c80 / ext4 defaults 0 0
而且它应该是……
UUID=2e897a65-bbcc-426d-a72e-8aca96121c80 / ext4 errors=remount-ro 0 1
在 /etc/default/grub 中, 我懂了...
GRUB_CMDLINE_LINUX_DEFAULT="noresume rootdelay=60"
GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
为什么需要这些参数?