根据我在网上阅读的一些建议,在安装新的 (Ubuntu) 系统时,我将/boot分区与/大小分开并且很小(仅 50 MB 左右)。对我来说,您只需要该分区中的有限文件是有道理的,并且引导序列在引导时只需要这么多数据初始数据,因此不需要(或者我的想法)使它变得更大。
当我开始使用我的系统并且由于以下(或类似)问题安装软件失败时,我感到很惊讶:
gzip: stdout: No space left on device
cpio: write error: Broken pipe
E: mkinitramfs failure cpio 1 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-18-generic with 1.
Run Code Online (Sandbox Code Playgroud)
我已经看到了这个问题,并计划用更大的/boot分区重新安装。我的问题是:
为什么/boot我只安装软件时分区数据会更新?
显然 50 MB 对我的需要来说太小了,那么合理的/boot分区大小是多少?
有单独的引导分区是否有意义?毕竟它可以简单地使用/分区中它想要的所有磁盘空间。
在/boot分区上安装了内核。当您进行系统更新时,如果有新内核,它会被下载并放置在/boot. 在该系统为该内核创建新的 initrd 映像并将其放入/boot.
旧内核不会被删除,因此在很少更新之后,/boot.
要清理它,请检查您正在使用的内核 ( uname -a),并使用包管理器删除旧内核。这应该会删除未使用的内核和 initrd 映像,但您可以手动检查它。
我不认为单独的/boot分区是必要的,除非您在以下以外使用一些奇怪的文件系统/:
当前支持的文件系统类型有 Amiga Fast FileSystem (AFFS)、AtheOS fs、BeFS、cpio、Linux ext2/ext3/ext4、DOS FAT12/FAT16/FAT32、HFS、HFS+、ISO9660、JFS、Minix fs、nilfs2、NTFS、ReiserFS 、Amiga 智能文件系统 (SFS)、tar、UDF、BSD UFS/UFS2 和 XFS。