很快我将需要在多个发行版上测试 GUI 应用程序。以前我曾在 VirtualBox 上使用虚拟机完成此操作,但使用它们的速度可能慢得令人沮丧。我考虑过多重引导,但是当a)交换环境和b)维护(添加/删除/更新)环境时,这会产生很高的成本。
最近我遇到了基于容器的解决方案,例如LXD以及基于 Type-1 虚拟机管理程序的解决方案,例如键盘虚拟机和Qubes 操作系统模板虚拟机(基于 Xen)。
容器和/或虚拟机管理程序是否是基于 GUI 的发行版多重引导的可行替代方案?
具体的解决方案将是一个理想的答案,但有根据的理论答案也是可以接受的。
答案1
是的,使用虚拟化环境是多重引导的一种非常可行且良好的替代方案,因为多个操作系统可以并行运行,因此您无需重新启动主系统即可从一个操作系统切换到另一个操作系统。
一种或另一种技术(裸机或托管虚拟机管理程序)、LXD 甚至根本没有虚拟机管理程序 (LXC) 是否能满足您的需求取决于您要测试的操作系统(来宾)以及您的主要操作系统(主机)。
如果您的主机上运行的内核与您想要虚拟化的操作系统兼容,我建议使用基于容器的解决方案,因为这是开销较小的解决方案。例如,您可以在各种图形环境(Gnome、KDE 等)中运行 Red Hat、Debian、Ubuntu。
否则,与 VirtualBox 等基于主机的虚拟机管理程序相比,没有明显的理由可以使裸机虚拟机管理程序具有性能优势。如果您的体验不同,则可能存在配置或资源问题。
答案2
任何类型的管理程序都是对多重引导情况的改进,因为它们允许以共享方式更好地利用系统资源。多重引导一次只允许一个操作系统使用系统。
虚拟化允许您向来宾过度分配系统资源;然而,当所有来宾(和主机)都尝试同时访问其分配的资源时,它就没有什么用处了。 Type-1 虚拟机管理程序(又名裸机)通常(但并非总是)本身对系统资源的要求较低。当然,如果您在具有完整 GDE 的用户系统上运行类似 KVM 的东西并且经常使用任何附加服务,则这一点就被否定了。
听起来您的虚拟机性能降低与在已经处于某些系统负载的系统上运行虚拟机有关。如果可能,请考虑在另一台容量更大的主机上运行虚拟机。