我可以在根目录中删除 /initrd.img 和 /vmlinuz 吗?

我可以在根目录中删除 /initrd.img 和 /vmlinuz 吗?

我可以删除/initrd.img/vmlinuz及其.old文件吗?

这个/initrd.img链接boot/initrd.img-4.13.0-45-generic,我不知道为什么/initrd.img会出现在这里,我以前没有在这里看到过。

在此处输入图片描述

答案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 中有哪些映像。

相关内容