【到最后看解决方案】
我有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-repair
GUI重新安装 grub
正如这里所解释的:https://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/。它告诉我找不到软件包grub-efi
或grub-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
但一切都没有改变。
参考:
- https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows
- https://help.ubuntu.com/community/Grub2/Installing#Purging_.26_Reinstalling_GRUB_2
- https://superuser.com/questions/903112/grub2-install-this-gpt-partition-label-contains-no-bios-boot-partition
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
参考:
- https://www.addictivetips.com/ubuntu-linux-tips/fix-a-bad-hard-drive-on-linux/
- https://askubuntu.com/questions/642504/ubuntu-14-04-is-not-booting-normaly-after-a-manual-hard-boot/642789#642789
更新。
在 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。
参考: