如何在 Ubuntu 13.04 上减小 initrd.img 的大小

nwa*_*ham 16 kernel initramfs

我最近升级到 Ubuntu 13.04,initrd.img-3.8.0-21-generic 文件现在是 32M。这给我升级到更新的内核带来了问题,因为我的 /boot 分区只有 96MB。我该怎么做才能减小此文件的大小?

Zan*_*hey 24

在 中/etc/initramfs-tools/initramfs.conf,设置MODULES=dep而不是MODULES=most。initrd 构建过程将确定您需要哪些模块,而不是包括各种各样的东西。但是请注意,这会使您的引导过程非常依赖于您的硬件,并且如果您需要使用一组不同的硬件(特别是驱动器),则 initrd 可能无法工作。

此外,您可以选择更好的压缩算法,默认仍应为 gzip,但 xz(或 lzma2)也可通过COMPRESS=xz. 当然你需要已经xz-utils安装了。初始压缩需要更长的时间,但启动期间的解压时间不应太长。这两个选项一起使用也可能会减少您的启动时间。

设置好后运行sudo update-initramfs -u -k all即可生效。

  • 为了在 kvm 虚拟环境中与 13.10 amd64 的一些测试结果进行相对比较,启动到文本模式。(1) Modules=most,gzip: /boot/initrd.img-3.11.0-12-generic 大小为 16 985 839 字节,6.69s 启动。(2) Modules=dep,gzip: /boot/initrd.img-3.11.0-12-generic 大小为 2 229 559 字节,6.12s 启动。(3) Modules=dep,xz: /boot/initrd.img-3.11.0-12-generic 大小为 1 685 916 字节,6.26s 启动。(4) Modules=dep,lzma: /boot/initrd.img-3.11.0-12-generic 大小为 1 685 872 字节,6.35s 启动。 (3认同)