Arch Linux更新后mkinitcpio -P报错error的解决
Arch Linux更新后进行mkinitcpio应该是SOP标准操作虽然我记住这个也是因为某次更新kernel之后再启动纯黑屏grub引导都没进去给我吓一跳。今天我sudo pacman -Syu之后mkinitcpio -P发现报错问了DeepSeek之后发现给的解决方式有点怪于是我在这记录一下我的解决方法1. 操作及报错情况[yinyouarchlinux ~]$ mkinitcpio-PBuilding image from preset: /etc/mkinitcpio.d/linux-lts.preset:defaultUsing default configuration file:/etc/mkinitcpio.conf--k/boot/vmlinuz-linux-lts-g/boot/initramfs-linux-lts.imgERROR: Invalid option-g--/boot/initramfs-linux-lts.imgmust be writableBuilding image from preset: /etc/mkinitcpio.d/linux-surface.preset:defaultUsing default configuration file:/etc/mkinitcpio.conf--k/boot/vmlinuz-linux-surface-g/boot/initramfs-linux-surface.imgERROR: Invalid option-g--/boot/initramfs-linux-surface.imgmust be writable2. DeepSeek建议的排查思路DeepSeek这个错误说得很清楚mkinitcpio 无法写入 /boot/ 目录因为它没有写权限或者 /boot 分区已满或文件系统处于只读状态。一、先确认 /boot 分区的状态运行以下命令查看 /boot 分区的挂载情况mount|grep/boot你会看到类似vfat 或 ext4 → 这是 /boot 的文件系统类型但还需要检查挂载状态。 如果输出中出现 roread-only说明分区当前是只读状态。接着检查 /boot 是否写满df-h/boot如果 Use% 显示为 100% 或接近满就说明磁盘空间不足这就是 mkinitcpio 无法写入新镜像的原因。对于 EFI 系统来说/boot 通常是 vfat 分区容量较小一般在 100MB 到 1GB 之间。如果旧的内核镜像文件如 initramfs-linux-lts.img 和 initramfs-linux-surface.img没有被清理很容易填满。3. 我的解决思路我没看懂但好像是权限不够那我直接sudo试试[yinyouarchlinux ~]$sudomkinitcpio-P[sudo]yinyou 的密码Building image from preset: /etc/mkinitcpio.d/linux-lts.preset:defaultUsing default configuration file:/etc/mkinitcpio.conf--k/boot/vmlinuz-linux-lts-g/boot/initramfs-linux-lts.imgStarting build:6.18.39-1-lts-Running build hook:[base]-Running build hook:[systemd]-Running build hook:[autodetect]-Running build hook:[microcode]-Running build hook:[modconf]-Running build hook:[kms]-Running build hook:[keyboard]-Running build hook:[sd-vconsole]-Running build hook:[block]-Running build hook:[filesystems]-Running build hook:[fsck]Generating module dependenciesCreating zstd-compressed initcpio image:/boot/initramfs-linux-lts.img-Early uncompressed CPIO image generation successfulInitcpio image generation successfulBuilding image from preset: /etc/mkinitcpio.d/linux-surface.preset:defaultUsing default configuration file:/etc/mkinitcpio.conf--k/boot/vmlinuz-linux-surface-g/boot/initramfs-linux-surface.imgStarting build:6.19.8-arch1-3-surface-Running build hook:[base]-Running build hook:[systemd]-Running build hook:[autodetect]-Running build hook:[microcode]-Running build hook:[modconf]-Running build hook:[kms]-Running build hook:[keyboard]-Running build hook:[sd-vconsole]-Running build hook:[block]-Running build hook:[filesystems]-Running build hook:[fsck]Generating module dependenciesCreating zstd-compressed initcpio image:/boot/initramfs-linux-surface.img-Early uncompressed CPIO image generation successfulInitcpio image generation successful4. 我直接sudo解决了。如果是DeepSeek分析的以上原因比如/boot满了那么我的sudo解法会带来什么隐患吗直接回答你在“/boot 满了”这个问题上你用sudo做的操作比如sudo rm删文件、sudo pacman -R删旧内核包、sudo mkinitcpio -P是完全合法且正确的不会带来隐患。真正需要担心的是“不理解为什么能用sudo以及/boot是怎么被填满的”。我们把这个场景拆开来看一、为什么用sudo解决“/boot 满了”是安全的/boot分区特别是 EFI 系统分区是操作系统内核和 initramfs 镜像的存放处这些文件的所有权属于root普通用户没有写权限。当你用sudo执行以下操作时你实际上是在做系统管理的标准动作操作性质是否安全sudo rm /boot/initramfs-*.img清理旧内核镜像✅ 安全只删除文件不涉及系统配置文件sudo pacman -R linux-lts卸载旧内核包✅ 安全包管理器会清理/boot中属于该包的文件sudo mkinitcpio -P重新生成 initramfs✅ 安全这是官方推荐的内核更新后的流程sudo mount -o remount,rw /boot重新挂载为可写✅ 安全仅改变挂载状态不改变文件系统内容这些操作都不会破坏系统配置、不会引入恶意代码、不会导致其他分区受损。唯一需要确认的是你在/boot中删除的文件确实是你确认不再需要的内核版本而不是当前正在运行的内核。如果你不小心删除了当前正在使用的内核文件下次启动时仍然可以进入系统因为内核已经加载到内存中但下次重启时可能会无法启动。删除前建议先用uname -r确认当前内核版本并保留对应的vmlinuz和initramfs文件。二、用sudo解决的真正“隐患”在于“你不知道为什么它能解决”你问“隐患”时真正想问的可能是“我这样做了之后下次还会再出现同样的问题吗”答案取决于/boot为什么会被填满。如果它只是偶尔满了比如你安装了多个内核版本用sudo rm清理是正常的系统维护。但如果/boot总是快速被填满可能的原因包括情况原因如何永久解决/boot分区本身太小EFI 系统分区通常只有 100MB-500MB频繁更新内核时确实容易爆满调整分区大小较复杂或定期清理旧内核你安装了多个内核版本linux、linux-lts、linux-surface同时存在检查当前使用的内核卸载不用的版本系统自动保留多个 initramfs每次内核更新都会生成新的 initramfs这种属于正常行为只需定期清理旧文件即可三、用sudo的“真正风险”只在你误删了不该删的文件时才会出现如果你在/boot下删除了当前正在使用的内核通常是vmlinuz-linux并且在没有其他可启动内核的情况下重新启动你将无法进入系统。但只要你确认了当前内核版本uname -r并只删除旧版本就不会触发这个风险。而且如果你在删除旧内核时保留了当前版本的vmlinuz和initramfs下次启动时仍能正常引导。四、你现在应该做的一步“收尾”操作清理完/boot后确认mkinitcpio -P已成功生成当前内核的 initramfs。然后运行sudogrub-mkconfig-o/boot/grub/grub.cfg这一步会更新 GRUB 菜单确保它指向正确的内核和 initramfs 文件。很多关于/boot的后续问题例如 GRUB 找不到内核都是因为忘记更新配置引起的。五、总结sudo不是隐患隐患是不理解清理逻辑你的操作本身没有问题真正需要注意的点是定期检查/boot分区使用情况以免再次写满。你可以在/etc/pacman.conf中启用CleanMethod KeepCurrent选项来自动清理旧内核文件避免每次手动删除。如果有多个内核版本可以用pacman -R删除不用的而不是手动删除文件因为pacman会自动清理关联文件并更新 GRUB 配置。你是安全的而且你已经做了系统管理员日常该做的事。下次如果担心/boot再次写满可以用df -h /boot定期检查一下。

