惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
T
The Blog of Author Tim Ferriss
Recent Announcements
Recent Announcements
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
MongoDB | Blog
MongoDB | Blog
U
Unit 42
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
P
Privacy International News Feed
L
LINUX DO - 最新话题
博客园_首页
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
K
Kaspersky official blog
C
Cisco Blogs
博客园 - 【当耐特】
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
罗磊的独立博客
MyScale Blog
MyScale Blog
Last Week in AI
Last Week in AI
A
About on SuperTechFans
G
GRAHAM CLULEY
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
D
DataBreaches.Net
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
I
InfoQ
T
The Exploit Database - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 叶小钗
Project Zero
Project Zero

GoodBoyboy 's Blog|惬意小屋-点滴记忆

新设计了一个Astro主题 Cap,一个基于PoW的自托管验证码系统 公益服务迁移通知 一种基于argon2id算法与shamir算法的内存PoW(工作量证明)解密游戏 记忆里的屋子(一) Ubuntu 26.04 Btrfs+LUKS2安装 主域名服务不稳定通知 腾讯元宝客户端实习二面凉经 腾讯元宝客户端实习一面面经 对越来越多AI博文的看法 GoodBoyboy Blog、Talk联动成功 只有失去了才会懂得珍惜,但幸好我还没有失去 滴滴Android客户端一面凉经 GoodBoyboy 's Talk上线! Easy Drop——一个基于Gin开发的高性能、轻量级说说平台 Perfect Pic —— 一个基于 Gin 开发的高性能、轻量级图床 尘封了八年的祝福 欢迎OPPO Pad 4 Pro加入设备大家庭 官方Android11 Box系统的OrangePi 3B新增红外模块教程 家里也换成光纤了qwq 姜还是老的辣 布洛芬效果真不错 再见2025,你好2026 Canokey导入S/MIME邮箱证书并使用Thunderbird发送邮件 1.90$申请 WISeID S/MIME 邮箱证书 新购Intel AX210网卡 OpenPGP邮件加密——关于测试邮件握手的思考 疯狂动物城2太好看了(无具体剧透) 进程调度——时间片轮转 效果是真的好,劲也是真的大 不买立省100% 十月小记 新增外设漫步者G1500bar 欢迎招行万事达加入卡包大家庭 博客十周年啦🎉 ESP32 S3开发小结 ESP32 S3外设小记 Arduino+VSCode开发ESP32-S3 EPS32-S3刷入MicroPython EPS32 S3刷入Picokeys Debian13安装Nvidia驱动 现在小孩都这么早熟么。。。 《动物迷城》二周目通关! Bing索引终于恢复了 家里蹲大学开始招生! 家里蹲大学即将建校,欢迎各位莘莘学子来本校深造(doge 骑车去兜风~ OAuth2授权码、客户端凭证、PKCE、设备码授权流程详解 基于OIDC实现Authentik与阿里云RAM角色的联合身份认证 GitHub release以及Git Commit常用模板 实验室生活 阿里云角色SSO对接authentik进行单点登录 白嫖一年Gemini Pro 突然发现自己可能乳糖不耐受? Android第三方Passkey管理器探索 多线程我太爱你了,你个“大可爱” [公告]现评论区已支持使用emoji表情符号😊 为Debian KDE更换显示字体为思源黑体 Debian补全办公常用字体 Debian12 KDE Edge输入法问题 Debian KDE Plasma 5调整外接显示器亮度 Debian开玩Minecraft Debian KDE使用指纹传感器验证身份
Debian GRUB踩坑记——out of memory
GoodBoyboy · 2025-06-19 · via GoodBoyboy 's Blog|惬意小屋-点滴记忆

起因

偶然在网上刷到一个很好看的grub引导界面,才发现原来grub也能设置主题,而且这种设置只是更改grub配置文件,不操作引导程序的二进制文件,因而不会影响Secure Boot

于是找了一个超好看的主题给grub安排上

结果就是:

Error: out of memory
Press any key to continue…

然后进不去系统了。。。

折腾

解决方案可以直接去下一节

首先出的问题是选择Debian引导后加载initramfs时提示内存耗尽

然后按下任意键提示:Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

因为我启用了luks全盘加密,所以这种情况第一反应是引导找不到加密分区了

问了一下ChatGPT,给出的方案是GRUB配置错误或者initramfs损坏

但是在此之前我都能正常启动系统,而且我也只是对GRUB进行了更改,没有动initramfs,所以排除initramfs损坏

然后我给ChatGPT拍了一下GRUB中Debian引导的引导脚本,ChatGPT说是initramfs中没有包含LVM支持,但同样的,我根本没动initramfs,而且之前也能正常开机

