从 20.04 升级到 22.04 后无法重启

从 20.04 升级到 22.04 后无法重启

由于 22.04 是昨天发布的,我决定升级我的开发机器,这是一台使用 AMD 处理器的 10 年旧 HP Pavilion。升级顺利,在 1.5 小时内完成,但无法重新启动并进入紧急模式。我运行了启动修复,输出被放入以下粘贴缓冲区: http://paste.ubuntu.com/p/5bm8bNgY6y/

我有足够的磁盘空间。/只使用了 72%。

除了完整安装外,我还有十几个应用程序需要重新安装,但这会导致很多问题,也会导致很多问题,我不知道该怎么办。

我有一个双启动系统,Windows 10 在另一个分区中。Ubuntu 是主要操作系统。

请帮忙。

提前致谢。

@heynnema

fstab:

cat /mnt/etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# /boot/efi was on /dev/sda1 during installation
UUID=B444-715A  /boot/efi       vfat    umask=0077      0       1
#/swapfile                                 none            swap    sw              0       0
/bigswapfile                                 none            swap    sw              0       0
#
#
#UUID=1C1679C61679A186 /media/kevin/Windows ntfs errors=remount -ro 0 1
#
# Ubuntu on 2 tB drive /dev/sdb8
UUID=758626aa-c2cf-4faf-a16d-79370c7d3bcb /               ext4    -ro 0       1
# Windows partition on internal HDD
UUID=21BFBE168406B05D /media/kevin/Windows ntfs -ro 0 1
# / was on /dev/sda6 during installation
UUID=7425e72e-1e3e-754b-e1c1-724f00d33c98 /Ubuntu_sec ext4 -ro 0 1
#/dev/sdb3 /media/kevin/Ubuntu_data   ext4  errors=remount -ro 0 1
#/dev/sdc3 /media/kevin/Windows7 ntfs errors=remount -ro 0 1
/swapfile swap swap defaults 0 0

BLKIDD:

sudo blkid
/dev/sda1: UUID="B444-715A" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="5fb77005-5d5f-4574-a190-f0717fd137aa"
/dev/sda3: LABEL="Windows" BLOCK_SIZE="512" UUID="21BFBE168406B05D" TYPE="ntfs" PARTLABEL="WIndows_primary" PARTUUID="6e7c930c-32b3-4145-9459-33b90c964d62"
/dev/sda4: LABEL="Windows RE tools" BLOCK_SIZE="512" UUID="BE12F7A512F760B7" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="450b37ce-7747-4712-9927-69d6bb53b976"
/dev/sda5: LABEL="RECOVERY" BLOCK_SIZE="512" UUID="860E51920E517BDD" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="c789d063-9ad4-423d-9354-4f3c70558dd0"
/dev/sda6: UUID="758626aa-c2cf-4faf-a16d-79370c7d3bcb" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Ubuntu" PARTUUID="35691675-f076-4e2f-a12d-9c2e25dd6999"
/dev/sdb1: LABEL="SYSTEM" BLOCK_SIZE="512" UUID="F49C1AE3CB6928FA" TYPE="ntfs" PARTUUID="47ba187e-01"
/dev/sdb2: LABEL="Windows10_new" BLOCK_SIZE="512" UUID="3E1562AEE8601345" TYPE="ntfs" PARTUUID="47ba187e-02"
/dev/sdb5: UUID="ba8b676d-604c-7712-c178-2fe538ff9545" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="47ba187e-05"
/dev/sdb7: UUID="214e9383-fa91-4dc8-86f8-2c46725011f8" BLOCK_SIZE="4096" TYPE="ext4" PTTYPE="dos" PARTUUID="47ba187e-07"
/dev/sdb8: LABEL="Ubuntu primary" UUID="7425e72e-1e3e-754b-e1c1-724f00d33c98" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="47ba187e-08"
/dev/sdg1: UUID="45990508-f44c-4bf4-a315-b41e0cdb5c67" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c5adefda-01"
/dev/sdb6: UUID="e8e98bcc-c555-1bd7-0ef7-0733b525314c" TYPE="swap" PARTUUID="47ba187e-06"
/dev/loop1: TYPE="squashfs"
/dev/loop8: TYPE="squashfs"
/dev/loop6: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop0: TYPE="squashfs"
/dev/loop7: TYPE="squashfs"
/dev/sda2: PARTLABEL="Microsoft reserved partition" PARTUUID="57cf924b-89f1-4bd3-97a8-dadd789b4762"
/dev/loop5: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"

