移动根分区后,Ubuntu 冻结启动

移动根分区后,Ubuntu 冻结启动

【到最后看解决方案】
我有Ubuntu和Windows 10双启动系统。我用GParted放大并移动了(向左)Ubuntu的“/”分区。

当我启动系统时,我可以正确地看到 grub 菜单,我可以从中选择 Ubuntu 或 Windows 10。Windows 运行良好,而当我尝试启动 Linux 时,它会卡在黑屏上。我尝试在恢复模式下启动内核,但在打印以下内容后它冻结了:

Loading Linux 5.4.0-65-generic ...
Loading initial ramdisk ...

我猜分区数据没有损坏。您知道比重装系统更好的解决方案吗?


更新
我已经从实时 USB 执行了启动修复,以生成 Bootinfo 摘要报告(如 @oldfred 所建议):https://paste.ubuntu.com/p/wn3XRs94Jq/

我也尝试过以下3种策略,但没有成功。

1. 从boot-repairGUI重新安装 grub

正如这里所解释的:https://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/。它告诉我找不到软件包grub-efigrub-efi-amd64-signed.
参考

2. 从航站楼出发:

挂载 root 和 efi 分区(是的,我有一个单独的 efi 分区)并从 live usb Ubuntu 导入有用的分区

sudo mount /dev/nvme0n1p3 /mnt
for i in /sys /proc /run /dev /var /lib /usr /etc; do sudo mount --bind "$i" "/mnt$i"; done
sudo mount /dev/nvme0n1p1 /mnt/boot/efi

根分区中的 chroot

sudo chroot /mnt

重新安装 grub (efi)。
由于我是从 Ubuntu 根分区执行此操作(感谢 chroot),因此它也可以正确识别 Windows 操作系统。

sudo apt-get update
sudo apt-get purge grub-common
sudo apt-get install grub-efi-amd64
sudo update-grub
grub-probe -t device /boot/grub
sudo grub-install /dev/nvme0n1p1 # also tried with /dev/nvme0n1
sudo update-grub

但一切都没有改变。
参考

3.来自GParted live USB

  • 对 Ubuntu 根分区 /dev/nvme0n1p13 执行“检查”(通过)
  • sudo fsck /dev/nvme0n1p3 -y
  • sudo e2fsck -C0 -p -f -v /dev/nvme0n1p3
  • sudo e2fsck -f -y -v /dev/nvme0n1p3

参考


更新
在 chroot 中从实时 USB 重新安装内核后,在恢复模式下启动时会收到内核恐慌日志。
最后几行是:

0.4762681 eun: security.SMACK64TRANSMUTE

0.477044] eun: security.SMACK64MMAP 0.477951) eun: security.apparnor

0.4787371 eun: security. ina

8.479513] eum: security.capability

0.4802771 eum: HMAC attrs: 0x1

0.4819921 PM: Magic number: 13:566:676 0.482765] vtconsole vtcon1: hash matches

0.4837521 rtc_chos 00:01: setting system clock to 2021-11-06T09:39:59 UTC (1636191599) 0.4848431 md: Maiting for all devices to be available before autodetect

0.485623] nd: If you don't use raid, use raid-noautodetect 0.486981) nd: Autodetecting RAID arrays.

0.4877591 nd: autorun ...

0.488526] md: ... autorun DONE.

0.4893201 UFS: Cannot open root device "UUID-b13c4a4c-9205-4547-83d8-641391500749" or unknown-block(0,0): error -6

8.4903641 Please append a correct "root=" boot option: here are the available partitions: 0.4911841 Kernel panic - not syncing: UFS: Unable to mount root fs on unknown-black(0,0)

8.4919711 CPU: 1 PID: 1 Conn: suapper/0 Not tainted 5.4.0-65-generic #73-Ubuntu 8.4927551 Hardware name: Dell Inc. Inspiron 5593/09PY2G, BIOS 1.17.0 07/27/2821

0.4935341 Call Trace:

8.494659] dump_stack Ox6d/0x9a

8.4957351 panic +0x101/0x2e3

8.496847] mount block_root+0x23f/0x2e8

0.4988051 mount_root 0x38/0x3a 0.4991241 prepare_nanespace 0x13f/0x194

8.580253] kernel_init_freeable 0x231/0x255

0.5013811 ? rest_init+0xb0/0xb0

8.5825991 kernel_init+0xe/0x110

0.503723] ret_from_fork 0x1f/0x10

8.5049351 Kernel Offset: 0x24000000 from Oxffffffff81000000 (relocation range: 0xffffffff80000000-0xfffffffffffffff) 8.586156] [ end Kernel panic - not syncing: UFS: Unable to mount root fs on unknown-block(0.0) 1

注:本文是通过谷歌镜头的图片提取的。所以可能会有一些小错别字。原图是 在此输入图像描述


解决方案

最终我不得不使用 live USB 在我的根分区中重新安装一个全新的 Ubuntu,而不会丢失我的数据(这些数据位于我的 /home 分区,磁盘上的另一个分区)。对于每个尝试过的解决方案,我不断遇到错误,这让我损失了大量时间,而重新安装只花了 15 分钟。强烈建议! 我遇到的错误可能是由于我的根分区中的内核是 5.4.0-65,而 us live key 上的内核是 5.11.0。
参考:

相关内容