Ubuntu 24 LTS 安装 VirtualBox和知识点整理

2024-11-21 22:04:00
丁国栋
原创 179
摘要:本文主要介绍如何安装VirtualBox。

之前用qemu结合kvm来创建和使用虚拟机没有遇到什么特别难以解决的问题,最近却遇到了一个棘手的问题,虚拟机用一小段时间就会自动暂停,且无法恢复,只能强制关闭。这个问题其他网友也有遇到,其中有一个网友的CPU跟我的CPU型号几乎相同,我的CPU型号是 i7-12700KF,网友是 i7-12700。报错如下:

Error unpausing domain: internal error: unable to execute QEMU command 'cont': Resetting the Virtual Machine is required
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1437, in resume
    self._backend.resume()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 2425, in resume
    raise libvirtError('virDomainResume() failed')
libvirt.libvirtError: internal error: unable to execute QEMU command 'cont': Resetting the Virtual Machine is required

为了解决这个问题,我最终决定暂时将 hypervisior 从 KVM 换成 VirtualBox。庆幸的是 VirtualBox可以与kvm共存。

VirtualBox支持多种平台,要在 Ubuntu Linux里安装vbox比较简单,可以参考 https://www.virtualbox.org/wiki/Linux_Downloads 页面的 Debian-based Linux distributions 内容,实际上Ubuntu 24.04 作了一些调整,因此需要了解和注意以下内容。

创建 /etc/apt/sources.list.d/virtualbox.sources 文件,添加以下内容:

#deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian noble contrib
Types: deb
URIs: https://download.virtualbox.org/virtualbox/debian
Suites: noble
Components: contrib
Signed-By: /usr/share/keyrings/oracle-virtualbox-2016.gpg

注:不同的Ubuntu 版本不同,这个配置文件的格式也不一样。如果Ubuntu Linux版本较早,可以使用第一行即可,其他的删除。

注:如果想安装qemu/kvm,可以执行 sudo apt install qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils

提示:默认 vbox 安装的虚拟机是采用 NAT 网络,这个网络只能允许虚拟机访问Internet和局域网,但反过来不行,为了实现主机访问虚拟机,建议使用 桥接(bridged) 和 仅主机(host-only) 模式;可以添加多个网卡,实现不同的网络互通。


VirtualBox 的网络

VirtualBox 虚拟机的网络模式目前有:NAT、桥接、仅主机和NAT Network等,这里面有一些问题需要我们知道。

  1. 一个 vbox 虚拟机最多配置4个网卡(网络适配器),每个网卡可以配置不同的模式。
  2. NAT 网络默认网段是 10.0.2.0/24 ,这个网段的地址目前没有明显的地方可以修改,如果和主机网络冲突了,主机无法通过这个地址访问到虚拟机,而虚拟机可以访问 Internet。
  3. 测试发现 NAT Network 的 IP也是无法被主机访问到的,而且即使开启了DHCP它默认也没有可用的DHCP无法获得IP地址,因此要想通过主机访问虚拟机,最好使用桥接和仅主机方式。
  4. 以 RHEL 8.6测试,在安装过程中如果同时启用多个网卡,那么在安装完成后,有一些网卡需要再确认一下ONBOOT是否为yes。
  5. 仅主机模式下,支持DHCP可以自动获取IP地址等,同时主机上有一个名称为 vboxnet0 的虚拟网卡,其类型为 ethernet,区分于网桥 bridge(名称通常为 virbr0),可以通过命令 nmcli d 查看设备类型。
  6. 所以基于以上几点,我们在给vbox虚拟机配置网卡时,可以配置桥接模式,或者1个NAT加1个仅主机模式,来保障虚拟机访问Internet和主机和虚拟机的互访。



--

发表评论
博客分类