在 14.04 中從 ZFS 根引導

在 14.04 中從 ZFS 根引導

我已經在 ZFS 根目錄上運行 Debian 衍生品 (LMDE) 半年了。它是透過將包含所有必要軟體包的常規基於 ext4 的安裝克隆到 ZFS 池、chroot 到該池並重新建立 grub 選單和引導程式來建立的。系統使用 ext-3 專用 /boot 分割區。

我想對 Ubuntu 14.04 做同樣的事情,但遇到了一些障礙。

  • 沒有 Trusty zfs-grub 軟體包
  • 預設的 grub 套件沒有內建 ZFS 支援。
  • 內建 ZFS 支援功能失調,它沒有向核心命令列添加正確的參數
  • 因此,我安裝了我也在 LMDE 系統上使用的 ZoL grub 軟體包,它確實給了我一個正確的 grub.cfg

然而,即使使用正確的 grub.cfg,引導過程顯然也不會從 ZFS 池中檢索 bootfs 參數;相反,應該接收該值的變數仍然為空。結果,initrd 嘗試載入預設池(“rpool”),這當然會失敗。不過,我可以手動導入池,並手動完成該過程。

如果我沒記錯的話,我還必須停用 apparmor,以避免啟動過程被阻塞導入池。

我是否忽略了什麼?為了進行比較,我在 LMDE 系統上安裝了 Ubuntu 3.13 內核,並且運行得很好(即相同的內核和 grub 二進製文件允許在 LMDE 上成功啟動而不會出現故障,但在 Ubuntu 上則不然)。

編輯:grub 錯誤回報:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1321335?comments=all

https://savannah.gnu.org/bugs/index.php?42392

答案1

相關內容