![从 20.04 升级到 22.04 后无法重启](https://linux22.com/image/1207670/%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%E5%90%AF.png)
由于 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 现在可以正常启动。