Bil*_*lly 3 filesystems initrd initramfs linux-kernel root-filesystem
'为什么 Linux 在启动时使用初始 RAM 磁盘的第一个答案?' 表示 initrd/initial ram 文件系统用于提供驱动程序来挂载真正的根文件系统。它还说可以将这些驱动程序修补到内核中,因此initrd
不需要或初始 ram 文件系统,但没有解释如何。我怎样才能修补内核(最新版本)安装在一个根文件系统EXT4没有的援助initrd
,并将该解决方案支持UUIDs
?
你不需要修补任何东西。您只需要自己配置和编译内核。这是高级任务,因此不适合初学者。诀窍是将内核配置为仅支持您的硬件并编译内核中的所有内容,而不是作为模块(至少是启动所需的驱动程序:磁盘控制器、文件系统……)。
有很多教程,如何配置和编译内核
所以只需谷歌“内核编译{你的发行版}”。为您的发行版使用正确的教程很重要。您正在使用的发行版可能期望某些功能仅在“发行版”内核中可用,而在“vanilla”内核中不可用。正确的教程将为您指明正确的来源。
/etc/fstab
删除 initrd/initramfs 后,您可以在 GRUB 中使用 UUID,但不能在 GRUB 中使用。
例如,我正在使用 Gentoo 而我从未使用过 initrd/initramfs。每次新内核可用时,我必须自己配置和编译它。我正在使用带有root=/dev/sdb4
内核参数的grub,但在 fstab 中我使用的是 UUID。