交换:(无输出)

swapon -s

记忆:

free -h
      Total.      Used.    Free.    Shared.    Buff/cache.   Available
Mem:  15Gi.    144Mi.   14Gi.    9.0 Mi.     285Mi.        14Gi
Swap:   0B.     0B.        0B

@heynnema 我通过注释掉交换行并将带有 -ro 的行更改为“defaults=rw”来修复 fstab。系统现在启动到 21.10,但不想升级到 22.04。它说没有可用的新版本。

感谢您的帮助。

我已获得升级并开始使用:do-release-upgrade-d @heynnema 好吧,升级进行到它说我方便时重启的地步,我照做了。但是系统在重启时冻结了。我有一个屏幕截图,解密它超出了我的能力范围。现在它显示内核恐慌:VFS:无法打开根设备“sda6”或未知的 -block (0,0):错误-6。21.10 升级似乎很正常。为什么升级到 22.04 会失败?我有一张屏幕截图,它是一个 .HEIC 图像,但无法附加。

来自 ls -al /boot 的输出,来自以前的内核,即 22.04:

ls -al /boot
total 222164
drwxr-xr-x  5 root root     4096 Apr 23 18:58 .
drwxr-xr-x 23 root root     4096 Apr 22 14:40 ..
-rw-r--r--  1 root root   257253 Mar 29 10:09 config-5.13.0-40-generic
-rw-r--r--  1 root root   260489 Mar 30 11:28 config-5.15.0-25-generic
-rw-r--r--  1 root root   237975 Apr  8 04:44 config-5.4.0-109-generic
drwx------  5 root root     4096 Dec 31  1969 efi
drwxr-xr-x  4 root root     4096 Apr 23 18:57 grub
drwxr-xr-x  5 root root     4096 Apr 22 15:28 grub.bak
lrwxrwxrwx  1 root root       28 Apr 22 15:01 initrd.img -> initrd.img-5.13.0-40-generic
-rw-r--r--  1 root root 97563363 Apr 23 18:58 initrd.img-5.13.0-40-generic
-rw-r--r--  1 root root 76596883 Apr 23 18:58 initrd.img-5.4.0-109-generic
lrwxrwxrwx  1 root root       28 Apr 22 15:01 initrd.img.old -> initrd.img-5.4.0-109-generic
-rw-r--r--  1 root root   182800 Feb  6 15:35 memtest86+.bin
-rw-r--r--  1 root root   184476 Feb  6 15:35 memtest86+.elf
-rw-r--r--  1 root root   184980 Feb  6 15:35 memtest86+_multiboot.bin
-rw-------  1 root root  5976259 Mar 29 10:09 System.map-5.13.0-40-generic
-rw-------  1 root root  6246119 Mar 30 11:28 System.map-5.15.0-25-generic
-rw-------  1 root root  4759493 Apr  8 04:44 System.map-5.4.0-109-generic
lrwxrwxrwx  1 root root       25 Apr 22 15:01 vmlinuz -> vmlinuz-5.13.0-40-generic
-rw-------  1 root root 10246688 Mar 29 10:13 vmlinuz-5.13.0-40-generic
-rw-------  1 root root 11073600 Mar 30 11:29 vmlinuz-5.15.0-25-generic
-rw-------  1 root root 13668608 Apr  8 04:45 vmlinuz-5.4.0-109-generic
lrwxrwxrwx  1 root root       25 Apr 22 15:01 vmlinuz.old -> vmlinuz-5.4.0-109-generic

