当前位置: 首页 > news >正文

Ubuntu显示No operation system found

1.当前问题

更新后,选择新内核(6.8.0-79)启动时显示“no operation system found”,而旧内核(6.8.0-78)可以正常工作。 

2.原因:

新内核的引导文件缺失或损坏​​。当更新安装新内核(6.8.0-79)时,这个过程主要做了三件事:

  1. 将新内核的镜像文件(vmlinuz-6.8.0-79-generic)放入 /boot 分区。
  2. 为新内核生成对应的初始内存盘镜像(initrd.img-6.8.0-79-generic),这个文件包含了启动初期所需的驱动和模块。
  3. 更新 GRUB 引导加载程序的配置文件,将新内核添加到启动菜单中。

错误 “no operation system found” 通常意味着 ​​GRUB 找到了菜单项,但菜单项所指向的实际文件(特别是 initrd.img)不存在或者损坏了​​。可能的原因包括:

  1. ​initrd 镜像未成功生成或已损坏​​:这是最常见的原因。在更新内核时,update-initramfs 命令可能因某种原因(如磁盘空间不足、软件包依赖问题、突然断电等)执行失败,导致 initrd.img-6.8.0-79-generic 这个关键文件没有正确创建。
  2. ​GRUB 配置错误​​:虽然概率较低,但 GRUB 的配置文件 (grub.cfg) 可能被错误地更新,指向了错误的内核文件路径。
  3. ​/boot 分区空间不足​​:如果 /boot 是一个独立的分区并且空间已满,新内核的文件可能无法完全写入,导致文件不完整。

3.解决方案:

下列方法的前提:可以使用旧内核(6.8.0-78)正常进入系统

​步骤 1:使用旧内核启动系统​
首先,在 GRUB 菜单的“advanced options”中,选择 ​Ubuntu, with Linux 6.8.0-78-generic​ 正常进入系统。

​步骤 2:重新生成新内核的引导文件​
打开终端(Ctrl+Alt+T),执行以下命令来手动为问题内核(6.8.0-79)重新生成 initrd 镜像(这里需要把问题内核的版本替换为实际情况中的版本)

sudo update-initramfs -c -k 6.8.0-79-generic
  • -c 代表创建新的 initramfs。
  • -k 指定要操作的内核版本。

然后,更新 GRUB 配置:

sudo update-grub

​步骤 3:检查并清理 /boot 分区
如果/boot 分区空间使用接近100%,需要清理一些旧的、不再使用的内核文件来释放空间。

检查 /boot 分区的空间使用情况:

df -h /boot

使用以下命令安全地移除旧内核(系统会自动保留当前正在使用的内核和最新内核):

sudo apt autoremove --purge

完成后,再次运行 sudo update-grub

​步骤 4:重启验证​
完成上述操作后,重启电脑:

sudo reboot

在重启后的 GRUB 菜单中,再次尝试选择最新的 ​Ubuntu, with Linux 6.8.0-79-generic​ 选项,应该就能正常进入系统了。

4.如果问题依旧?

如果按照上述步骤操作后,新内核仍然无法启动,那么很可能是新内核本身与硬件存在兼容性问题。在这种情况下,就继续使用旧内核拉倒吧​​。静静等待下一次内核更新。

当然了如果你比较厉害,你可以​​彻底移除问题内核并重新安装​​:

sudo apt remove --purge linux-image-6.8.0-79-generic
sudo apt install linux-image-generic
sudo update-grub

5.拓展知识:

ubuntu系统启动过程中,进入advanced option中显示四个内核选项,分别是什么意思?

以我的情况为例:

  1. ​Ubuntu, with Linux 6.8.0-79-generic​

    这是使用 ​​6.8.0-79​​ 这个最新版本内核的正常启动模式。您图片中这个选项前面有星号 *,表示它是当前默认选中的启动项。系统会使用这个内核正常加载所有服务和图形界面。
  2. ​Ubuntu, with Linux 6.8.0-79-generic (recovery mode)​

    这是上面 ​​6.8.0-79​ 新内核的​​恢复模式​​。启动后不会进入图形桌面,而是会进入一个特殊的恢复菜单,用于解决系统问题。
  3. ​Ubuntu, with Linux 6.8.0-78-generic​

    这是使用旧版本 ​​6.8.0-78​​ 内核的正常启动模式。如果最新的 79 号内核因为某种原因(如驱动程序不兼容、系统更新后出错)导致无法启动或运行不稳定,您可以​​选择这个选项​​,使用旧版内核正常启动系统。这通常能解决由于新内核引起的问题。
  4. ​Ubuntu, with Linux 6.8.0-78-generic (recovery mode)​

    这是旧版本 ​​6.8.0-78​​ 内核的​​恢复模式​。用途与第二个选项相同,只是它基于旧版内核。

为什么会有多个内核?

Ubuntu 在通过软件更新管理器安装新的内核更新时,通常会​​保留旧版本的内核​​。这是一种安全措施。当更新到新内核后,如果发现系统有硬件不兼容、无法启动、程序崩溃等问题,可以在启动时选择进入“advanced option”,然后使用旧版本的内核正常启动系统,从而绕过问题。

http://www.dtcms.com/a/388869.html

相关文章:

  • 【深度学习新浪潮】音频大模型方面有哪些最新的研究进展?
  • 第3节 创建视频素材时间线到剪映(Coze扣子空间剪映小助手零基础教程)
  • Unifi AP 网络路由取消使用 无线 Meshing
  • 计算机网络基础(四) --- TCP/IP网络结构(网络层) (上)
  • AR巡检与区块链融合:工业智能化的新引擎
  • Product Hunt 每日热榜 | 2025-09-18
  • WPF 字符竖向排列的排版格式(直排)显示控件
  • 多色零件自动化分拣与追溯系统案例和项目落地全计划
  • 自动化面试常见问题(英文版)
  • Kettle Carte 服务实战:从作业提交到日志监控全流程自动化(附 Shell 脚本)
  • 【数字展厅】数字科技展厅是怎么建设沉浸式体验的?
  • 2025网安周|美创科技多地联动,共筑数据安全防线
  • 数字大健康:一场重塑未来的健康革命,正被科技重新定义
  • 手搓一个可以自动化对比yolo模型性能曲线的工具
  • 海图科技双撕裂检测装置:筑牢矿用皮带运输安全防线
  • 32、语言模型训练全流程:从数据到模型的工程化实现
  • 打造一款支持 Mermaid 与 ECharts 的 Markdown 编辑器:基于 Vditor 的实战指南
  • 《算法闯关指南:优选算法-双指针》--07三数之和,08四数之和
  • 华为显卡部署
  • Salesforce知识点:LWC(Lightning Web Components)面试题及答案
  • 【C/C++】一文通关C/C++内存管理:动态开辟改朝换代——new/delete
  • 安卓13_ROM修改定制化-----修改rom 实现“usb安装”选项默认开启
  • Git 常用命令速查表
  • Day45 51单片机UART串口通信与数码管时钟系统
  • 企业级图像AIGC技术观察:Seedream 4.0 模型能力与应用场景分析
  • Kurt-Blender零基础教程:第2章:建模篇——第2节:什么是修改器与建模马拉松
  • fbx 导入到 blender 出现很多黑色虚线的解决方法
  • 记力扣.2779 数组的最大美丽值 练习理解
  • Day26_【深度学习(6)—神经网络NN(2)前向传播的搭建案例】
  • 古老的游戏之竞技体育