TLDR:BIOS 刷新导致内核崩溃,缺少初始化,包括 liveUSB,即无法使用 BootSectorFix/BootRepair 解决。如何找到初始化/重建 MBR?
今天做了一个噩梦。尝试使用主板制造商网站上的文件更新我的 BIOS,虽然“成功”了,但随后就进入了引导循环。然后我尝试刷新回我之前的 BIOS 版本,但网站上没有提供,所以我不得不返回几个版本然后再备份。BIOS 管理器似乎保存了较新的版本之一,阻止了更新,等等等等,真是一团糟。无论如何,我使用的是 v42a,然后是 50a,然后是 31、42d,现在终于是 41 稳定版了。
如果我尝试启动我的正常安装(xubuntu 5.6.5-050605-generic),它会挂起在:
杀死 run-init:无法执行‘/bin/init’:没有这样的文件或目录 /bin/sh:0:无法访问 tty;作业控制已关闭
随后有一段时间
结束内核恐慌 - 未同步:试图终止空闲任务!内核偏移:# 来自 #(重定位范围:#)
这是在我上次启动尝试期间将“init=/init”添加到 grub 中的内核选项之后,但这次我没有添加任何内容。
尝试使用恢复模式运行相同的内核(同样,未指定 init),在发现新串行设备时挂起,这是我 5 年的旧鼠标。这是我第一次遇到此问题。
尝试内核 5.3.0.46 未恢复:黑屏,无任何反应。重新启动。无响应。电源循环。
5.6.5-050605 恢复:无限期停留在“正在加载初始 ramdisk...”状态。
5.6.5-050605 恢复,“init=/init”位于 linux 行末尾:越过 ramdisk 行,
结束内核恐慌 - 不同步:请求的初始化/初始化失败(错误 -2)。
所以我猜我的初始化行是错误的。
5.6.5-050605 恢复,linux 行末尾的“init=/usr/lib/systemd/systemd”:
内核崩溃:试图终止空闲任务错误
各种线程都建议禁用安全启动,但我没有看到它已启用。还有更多建议需要启动到系统 (!) 或启动到 liveCD 的选项。我制作了一个 xubuntu 20.04 的 liveUSB,尝试不安装 Xubuntu(安全图形):
结束内核恐慌 - 未同步:未找到有效的初始化。尝试将 init= 选项传递给内核
但这是一个 liveUSB??之前感兴趣的是
Initramfs 解压失败:没有 cpio magic
这这表明问题出在 Windows 尝试自我修复并弄乱 grub/mbr 上,但我不确定。我不知道为什么这会影响 liveUSB...
这提示我的 liveUSB 版本可能存在问题,我应该尝试 Rufus 而不是 Tuxboot。刚刚试过:
一些坏消息(过快),然后进入 xubuntu 启动画面,带有旋转的圆圈,可能在 15% 处停止。这在我之前尝试 liveUSB(17.04)时发生过。然后重试时,它会挂起在与之前相同的消息上,没有 cpio magic,没有工作 init。其他选项包括检查 UEFI 固件,它会挂起并重新启动。在我有机会在第三次尝试中选择其他选项之前,它已经选择了默认选项(尝试 xubuntu)。
Initramfs 解压失败:解码失败。sda 未找到缓存模式页面 BUG:进程 plymouthd 中的页面状态不良 常规保护故障 0000 #1 SMP NOPTI Comm plyouthd 未受污染 5.4.0-26-generic 30-ubuntu(及更多)
我的机器上没有安装 5.4.0.26 内核,但也许那是 liveUSB 内核。
其他 grub2 选项 bkpbootx64.efi:
无法打开 \EFI\BOOT\grub64.efi - 未找到 无法加载映像 \EFI\BOOT\grub64.efi 未找到 Start_image 返回未找到
fwupx64:
未找到系统 BootOrder。正在初始化默认值
fwupx64.efi:恢复为 grub2 菜单
尝试 Linux 4.14 通用恢复模式:
修复递归错误但需要重启
可能来自“无法处理内核空指针指向(null)”
重新启动,相同的内核恢复模式:恐慌不同步中断中的致命异常,内核偏移。
重试 liveUSB 恢复模式:
通信交换器/8 受污染 5.4.0-26-通用
然后暂停了很长时间。不确定它是否在做什么。最终重新启动。在等待时,我研究了 Initramfs 解压解码问题,有些人建议将 nomodeset 添加到内核条目,但它在 liveUSB 的安全图形条目中默认启用。
再试一次:
错误:无法处理地址的页面错误:# PF 主管在内核模式下写访问 pf:error_code(0x)003)- 权限违规未污染内核,这次内核崩溃未同步尝试终止空闲任务,内核偏移
发现 csm 是安全启动。禁用它,尝试启动到普通 ubuntu(非 liveUSB)。在 [end trace] 处暂停一段时间然后继续;取得了一些进展:
放弃等待根文件系统设备。常见问题:... 警告!uuid=# 不存在。转到 shell!(initramfs)
我什么都没碰,回头看了看,又回到了空闲任务内核崩溃错误。重新启动,缺少初始化内核崩溃错误。尝试了默认的 xubuntu 而不安装 liveUSB,在我按下回车键之前就黑屏了(BIOS 仍然有问题?)。重新启动。尝试了同样的方法,速度更快。没有正常工作的初始化错误。因此,也许 csm/secure boot 已经修复了 initramfs 错误,但将其归结为仅缺少初始化问题,这仍然影响 liveUSB。尝试了 liveUSB 安全图形以确保万无一失,黑屏了。关闭电源,再次尝试,没有正常工作的初始化错误。
已为 SATA 启用 AHCI(即非 RAID)。在 bios 中再次禁用 csm(不确定为什么会恢复),然后再次尝试正常启动。进一步(彩色文本),
无法挂载 NFSD 配置文件系统。NFS 挂载守护进程、NFS 服务器和服务、NFSv4 ID_name 映射服务的依赖关系失败。
在“达到目标本地加密卷”后等待很长时间。时间长得像永远一样。重新启动。所以也许这是我的最后一个错误?编辑:liveUSB(包括安全图形)仍然因初始化位置错误而失败;正常的 ubuntu 在恢复模式下在“附加 scsi 磁盘”后等待很长时间,然后“放弃等待挂起/恢复设备”,然后终止初始化错误。
如果有人有任何想法,我将不胜感激。LiveUSB 解决方案和已安装的解决方案由于初始化位置错误而失败。
除了内核选项和(一次)initramfs busybox 之外,我无法在任何地方输入命令。
提前致谢。
这也终止了我安装的双启动 win10,但我想如果我能安装 xubuntu,那么我就可以担心 windows 了。
我还尝试了 Boot Repair liveUSB(在另一台机器上测试过):
无法处理 # 处的空指针取消引用
糟糕:0002 [#1] SMP
Tainted 4.13.0-16-generic ubuntu(以及更多输出)
内核崩溃、不同步、中断中发生致命异常、使用 MMI 关闭 CPU
尝试使用 ide=noidma 进行 BootRepair:
使用默认设置再次尝试 BootRepair,BootRepairDisk 会以蓝色显示一秒钟,然后:
(这个错误报告/帮助请求之所以如此糟糕,部分原因是当我第二次做同样的事情时,错误消息总是不同的)。
再次出现同样的情况,黑屏,无输出,两次。电源循环。再次回到默认错误:
重试默认的 ubuntu,其具有以下设置:
导致“试图杀死 init”类型的 init 失败:
重试,在 BIOS 中挂起。黑屏了几次,重新启动并且无法进入 BIOS。鉴于这些问题几乎肯定是由我刷新 BIOS 和扰乱 MBR 初始化位置引起的,我不愿意怀疑硬件问题,但这可能是主板问题吗?自从我组装机器以来,我遇到过罕见但间歇性的挂起,已经 RMAd 了一些内存条,但也许是其他硬件的问题?
默认 ubuntu,安全模式(“终止空闲任务”失败):
Ubuntu 4.14.174恢复:
完全没主意了。已添加悬赏。请大家帮忙。
编辑 2020-04-28
我买了一个 SATA 连接器,将 SSD(两个分区上的 Linux 和 Win10 的启动器)插入我的工作笔记本电脑,备份文件,然后就可以调查驱动器了。但我不太确定我在寻找什么迹象来表明事情出了问题。grub.cfg 的根 UUID 与 Thunar 中列出的驱动器名称相匹配。/sbin/init 是 lib/systemd/systemd 的符号链接,无法使用鼠标垫打开进行调查。没有理由认为这是“错误的”?使用 gparted,我可以“检查”启动分区:检查并修复文件系统(fat32)。不确定这是不是个好主意?做了,表现很好。运行 TestDisk:
看起来不错?安装了 Boot Repair,但好像没有选项可以分析辅助驱动器的引导扇区,而且我不想冒险弄乱我的笔记本电脑的引导扇区。用于启动修复检查的 Pastebin. 或许最重要的一点是:
=> /dev/sdb 的 MBR 中没有安装引导加载程序。
注意:sda = 没有单独启动分区的工作笔记本电脑。sdb = 来自故障机器的外部 SSD,具有单独的启动分区 (sdb1)。sdb2=xubuntu,sdb3=win10。但是:
引导扇区信息:在引导参数块中未发现错误。
但是我认为启动过程要查找的 UUID 是 aeb0822c-0854-4d06-aa9d-33986c319666,即 sdb2(xubuntu 分区),而不是 34CA-81B4(sdb1 启动分区)。但我可能完全错了,而且很可能是 100% 错了。但是 sdb1 的 grub 提示要查找 sdb2 上的长 UUID,所以这可能没问题。
sdb3 上的 os-prober 未检测到 Windows
听起来很糟糕。但这是后续的问题。然而:
操作系统#2:sdb2 上的 Ubuntu 19.10
操作系统#3:sdb3 上的 Windows
在分区中,sdb1 显示“notbiosboot”
建议修复:Boot-Repair 实用程序的默认修复将清除(以修复软件包)并重新安装 sda1 的 grub-efi-amd64-signed,使用以下选项:
sdb1/boot/efi,将执行其他修复:unhide-bootmenu-10s fix-windows-boot use-standard-efi-file restore-efi-backups
我真的根本不想弄乱 sda1。
建议修复的最后建议:请不要忘记让您的 BIOS 在 sdb1/efi/.../grub*.efi 文件上启动!
听起来很有希望?
编辑:当晚晚些时候
在将 SSD 放回去时,我注意到 CPU/DRAM 灯在某些启动尝试中闪烁。经过一番谷歌搜索,我发现这个问题以及上述启动问题的定期变化、启动缓慢、BIOS 经常挂起、黑屏等,让我想到这可能是我的启动闪烁所隐藏的硬件故障。事实上,自从我组装了这台设备以来,我就一直间歇性地挂起。移除 2 个内存条后,它启动起来非常缓慢,在启动日志中随机停了很长时间。现在从那台机器打字。将尝试调试硬件。我怀疑是主板的问题。
答案1
由于这也会影响实时环境,所以很可能是硬件问题,而不是由 Ubuntu 本身引起的。
内存模块、主板芯片组和 CPU 可能是原因。
因为这是在 BIOS 刷新之后发生的,所以我怀疑是主板或内存模块的问题。
这个问题可以通过使用已知良好的模块来解决,或者如果闪存或 BIOS 文件存在问题,则将 BIOS 重新刷新到相同或更新的版本。下载新副本并比较制造商提供的校验和。