lsb_release -r 版本:22.04

也许我应该编辑 grub 并将此行向上移动。这是内核 5.15.0.25

最新时间@ 晚上 9:45(美国东部时间):

ls -al /boot
total 324984
drwxr-xr-x  5 root root      4096 Apr 23 20:25 .
drwxr-xr-x 23 root root      4096 Apr 22 14:40 ..
-rw-r--r--  1 root root    257253 Mar 29 10:09 config-5.13.0-40-generic
-rw-r--r--  1 root root    260489 Mar 30 11:28 config-5.15.0-25-generic
-rw-r--r--  1 root root    237975 Apr  8 04:44 config-5.4.0-109-generic
drwx------  5 root root      4096 Dec 31  1969 efi
drwxr-xr-x  4 root root      4096 Apr 23 18:57 grub
drwxr-xr-x  5 root root      4096 Apr 22 15:28 grub.bak
lrwxrwxrwx  1 root root        28 Apr 23 20:25 initrd.img -> initrd.img-5.15.0-25-generic
-rw-r--r--  1 root root  97563363 Apr 23 18:58 initrd.img-5.13.0-40-generic
-rw-r--r--  1 root root 105285205 Apr 23 20:20 initrd.img-5.15.0-25-generic
-rw-r--r--  1 root root  76596883 Apr 23 18:58 initrd.img-5.4.0-109-generic
lrwxrwxrwx  1 root root        28 Apr 22 15:01 initrd.img.old -> initrd.img-5.4.0-109-generic
-rw-r--r--  1 root root    182800 Feb  6 15:35 memtest86+.bin
-rw-r--r--  1 root root    184476 Feb  6 15:35 memtest86+.elf
-rw-r--r--  1 root root    184980 Feb  6 15:35 memtest86+_multiboot.bin
-rw-------  1 root root   5976259 Mar 29 10:09 System.map-5.13.0-40-generic
-rw-------  1 root root   6246119 Mar 30 11:28 System.map-5.15.0-25-generic
-rw-------  1 root root   4759493 Apr  8 04:44 System.map-5.4.0-109-generic
lrwxrwxrwx  1 root root        25 Apr 22 15:01 vmlinuz -> vmlinuz-5.13.0-40-generic
-rw-------  1 root root  10246688 Mar 29 10:13 vmlinuz-5.13.0-40-generic
-rw-------  1 root root  11073600 Mar 30 11:29 vmlinuz-5.15.0-25-generic
-rw-------  1 root root  13668608 Apr  8 04:45 vmlinuz-5.4.0-109-generic
lrwxrwxrwx  1 root root        25 Apr 22 15:01 vmlinuz.old -> vmlinuz-5.4.0-109-generic

2022 年 6 月 27 日:将我的主计算机从 20.04 升级到 21.04 时,问题再次出现,这是升级到 22.04 LTS 的第一步。这次我甚至无法进入紧急模式。我只收到 grub 提示。我想我在升级过程中看到了一条恐慌消息,大意是 /dev/sda4(Ubuntu 主分区)已损坏。我可以开始列出 /etc/fstab 的内容和 lsblk 的输出,以及您上次要求我做的其他事情。我运行了两次启动修复,但并没有解决启动问题。这是两个迭代的启动信息:paste.ubuntu.com/p/JQfwPJkZvJ paste.ubuntu.com/p/gWPD9GrTZp 我会尝试研究它们,但我真的还不够了解它们,无法完全理解它们。提前感谢您的帮助。上次您说要编辑问题,但我现在看不到该选项。

