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

能否通过将/boot下的文件创建符号链接节省空间?仅在更新期间操作可行吗?

能否通过将/boot下的文件创建符号链接节省空间?仅在更新期间操作可行吗?

兄弟,我得先给你泼点冷水——这个思路风险高到离谱,尤其是你这远程服务器没法现场救的情况,真的犯不着冒这个险!

先给你掰扯清楚核心问题:

  • 首先,符号链接的方法本身就不靠谱。GRUB启动系统的时候,根分区还没挂载呢,它是直接从/boot分区读取启动文件的!这时候GRUB根本认不出指向其他分区的软链接,要是你把/boot里的vmlinuz、initrd.img这些启动必需文件移去其他分区,只留软链接在/boot,重启直接就卡死在启动界面,远程服务器直接变砖,你又没法跑现场用LiveCD救,这损失可就大了。

  • 那“仅在更新期间临时操作”行不行?哪怕你想临时腾空间升级,升级完再移回来,风险也没消:

    1. 升级过程中但凡出点意外——比如网络断了、升级包验证失败导致中断,这时候/boot里是软链接状态,你要是不小心重启了(或者系统自动重启),照样变砖。
    2. 就算升级顺利,你得确保新安装的内核文件是实实在在存在于/boot里的,不能是软链接,不然重启还是挂。而且升级后你得立刻把之前移走的文件还原,这个过程但凡手滑,照样出问题。

听我一句劝,你现在只差17.2M空间,完全有更稳妥的办法:

  1. 压缩initramfs省空间:按提示把/etc/initramfs-tools/initramfs.conf里的COMPRESS=gzip改成COMPRESS=xz,然后跑sudo update-initramfs -u -k all重新生成所有initramfs文件。xz压缩率比gzip高不少,每个initrd.img能小个几M,凑凑就够了。
  2. 手动清理旧内核:先看当前在用的内核:uname -r,然后列出/boot里的所有内核文件:ls /boot/vmlinuz-*,把除了当前在用版本之外的旧内核文件(包括vmlinuz-xxx、initrd.img-xxx、config-xxx、System.map-xxx)都删掉,注意别删错当前用的!
  3. 彻底清掉旧内核残留:跑sudo apt autoremove --purge,把旧内核的头文件、模块这些占根分区空间的残留也清掉,避免以后再出问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 14:48:05