[Boot/Shutdown] 删了旧内核和对应headers文件之后没有更新引导,开机掉initramfs
Tofloor
poster avatar
Aurora
deepin
17 hours ago
Author

用livecd进去看见

[新建文本.txt]()

求助如何处理

Reply Favorite View the author
All Replies
avatar
罐子
Moderator
16 hours ago
#1

chroot进去更新引导

Reply View the author
avatar
Aurora
deepin
16 hours ago
#2
罐子

chroot进去更新引导

怎么改

Reply View the author
avatar
玲泷沙.spark
deepin
15 hours ago
#3

搜grub 引导系统。

grub> root (hd0,1) #设置根分区
grub> kernel /boot/vmlinuz-2.6.15-26-386 #引导内核
grub> initrd /boot/initrd.img-2.6.15-26-386 #引导内核
grub> boot

Reply View the author
avatar
玲泷沙.spark
deepin
15 hours ago
#4

给你AI一下

你遇到 chroot: failed to run command ‘/bin/bash’: No such file or directory 的原因是:Deepin 25 社区版使用了 OSTree 作为其底层文件系统架构(类似于 Fedora Silverblue 或 Endless OS)。

当你直接挂载根分区 (/dev/nvme0n1p4) 到 /mnt 时,你看到的是 OSTree 的 sysroot 结构,而不是一个可以直接 chroot 的完整传统 Linux 根文件系统。真正的系统文件被部署在 /ostree/deploy/... 的特定版本目录中。

要正确进入 chroot 环境,你需要将目标指向那个具体的 OSTree 部署目录,并重新绑定虚拟文件系统。请按照以下步骤操作:

步骤 1:定义正确的部署目录路径

根据你之前的 ls 输出,当前活跃的部署目录是那个长哈希值的文件夹。我们将其设为变量以便操作:

TARGET="/mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3"

步骤 2:将必要的系统目录绑定挂载到该目标路径

之前你挂载到了 /mnt,现在需要挂载到 $TARGET

for i in /dev /proc /sys /run; do mount --bind $i $TARGET$i; done

步骤 3:进入 chroot 环境

现在可以成功进入系统了:

chroot $TARGET /bin/bash

💡 附加建议:如果你是为了修复 GRUB 或内核

进入 chroot 后,由于 OSTree 的特殊性,/boot/boot/efi 可能还没有被正确挂载。如果你需要运行 update-grub 或修复引导,请在 chroot 内部 执行以下命令挂载它们:

# 在 chroot 内部执行:
mount /dev/nvme0n1p2 /boot
mount /dev/nvme0n1p1 /boot/efi

# 然后你可以执行你需要的修复命令,例如:
# update-grub
# grub-install /dev/nvme0n1

步骤 4:退出与清理

完成修复后,按以下顺序安全退出并卸载:

# 1. 退出 chroot
exit

# 2. 如果在 chroot 内挂载了 boot,先卸载它们
umount /mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3/boot/efi
umount /mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3/boot

# 3. 卸载虚拟文件系统
umount /mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3/run
umount /mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3/sys
umount /mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3/proc
umount /mnt/ostree/deploy/deepin/deploy/25092c6ca956159489c0ec34113934a74a8880783a9715f086cc8fdcf753d6ee.3/dev

# 4. 最后卸载物理分区
umount /mnt/boot/efi
umount /mnt

如果你在 chroot 后遇到其他特定问题(如网络、特定命令报错),请随时告诉我!

Reply View the author