移至主內容
DarkRanger's Secret Area

主導覽

  • 首頁
  • 關於本站
  • Linux
  • 程式開發
  • N900
  • 譯文
  • 資訊技術辭典

文章分類

  • 影劇
  • 遊戲
  • 筆記
  • 雜文
  • 資訊技術
  • 站務訊息

最新內容

  • RHEL 9 內核更新後的 initramfs 增大問題
  • 曾經使用過的 AMD CPU 及 NVIDIA GPU 清單
  • How-To:Linux 安裝 Star Wars Episode I: Racer
  • Linux 檢視本機區網 IP 位址的圖形介面程式
  • How-To:Linux 安裝 Combined Arms
  • 【自製】InsomniaSDL
  • Godzilla: The First 70 Years (2025)
  • How Kernel Anti-Cheats Work
  • Total War: Three Kingdoms (2019)
  • Linux 系統下的新酷音詞庫格式轉換

RHEL 9 內核更新後的 initramfs 增大問題

發表日期:星期四, 06/11/2026 - 22:48

前一陣子陸續將手邊的 RHEL 9.7 系統更新至 9.8 時所發生的一個插曲,發現內核版本更新後所產生的 initramfs 檔案變得相當肥大,大約從 30-40MB 擴張至 200MB 以上,會直接把 /boot 分割區塞爆……導致 initramfs 無法正常產出,而出現錯誤。再核對了一下,則發現這個情形只發生在 AWS EC2 上面的主機,其餘手邊的實體或虛擬機,相同的更新程序都沒有 initramfs 增大的情形。以及另一方面,不同於雲端主機的磁碟分割狀態,是預先分配好的情形,例如 /boot 可能會被切成僅有 500MB 大;平常自行手動安裝的 Linux 系統,自己都是選擇不切 /boot 分割區,自然也就不會有 /boot 被塞爆的狀況。

 

雖然直接縮減 Linux 內核版本同時存在的數目,也許是最立即可見的粗略解法。然而對於為什麼只有雲端主機會出現 initramfs 增大的情形,仍是覺得有點不解,於是循線查了一下,找到 Red Hat Customer Portal 的這份文件:Size of the initramfs for the updated kernel is very large (70MB or more)。不過這裡可能需要先註明一下,Red Hat 知識庫文件實際上是免費資源,所以不用看到它好像要求帳號登入就卻步。它只是需要你免費註冊一個 Red Hat 帳號即可,就如同於 RHEL 實際上可免費訂閱開發者授權的情形。

 

至於問題的肇因就在於,透過虛擬映像檔產出及部署的 RHEL 系統,可能預先安裝了一個名為 dracut-config-generic 的套件,它單純地覆寫了應已為系統預設值的 hostonly 選項,將「hostonly="no"」寫入至 /usr/lib/dracut/dracut.conf.d/02-generic-image.conf 內,致使得 dracut 指令產出的 initramfs 出現增大的情形。

 

所以解決方法很單純,就是移除 dracut-config-generic 套件,然後再重新執行一次 dracut 指令(或者重新安裝 kernel-core 套件也會促使 dracut 被再次執行),initramfs 大小就會復原至精簡的情形:

  • dnf remove dracut-config-generic
  • dracut -f --regenerate-all

 

筆記