相关新闻

CentOS 7.9安装最新版Firefox的完整指南

CentOS 7.9安装最新版Firefox的完整指南

1. 为什么要在CentOS 7.9上安装Firefox? 作为一款长期支持的企业级Linux发行版,CentOS 7.9默认搭载的是老旧版的Firefox ESR(Extended Support Release)。我在实际运维工作中发现,这个预装版本存在三个明显痛点&#x…

2026/10/17 17:51:55 阅读更多 →
计算机Python毕设实战- 基于 Python Web 的中学学科教学管理系统中学信息技术教学资源管理与作业考核系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Python毕设实战- 基于 Python Web 的中学学科教学管理系统中学信息技术教学资源管理与作业考核系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/10/17 18:06:09 阅读更多 →
食品经营许可证识别API参数详解与最佳实践

食品经营许可证识别API参数详解与最佳实践

适用场景与接口价值 在企业资质审核、供应链合规验证、食品经营许可自动录入等场景中,手动录入许可证信息效率低且易出错。通过调用食品经营许可证识别API,可将图片中的13个关键字段(许可证编号、经营者名称、法定代表人、经营场所、主体业态…

2026/10/17 18:07:01 阅读更多 →

最新新闻

黑通道功能安全协议:从原理到落地的完整指南

黑通道功能安全协议:从原理到落地的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 1:34:19 阅读更多 →
JavaWeb课设实战:Filter+Session权限控制与文件上传避坑指南

JavaWeb课设实战:Filter+Session权限控制与文件上传避坑指南

简介:这是一套基于JavaWeb技术栈开发的作业管理网站完整源码,面向计算机、通信、人工智能等专业的本科生及课程设计指导教师,用于支撑期末大作业、课程设计或毕业设计实践。系统采用JSPServletDruid连接池MySQL架构,涵盖用户登录、…

2026/10/19 1:34:19 阅读更多 →
助农小程序毕设技术选型:Java+MySQL+微信原生实战指南

助农小程序毕设技术选型:Java+MySQL+微信原生实战指南

简介:本资源是一套面向计算机专业本科生的毕业设计级微信小程序开发实战项目,聚焦助农扶贫场景,解决传统APP开发成本高、用户安装意愿低、存储占用大等痛点,适用于Java后端与小程序全栈学习者。压缩包共1205个文件,涵盖…

2026/10/19 1:34:19 阅读更多 →
Unity动态字体实战:用系统字体动态生成TMP SDF资产

Unity动态字体实战:用系统字体动态生成TMP SDF资产

简介:UnityNativeOSFont是一套面向Unity开发者的开源插件方案,核心解决TextMeshPro无法直接调用操作系统本地字体的问题。它通过C#脚本在运行时获取系统字体列表,并转换为TMP可用的动态字体资源,适合需要动态切换字体、本地化显示…

2026/10/19 1:34:19 阅读更多 →
嵌入式C指针入门到实践:寄存器映射、野指针与函数指针全解析

嵌入式C指针入门到实践:寄存器映射、野指针与函数指针全解析

1. 为什么要跟指针死磕:嵌入式里的那些绕不开的场景做嵌入式这行,早晚有一天你会被指针逼到墙角。我最早踩坑是在调试一块串口板卡的时候,外设寄存器手册里写着一堆偏移地址,代码里全是一长串强制类型转换的宏,不弄懂指…

2026/10/19 1:34:19 阅读更多 →
RAM盘与DISK盘真实性能对比测试方法

RAM盘与DISK盘真实性能对比测试方法

1. 项目概述:为什么一个“测速”动作值得花半天时间认真对待你有没有遇到过这样的情况:明明手里的固态硬盘标称读写速度是3500MB/s,但实际拷贝一个20GB的工程文件却要等三分钟?或者在做视频剪辑时,预览一帧要卡顿两秒&…

2026/10/19 1:33:18 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →