我正在使用 hyper-v 创建运行 Ubuntu guest 虚拟机。我 git 克隆了内核源代码,并编译了它。然后第二次,我想修改内核源代码。只是默认设置,而不是向版本添加自定义名称。
make menuconfig
make
make modules_install
make install
当我运行 module_install 时,我看到一条错误消息,指出我的虚拟机可用空间不足。我设法为虚拟硬盘分配更多空间并解决了问题。
启动时,grub 显示 3 个不同的可用内核。我的问题是,什么占用了所有磁盘空间?如果我继续编译内核,这会占用我的磁盘空间吗?如果是这样,我该如何释放空间?我可以删除未使用的内核以回收一些空间吗?
请建议。
哈戈
更新1
的输出ls -l /boot
是
总计 1319637 -rw-r--r-- 1 root root 224422 2019 年 8 月 1 日 config-5.0.0-25-generic -rw-r--r-- 1 root root 224535 七月 6 22:35 config-5.1.0-eudyptula-h.1.1-dirty -rw-r--r-- 1 root root 224525 七月 2 18:15 config-5.1.0-h.1.1 -rw-r--r-- 1 root root 224538 七月 1 20:06 config-5.1.1hago_1_1 -rw-r--r-- 1 root root 224538 七月 1 19:25 config-5.1.1hago_1_1.old drwxr-xr-x 4 根 根 512 1970 年 1 月 1 日电喷 drwxr-xr-x 6 根 根 4096 7 月 6 日 22:43幼虫 -rw-r--r-- 1 root root 40808013 Jul 1 19:18 initrd.img-5.0.0-25-generic -rw-r--r-- 1根根410846721 7月6日22:41 initrd.img-5.1.0-eudyptula-h.1.1-dirty -rw-r--r-- 1 root root 410821916 七月 2 18:19 initrd.img-5.1.0-h.1.1 -rw-r--r-- 1 root root 10622869 七月 1 21:07 initrd.img-5.1.1 -rw-r--r-- 1根根410847209 7月1日21:09 initrd.img-5.1.1hago_1_1 -rw-r--r-- 1根根182704 2016年1月28日 memtest86+.bin -rw-r--r-- 1根根184380 2016年1月28日 memtest86+.elf -rw-r--r-- 1 root root 184840 Jan 28 2016 memtest86+_multiboot.bin -rw-------- 1 root root 4290047 2019 年 8 月 1 日 System.map-5.0.0-25-generic -rw-r--r-- 1 root root 4346940 七月 6 22:35 System.map-5.1.0-eudyptula-h.1.1-dirty -rw-r--r-- 1 root root 4346456 七月 2 18:15 System.map-5.1.0-h.1.1 -rw-r--r-- 1根根4346456 7月1日20:06 System.map-5.1.1hago_1_1 -rw-r--r-- 1 root root 4346456 七月 1 19:25 System.map-5.1.1hago_1_1.old -rw-------- 1 root root 8711928 2019 年 8 月 1 日 vmlinuz-5.0.0-25-generic -rw-r--r-- 1根根8808832 7月6日22:35 vmlinuz-5.1.0-eudyptula-h.1.1-dirty -rw-r--r-- 1 root root 8808832 7 月 2 日 18:15 vmlinuz-5.1.0-h.1.1 -rw-r--r-- 1根根8808832 7月1日20:06 vmlinuz-5.1.1hago_1_1 -rw-r--r-- 1根根8808832 7月1日19:25 vmlinuz-5.1.1hago_1_1.old
更新2 现在,当我启动 VM 时,我会看到 GRUB 菜单中出现另一个新的内核版本 5.3.0。
答案1
由于这些是定制的,您所要做的就是 rm 所有您不再需要的旧内核,然后sudo grub-mkconfig
.请注意,/boot 不是唯一的位置,/lib/modules/ 和 /var/lib/initramfs-tools/ 中也有内核文件,尽管没有那么大。apt
不幸的是,不会清理你自己构建的任何东西。
答案2
initrd 的典型大小在数十兆范围内。您的自定义版本为 410MB。检查您的内核构建设置并从 initrd 中排除可以在启动后加载的内容。