我刚刚尝试修复 /dev/sda4,如下所示:sudo grub-install /dev/sda4 --efi-directory=/boot/efi --target=x86_64-efi 为 x86_64-efi 平台安装。grub-install:错误:无法获取/boot/efi'. ubuntu@ubuntu:~$ sudo grub-install /dev/sda4 Installing for i386-pc platform. grub-install: error: failed to get canonical path of/cow' 的规范路径。 sudo fdisk -l:磁盘 /dev/sda:1.82 TiB,2000398934016 字节,3907029168 个扇区 磁盘型号:WDC WD20EZAZ-00G 单位:扇区 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 4096 字节 I/O 大小(最小/最佳):4096 字节 / 4096 字节 磁盘标签类型:gpt 磁盘标识符:269D15EA-10B9-4A5E-9C29-75C578F72C80

设备 起始 结束 扇区 大小 类型 /dev/sda1 2048 34815 32768 16M Microsoft 保留 /dev/sda2 104448 1128447 1024000 500M EFI 系统 /dev/sda3 1128448 977690947 976562500 465.7G Microsoft 基本数据 /dev/sda4 977692672 1954252799 976560128 465.7G Linux 文件系统 /dev/sda5 1954252800 3797503999 1843251200 878.9G Linux 文件系统 /dev/sda6 3797504000 3899903999 102400000 48.8G Linux 交换

sudo grub-install --root-directory=/mnt/ /dev/sda 为 i386-pc 平台安装。 grub-install:警告:此 GPT 分区标签不包含 BIOS 启动分区;无法嵌入。 grub-install:警告:无法嵌入。 GRUB 只能通过使用阻止列表在此设置中安装。 但是,阻止列表不可靠,不鼓励使用。 grub-install:错误:不会继续使用阻止列表。

我现在将尝试看看是否可以启动到恢复模式。它不会进入 grub 菜单,只有 grub 提示符,因此我确定了根设备并将其设置为 root=(hd3,4),然后是 linux=/boot/vmlinuz-5.13.52 和 initrd /boot/initrd.img-5.13.52,然后是“boot”,但过了一会儿它说“未指定根文件系统”并挂在 initramfs 中。我重复了后者,但在 linux 命令中添加了“root=/dev/sda4 ro”。这次它启动了,但进入了紧急模式。

我查看了 journalctl -xb 日志,似乎 sdc 磁盘(我的外部备份)上有错误,但没有发现 sda 上有错误。

答案1

用户从 20.04 升级到 21.10 再升级到 22.04,虽然所有升级都表明成功完成,但无法启动到 22.04,尽管之前的内核启动正常。

从以下输出可以看出ls -al /boot,22.04 升级无法创建 ramdisk 文件initrd.img-5.15.0-25-通用,并且无法更新符号链接初始化系统映像

ls -al /启动

total 222164
drwxr-xr-x  5 root root     4096 Apr 23 18:58 .
drwxr-xr-x 23 root root     4096 Apr 22 14:40 ..
-rw-r--r--  1 root root   257253 Mar 29 10:09 config-5.13.0-40-generic
-rw-r--r--  1 root root   260489 Mar 30 11:28 config-5.15.0-25-generic
-rw-r--r--  1 root root   237975 Apr  8 04:44 config-5.4.0-109-generic
drwx------  5 root root     4096 Dec 31  1969 efi
drwxr-xr-x  4 root root     4096 Apr 23 18:57 grub
drwxr-xr-x  5 root root     4096 Apr 22 15:28 grub.bak
lrwxrwxrwx  1 root root       28 Apr 22 15:01 initrd.img -> initrd.img-5.13.0-40-generic
-rw-r--r--  1 root root 97563363 Apr 23 18:58 initrd.img-5.13.0-40-generic
-rw-r--r--  1 root root 76596883 Apr 23 18:58 initrd.img-5.4.0-109-generic
lrwxrwxrwx  1 root root       28 Apr 22 15:01 initrd.img.old -> initrd.img-5.4.0-109-generic
-rw-r--r--  1 root root   182800 Feb  6 15:35 memtest86+.bin
-rw-r--r--  1 root root   184476 Feb  6 15:35 memtest86+.elf
-rw-r--r--  1 root root   184980 Feb  6 15:35 memtest86+_multiboot.bin
-rw-------  1 root root  5976259 Mar 29 10:09 System.map-5.13.0-40-generic
-rw-------  1 root root  6246119 Mar 30 11:28 System.map-5.15.0-25-generic
-rw-------  1 root root  4759493 Apr  8 04:44 System.map-5.4.0-109-generic
lrwxrwxrwx  1 root root       25 Apr 22 15:01 vmlinuz -> vmlinuz-5.13.0-40-generic
-rw-------  1 root root 10246688 Mar 29 10:13 vmlinuz-5.13.0-40-generic
-rw-------  1 root root 11073600 Mar 30 11:29 vmlinuz-5.15.0-25-generic
-rw-------  1 root root 13668608 Apr  8 04:45 vmlinuz-5.4.0-109-generic
lrwxrwxrwx  1 root root       25 Apr 22 15:01 vmlinuz.old -> vmlinuz-5.4.0-109-generic

