答案1
如果你之前没有见过它们,那是因为你从未留意过。
–@deadflowr 在 Ubuntu 论坛上发表“/ 目录中的 vmlinuz 和 initrd.img 符号链接”
/vmlinuz
和符号/initrd.img
链接指向最新的
压缩的 Linux 内核可执行文件和初始 RAM 磁盘,而它们的*.old
对应部分则是指向前一版本的符号链接。如果您仔细查看 GRUB 配置(位于/boot/grub/grub.cfg
),您会发现其中没有对/vmlinuz
或 的引用/initrd.img
,而是对原始文件的引用。
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2290c2ad-8832-4d80-a82d-e966d73c23e9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 2290c2ad-8832-4d80-a82d-e966d73c23e9
else
search --no-floppy --fs-uuid --set=root 2290c2ad-8832-4d80-a82d-e966d73c23e9
fi
linux /boot/vmlinuz-4.15.0-23-generic root=UUID=2290c2ad-8832-4d80-a82d-e966d73c23e9 ro console=tty1 console=ttyS0
initrd /boot/initrd.img-4.15.0-23-generic
}
ls -l /
提供上下文的输出。
lrwxrwxrwx 1 root root 33 Jun 20 06:57 initrd.img -> boot/initrd.img-4.15.0-23-generic
lrwxrwxrwx 1 root root 33 May 22 10:54 initrd.img.old -> boot/initrd.img-4.15.0-22-generic
...
lrwxrwxrwx 1 root root 30 Jun 20 06:57 vmlinuz -> boot/vmlinuz-4.15.0-23-generic
lrwxrwxrwx 1 root root 30 May 22 10:54 vmlinuz.old -> boot/vmlinuz-4.15.0-22-generic
由于您的grub.cfg
会随每个内核版本自动更新,因此引用实际文件比符号链接更安全(以防被删除或更改)。但是,如果您要对 进行一些自己的修改grub.cfg
(不建议这样做,因为它们可能会被覆盖),/vmlinuz
或者/initrd.img
可以方便地用作最新内核映像的链接。
删除它们安全吗?是的,但是当您更新内核(使用apt upgrade
)或更新 GRUB(update-grub
)时,它们将被重新创建。
阅读更多
答案2
如果您查看(使用file
等),您可能会注意到它们是符号链接。
如果您的系统无法启动(最终进入 grub-recovery),它们对于启动系统非常方便,因为您不必记住或查找当前 [最新] 或先前 [旧] 内核的内核和 initial.ramdisk 的完整路径和文件名。我可能不经常使用它们,但我认为它们非常方便。
file /vm*
我的盒子上显示
guiverc@d960-ubu2:~$ file /vm*
/vmlinuz: symbolic link to boot/vmlinuz-4.15.0-23-generic
/vmlinuz.old: symbolic link to boot/vmlinuz-4.15.0-22-generic
guiverc@d960-ubu2:~$ uname -r
4.15.0-23-generic
是我的当前和以前的内核。删除它们不会给我更多的磁盘空间(因为它们只是目录条目;指向 boot/ 中实际文件的链接)。
答案3
如果您使用的是标准 GRUB 配置,那么您将直接使用 /boot 中的文件,而不使用 root 中的符号链接。您可以删除它们。如果您愿意,可以禁用工具再次创建它们。有关详细信息,请参阅 linux-update-symlinks 的手册页。/etc/kernel-img.conf 中的设置
http://manpages.ubuntu.com/manpages/bionic/man1/linux-update-symlinks.1.html
注意:在 grub 提示符下,您可以使用“tab”来完成文件名补全,这样您就可以在需要时在启动期间找到 /boot 中有哪些映像。