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

Ubuntu 21.04下kernelstub无法找到kernel或initrd镜像问题求助

Ubuntu 21.04 kernelstub配置Intel_IOMMU路径循环报错解决方案

根因说明

kernelstub默认从/etc/kernelstub/configuration配置文件统一读取内核、initrd路径,单次命令行单独指定其中一个路径参数时,会覆盖配置文件的对应值,触发另一路径读取逻辑失效;EFI分区未正确挂载也会触发同类路径找不到报错。

解决步骤

  • 确认EFI分区挂载状态
    执行命令查看挂载情况:
    df -h /boot/efi
    若提示路径不存在,先查询本机EFI分区盘符:
    sudo fdisk -l | grep EFI
    替换下方命令中{EFI分区盘符}(示例为nvme0n1p1)完成挂载:
    sudo mount /dev/{EFI分区盘符} /boot/efi
  • 备份原有kernelstub配置
    sudo cp /etc/kernelstub/configuration /etc/kernelstub/configuration.bak
  • 编辑配置文件统一指定路径与IOMMU参数
    打开配置文件:
    sudo nano /etc/kernelstub/configuration
    修改user配置段内容如下,无需单独删除原有配置,直接覆盖对应字段即可:
    "user": {
      "kernel_options": [
        "quiet",
        "splash",
        "intel_iommu=on",
        "iommu=pt"
      ],
      "esp_path": "/boot/efi",
      "setup_loader": true,
      "manage_mode": true,
      "kernel_path": "/boot/vmlinuz",
      "initrd_path": "/boot/initrd.img"
    }
    
    注:/boot/vmlinuz和/boot/initrd.img是Ubuntu默认软链接,始终指向当前生效的最新内核,无需随内核更新修改路径。若仍有路径报错,可替换为当前内核的完整绝对路径,内核版本可通过uname -r查询,示例路径为/boot/vmlinuz-5.11.0-16-generic、/boot/initrd.img-5.11.0-16-generic
  • 执行配置更新
    sudo kernelstub -c /etc/kernelstub/configuration
  • 验证配置生效
    重启系统后执行命令校验:
    sudo dmesg | grep -i iommu
    输出包含DMAR: Intel(R) Virtualization Technology for Directed I/O即为配置成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:30:00