第一个答案'为什么 Linux 在启动时使用初始 RAM 磁盘?' 声明 initrd/initial ram 文件系统用于提供安装真实根文件系统的驱动程序。它还说它是可能的将这些驱动程序修补到内核中,这样就initrd
不需要初始 ram 文件系统,但没有解释如何进行。如何在不借助 的情况下修补内核(最新版本)以在根目录挂载 EXT4 文件系统initrd
,该解决方案是否支持UUIDs
?
答案1
你不需要修补任何东西。您只需要自己配置和编译内核即可。这是高级任务,因此不适合初学者。诀窍是将内核配置为仅支持您的硬件,并将内核中的所有内容编译为模块(至少是启动所需的驱动程序:磁盘控制器、文件系统等)。
有很多教程,介绍如何配置和编译内核
- 根图https://wiki.gentoo.org/wiki/Kernel/Configuration
- 拱https://wiki.archlinux.org/index.php/Kernels/Traditional_compilation
- 乌班图https://help.ubuntu.com/community/Kernel/Compile
所以只需谷歌“内核编译{您的发行版}”即可。为您的发行版使用正确的教程非常重要。您正在使用的发行版可能期望某些功能仅在“distro”内核中可用,而在“vanilla”内核中不可用。正确的教程将引导您找到正确的来源。
/etc/fstab
删除 initrd/initramfs 后,您可以在 GRUB 中使用 UUID ,但不能在 GRUB 中使用。
例如,我使用的是 Gentoo,但从未使用过 initrd/initramfs。每次新内核可用时,我都必须自己配置和编译它。我使用带有root=/dev/sdb4
内核参数的 grub,但在 fstab 中我使用 UUID。