Linux内核可以在两个操作系统之间共享吗?

很简单的问题。 我正在使用btrfs子卷在同一台机器上运行多个操作系统(所有Linux)的项目,以便用户可以启动到他们所熟悉的环境。 由于他们都使用Linux内核,单个内核是否可以编译并用于机器上的所有操作系统? 有没有什么操作系统的具体情况,如果是这样,它只是操作系统所需要的内核模块,或者比它更深入?

我目前的假设是内核完全独立于操作系统,只要所有模块都包含在一个共享内核中的两个操作系统中,就可以共享内核,从而共享对内核的更新和更改。

OpenVZ正是你所要求的。

它创build彼此独立的容器,但共享相同的修改过的内核。

与完全虚拟化相比,唯一的缺点是在使用容器时不能安装Linux以外的其他任何东西。

OpenVZ非常棒,为容器提供了一个安全,稳定,易用的解决scheme。 但是,也有内置在Linux中的Linux容器,最近的内核版本已经取得了很多进展。

Linux容器有许多你可以使用的用户空间工具,包括lxc,vzctl(来自OpenVZ),libvirt和docker。

Linux容器允许你在单独的命名空间中运行进程(如果你使用用户命名空间的话,还有用户)。 这给出了在同一个内核上运行的单独系统的感觉,并允许您使用cgroup添加对资源的限制。 与Xen,Qemu / KVM或VMWare等硬件虚拟机相比,Linux容器非常轻便。