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

使用Grub 2制作OS启动ISO时遭遇grub-mkrescue报错:`mformat` invocation failed

Grub 2制作OS启动ISO时遭遇grub-mkrescue报错:mformat invocation failed

看起来你在自制操作系统的路上遇到了生成启动ISO的小障碍,我来帮你排查下问题~

首先,报错mformat invocation failed的核心原因大概率是缺少mtools工具,而且你尝试安装的命令写错了——你用了sudo apt install pacman -S mtools,这混了Debian/Ubuntu系(apt)和Arch系(pacman)的包管理语法,肯定装不上!

第一步:正确安装依赖工具

根据你的系统类型选择对应的命令:

  • 如果你用的是Ubuntu/Debian这类Debian系发行版:
    sudo apt update && sudo apt install mtools
    
  • 如果你用的是Arch/Manjaro这类Arch系发行版:
    sudo pacman -S mtools
    

除了mtools,确保你已经装全Grub2的相关组件:Debian系需要grub-pc-bin,Arch系直接装grub包即可,你已经有的xorriso是必要组件,不用再装。

第二步:验证Makefile与配置文件

  1. 检查自动生成的grub.cfg:Makefile里生成配置的逻辑没问题,但可以手动确认下临时iso/boot/grub/grub.cfg的内容,确保引号、大括号都配对,multiboot /boot/mykernel.bin的路径和你实际放入ISO的文件位置一致。
  2. 手动测试命令:先跳过Makefile,手动搭建好ISO目录结构、复制文件、创建好grub.cfg,然后直接运行:
    grub-mkrescue --output=mykernel.iso iso
    
    这样能看到更详细的报错信息,方便进一步定位问题。

额外小提示

部分系统中,grub-mkrescue可能需要指定ISO级别参数才能正常生成,你可以尝试加上--iso-level=3:

grub-mkrescue --iso-level=3 --output=mykernel.iso iso

先解决mtools的安装问题,这应该是当前最直接的突破口,祝你的自制OS顺利启动!

备注:内容来源于stack exchange,提问作者user1775440

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:30:29