如何解决 内核启动 卡在 Starting kernel ...

很多时候,在配置内核的时候,一不小心就造成kernel无法启动,比如出现:

。。。省略。。。
Kernel image @ 0x82000000 [ 0x000000 - 0x464080 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Using Device Tree in place at 88000000, end 880094d5

Starting kernel ...

假如想解决问题,就必须知道问题出现在了哪里,因此一般通过内核启动的时候打印的信息来定位问题产生的原因。
但是如上所示,没有得到提示信息,直接悬挂在启动内核的位置上。
为解决这个提问:
这里首先想到的是打开使能early_printk,再次启动然后看是否可以得到有效的提示信息,假如仍然不可以的话,那就你直接读取缓存 ,缓存的地址为 __log_buf其地址在system.map被标记出来,我们可以找到具体的位置。具体如下:

  1. 首先去内核编译目录找到System.map文件。
  2. 接下来遭到System.map中__log_buf对应地址,执行:

cat  ./System.map | grep -n  __log_buf

如何可能得到如下结果:
64584:c0770be8 b __log_buf
此时记住c0770be8 这个数字。
3. 启动内核,内核此时卡在Starting kernel …位置。
4. 重新启动系统(注意:不要断电启动),进入UBoot命令行界面
5. 在命令行输入(数字是刚才得到的数字):

md 0xc0770be8 

6、不停的敲击回车键,直到为全为0

通过此方法就可以看到问题出现在哪个位置。

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
"Error starting kernel" 是一个常见的计算机错误信息,表示操作系统无法启动或加载内核kernel)。内核是操作系统的核心组件,控制计算机的硬件和软件资源,因此该错误可能会导致系统无法正常启动。 这种错误可能有多种原因,包括: 1. 操作系统文件损坏:可能是由于病毒或意外故障导致系统文件出现损坏,从而导致无法正确加载内核。 2. 硬件故障:可能是硬件组件(例如硬盘驱动器或内存)损坏,导致内核无法加载。 3. 软件冲突:某些安装的软件或驱动程序可能与内核冲突,导致启动错误。 4. 系统配置错误:操作系统的配置文件可能被错误地修改,导致内核无法正确启动。 要解决这个问题,可以尝试以下几个步骤: 1. 重新启动计算机:有时候这个错误可能只是暂时的,重新启动计算机可能能够解决问题。 2. 检查硬件:检查计算机硬件是否正常工作,特别是内存和硬盘驱动器。如果有故障,可能需要更换或修复硬件。 3. 进入安全模式:在计算机启动时,尝试进入安全模式。这将允许你以最小的驱动程序和服务启动系统,从而更容易找到问题所在。 4. 修复操作系统:使用操作系统的安装光盘或恢复分区,尝试修复操作系统的文件和配置。 5. 寻求专业帮助:如果以上方法无效,可能需要寻求专业计算机技术人员的帮助,他们可能能够诊断和修复问题。 总之,“error starting kernel”是一个指示计算机无法启动或加载内核的错误信息,可能是由于文件损坏、硬件故障、软件冲突或系统配置错误引起的。通过重新启动计算机、检查硬件、进入安全模式、修复操作系统或寻求专业帮助,可以尝试解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值