You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Genericx86-64机器启动Yocto自定义镜像报错求解决方案

问题分析与修复方案

错误对应问题根源

  • blk_update_request: critical medium error, dev sr0:虚拟/物理光驱(sr0)读取介质失败,大概率是镜像文件损坏或挂载异常
  • blk_update_request: I/O error on dev loop0:挂载镜像的loop设备出现读取错误,说明镜像内的文件系统存在损坏
  • INIT: Id "S0" respawning too fast:S0对应的启动脚本反复崩溃,init进程不断尝试重启,根源是文件系统异常导致脚本依赖缺失或执行失败
  • EXT4-fs warning ... error -5 reading directory block:镜像内的EXT4文件系统目录块损坏,索引节点读取失败
  • cant create directory ... read-only file system:文件系统检测到损坏后,自动切换为只读模式以保护数据

修复步骤

1. 修复镜像内的EXT4文件系统

# 1. 将镜像文件关联到loop设备
losetup -fP /path/to/your/genericx86-64.img
# 2. 查看关联的loop设备(比如/dev/loop0),执行文件系统检查
e2fsck -f /dev/loop0
# 按提示输入y确认修复,直到检查完成
# 3. 解除loop设备关联
losetup -d /dev/loop0

2. 验证镜像完整性

  • 对比镜像文件的哈希值(MD5/SHA256)与制作时的源文件哈希,确认镜像未在生成/传输过程中损坏
  • 虚拟机环境下,删除现有虚拟光驱,重新加载镜像文件;物理机则更换U盘/光驱介质重试

3. 排查INIT重启问题

文件系统修复完成后仍出现该错误时,需检查启动脚本:

  1. 挂载修复后的镜像,查看/etc/inittab文件
  2. 找到Id "S0"对应的启动项(格式类似S0:respawn:/path/to/startup-script)
  3. 手动执行该脚本,排查是否存在路径错误、依赖缺失或权限问题

4. 临时恢复可读写挂载(仅应急)

若需临时切换为可读写模式(确保文件系统已修复后执行):

mount -o remount,rw /

内容的提问来源于stack exchange,提问作者ThomasEdition

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 04:15:11