![修補核心以允許在沒有 initrd 的情況下啟動](https://rvso.com/image/89146/%E4%BF%AE%E8%A3%9C%E6%A0%B8%E5%BF%83%E4%BB%A5%E5%85%81%E8%A8%B1%E5%9C%A8%E6%B2%92%E6%9C%89%20initrd%20%E7%9A%84%E6%83%85%E6%B3%81%E4%B8%8B%E5%95%9F%E5%8B%95.png)
第一個答案'為什麼 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。