Linux 核心可以在兩個作業系統之間共用嗎?

Linux 核心可以在兩個作業系統之間共用嗎?

很簡單的問題。我正在開發一個項目,使用 btrfs 子卷在同一台電腦上安裝多個作業系統(全是 linux),以便使用者可以啟動到他們熟悉的環境。既然它們都使用Linux內核,那麼單一內核是否可以編譯並用於機器上的所有作業系統?是否有任何特定於作業系統的內容? 如果有,它只是作業系統所需的核心模組還是比這更深入?

我目前的假設是,內核完全獨立於作業系統,並且只要兩個作業系統的所有模組都包含在一個共享內核中,它們就可以共享內核,從而共享對內核所做的更新和更改。

答案1

開放VZ完全符合您的要求。

它創建的容器彼此 100% 獨立,但共享相同的修改後的核心。

與完全虛擬化相比,唯一的缺點是使用容器時無法安裝 Linux 以外的任何東西。

答案2

OpenVZ 非常棒,為容器提供了安全、穩定且易於使用的解決方案。然而,Linux 中也內建了 Linux 容器,並且在最近的核心版本中已經取得了許多進展。

Linux 容器有許多可用的使用者空間實用程序,包括 lxc、vzctl(來自 OpenVZ)、libvirt 和 docker。

Linux 容器可讓您在單獨的命名空間中執行進程(如果使用使用者命名空間,也可以執行使用者)。這給人一種在同一核心上運行的單獨系統的感覺,並允許您使用 cgroup 添加對資源的限制。與 Xen、Qemu/KVM 或 VMWare 等硬體虛擬機器相比,Linux 容器極為輕量。

相關內容