如何删除未使用的内核并回收虚拟机内的磁盘空间?

如何删除未使用的内核并回收虚拟机内的磁盘空间?

我正在使用 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 中排除可以在启动后加载的内容。

相关内容