在这里,我们手动创建了 ramdisk 文件,更新了符号链接,并使用以下命令更新了 GRUB:

sudo update-initramfs -c -k 5.15.0-25-generic

cd /boot

sudo ln -s initrd.img-5.15.0-25-generic initrd.img

sudo update-grub

reboot

您可以在以下输出中看到变化ls -al /boot

ls -al /启动

total 324984
drwxr-xr-x  5 root root      4096 Apr 23 20:25 .
drwxr-xr-x 23 root root      4096 Apr 22 14:40 ..
-rw-r--r--  1 root root    257253 Mar 29 10:09 config-5.13.0-40-generic
-rw-r--r--  1 root root    260489 Mar 30 11:28 config-5.15.0-25-generic
-rw-r--r--  1 root root    237975 Apr  8 04:44 config-5.4.0-109-generic
drwx------  5 root root      4096 Dec 31  1969 efi
drwxr-xr-x  4 root root      4096 Apr 23 18:57 grub
drwxr-xr-x  5 root root      4096 Apr 22 15:28 grub.bak
lrwxrwxrwx  1 root root        28 Apr 23 20:25 initrd.img -> initrd.img-5.15.0-25-generic
-rw-r--r--  1 root root  97563363 Apr 23 18:58 initrd.img-5.13.0-40-generic
-rw-r--r--  1 root root 105285205 Apr 23 20:20 initrd.img-5.15.0-25-generic
-rw-r--r--  1 root root  76596883 Apr 23 18:58 initrd.img-5.4.0-109-generic
lrwxrwxrwx  1 root root        28 Apr 22 15:01 initrd.img.old -> initrd.img-5.4.0-109-generic
-rw-r--r--  1 root root    182800 Feb  6 15:35 memtest86+.bin
-rw-r--r--  1 root root    184476 Feb  6 15:35 memtest86+.elf
-rw-r--r--  1 root root    184980 Feb  6 15:35 memtest86+_multiboot.bin
-rw-------  1 root root   5976259 Mar 29 10:09 System.map-5.13.0-40-generic
-rw-------  1 root root   6246119 Mar 30 11:28 System.map-5.15.0-25-generic
-rw-------  1 root root   4759493 Apr  8 04:44 System.map-5.4.0-109-generic
lrwxrwxrwx  1 root root        25 Apr 22 15:01 vmlinuz -> vmlinuz-5.13.0-40-generic
-rw-------  1 root root  10246688 Mar 29 10:13 vmlinuz-5.13.0-40-generic
-rw-------  1 root root  11073600 Mar 30 11:29 vmlinuz-5.15.0-25-generic
-rw-------  1 root root  13668608 Apr  8 04:45 vmlinuz-5.4.0-109-generic
lrwxrwxrwx  1 root root        25 Apr 22 15:01 vmlinuz.old -> vmlinuz-5.4.0-109-generic

我们还编辑了 /etc/fstab 来纠正 /swapfile 的问题。

Ubuntu 22.04 现在可以正常启动。

相关内容