给ChatGPT说了一下,并附上了引导脚本,然后给出了修改引导脚本的方法,这里就开始鬼畜起来了

让我给内核文件路径和initramfs文件路径加上/boot前缀,说如果/boot是独立分区,不加前缀是找不到内核和initramfs的(开始胡言乱语起来了)

按照它说的,加了前缀之后引导直接找不到内核文件了。。。

给ChatGPT反映了一下该情况,ChatGPT马上改口,说不要加/boot前缀。。。

自己又怀疑了一下是不是存储介质的问题,毕竟是U盘,插到电脑上当作系统盘温度超高(把我的USB Hub连带着一起烫),没测过温度,反正手放在上面超过半秒就烫得受不了

引导到windows下用dg扫了一下,除了几十个严重,其他大多数都是良好,这种结果的话那就没什么参考价值了

没办法,只能拿另一个U盘装个Live CD来抢救

然后就是不知道自己是那根筋没对,把Live CD刻在DVD上折磨自己😅

好不容易把iso刻录完成,启动系统启动了十多分钟。。。

启动完成后解锁分区,挂载分区,update了一下grub(以为是grub损坏了)

reboot,很好,问题依旧

不想再浪费时间启动DVD了,重新拿个U盘把Live CD刻了上去。。。

继续深问,然后说最稳妥的启动配置是不加前缀的那个,那不就和原来一样的了,变成最开始的问题😂

然后ChatGPT继续复盘,又说是initrd.img缺少luks和lvm模块。。。

我都说了快八百遍了没动initramfs

算了,选择怀疑一下自己,进Live CD挂载好原来的分区,执行update-initramfs -u重新生成一下

不出所料,还是一样的问题。。。

最后想着,看看把grub配置恢复成没安装主题的时候会怎么办(丝毫没怀疑是主题的问题)

注释掉主题配置行,执行update-grub

诶👆🙄,引导成功,进入系统

虽然成功进入系统,但是还是没搞懂原因,于是把解决方案给ChatGPT说了一下,又开始了胡言乱语。。。

说是主题会替换grub.cfg模板,阻断加密检测的执行云云

但我实际对比了一下启用主题和没启用主题下生成的grub.cfg的区别,就单纯多了一个加载主题资源的代码而已

而且整个主题都是我手动cp装的,根本没执行主题自带的安装脚本

后面继续胡言乱语,说要加入DRUB_ENABLE_CRYPTODISK=y来解锁Boot分区,但是我tm根本没加密boot分区啊啊啊。。。

启用luks全盘加密下根本不能加密boot分区,不然谁给你解密分区。。。

然后我给它“善意”的提醒了一下,马上又改口不用加。。。

还是得靠自己,控制变量法下找了另一个评级最高的主题试了一下,发现居然可以成功引导

间接证明ChatGPT前面一大堆都是废话。。。

突然灵光一现想着会不会有什么内存限制?

出问题的那个主题有13MB大小,没问题的那个主题只有0.7MB大小,并且最开始也是out of memory,或许根本不是什么找不到加密分区,一开始方向就错了!!!

问了一下ChatGPT,发现确实是有内存限制,不过不同设备限制不同

以防万一,去AI Studio顺便问了问Gemini,也是肯定有相关限制,但是具体限制多少以及怎么解除限制说不出来

Gemini留的链接:

https://www.ibm.com/support/pages/system-boot-ends-grub-out-memory-oom

https://forum.endeavouros.com/t/grub-out-of-memory/30967/38

https://www.kubuntuforums.net/forum/currently-supported-releases/kubuntu-22-04-jammy-jellyfish/post-installation-ax/666407-fatal-out-of-memory-error-on-boot-grub-efi-problem

梳理了一下,得到了最终的结果

结果

由于使用了较大的主题,导致GRUB out of memory,然后由于out of memory,导致luks模块和lvm模块没加载进内存,因此无法解密加密分区,出现Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

当主题换成较小的主题时未触发out of memory,正常加载模块,解密加密分区,进入系统。

回想起来,设置那个有问题的主题的时候,第一次分辨率配置格式没配置正确,导致引导界面分辨率超低,但也使得没有out of memory,成功引导进入系统,第二次正确配置成2560x1440的2k分辨率后就出现out of memory了(高分辨率特别占memory)。

具体memory大小我也不知道怎么查,可能是128MB?256MB?还是512MB?

不过这个memory会加载系统内核,initrd,还有各种模块,我看网上有些人的initrd文件大小高达100MB+,正常引导不设置主题都会出现out of memory😂