在Linux系统上安装虚拟机可以通过多种方式实现,主要取决于选择的虚拟化技术。以下是常见的几种方法及详细步骤:
1. 使用KVM(Kernel-based Virtual Machine)
KVM是Linux内核原生支持的虚拟化方案,性能接近原生系统,适合生产环境。
安装前提:
- 确认CPU支持虚拟化(运行 `egrep -c '(vmx|svm)' /proc/cpuinfo`,结果大于0则支持)。
- 需安装64位Linux系统(如Ubuntu/CentOS)。
安装步骤:
bash
# Ubuntu/Debian
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
# CentOS/RHEL
sudo yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager
- 启动libvirtd服务:
bash
sudo systemctl enable --now libvirtd
- 将用户加入`libvirt`组:
bash
sudo usermod -aG libvirt $(whoami)
- 使用图形工具`virt-manager`创建虚拟机,或通过命令行工具`virt-install`。
2. VirtualBox安装
Oracle VirtualBox是跨平台的轻量级虚拟化工具,适合开发测试。
安装步骤:
bash
# Ubuntu/Debian
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install virtualbox-7.0 # 版本根据需求调整
# CentOS/RHEL
sudo yum install https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
sudo yum install VirtualBox-7.0
- 安装扩展包(增强功能):
bash
wget https://download.virtualbox.org/virtualbox/7.0.0/Oracle_VM_VirtualBox_Extension_Pack-7.0.0.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.0.vbox-extpack
3. QEMU(无硬件加速的纯模拟器)
QEMU适合调试不同架构(如ARM)的系统,但性能较低。
安装命令:
bash
sudo apt install qemu qemu-system-x86 qemu-utils # Ubuntu
sudo yum install qemu-kvm qemu-img # CentOS
创建虚拟机示例:
bash
qemu-system-x86_64 -m 2048 -hda ./disk.img -cdrom ./ubuntu.iso -boot d
4. GNOME Boxes(简化版虚拟化管理)
适用于桌面用户,基于libvirt和QEMU/KVM,提供极简界面。
安装命令:
bash
sudo apt install gnome-boxes # Ubuntu
sudo dnf install gnome-boxes # Fedora
5. 其他方案:
LXC/LXD:轻量级容器虚拟化,接近虚拟机体验但共享内核。
bash
sudo apt install lxd lxc # Ubuntu
lxd init # 初始化配置
Proxmox VE:基于Debian的虚拟化平台,整合KVM和LXC。
虚拟化网络配置建议:
桥接网络:虚拟机直接暴露在局域网中,需配置`br0`网桥。
NAT模式:虚拟机通过宿主机共享IP,默认配置即可。
扩展知识:
性能调优:启用KSM(内核同页合并)节省内存:
bash
echo 1 | sudo tee /sys/kernel/mm/ksm/run
GPU直通:需配置VFIO驱动,适合游戏或图形工作站场景。
快照管理:使用`virsh snapshot`或VirtualBox的`VBoxManage`实现状态保存。