Ubuntu触发虚拟机启动的实用技巧
在Ubuntu系统中,触发虚拟机启动的方法因使用的虚拟化软件不同而有所差异,以下是常见工具的具体操作技巧:
打开VirtualBox管理器(通过应用菜单或命令virtualbox启动),在左侧“虚拟机列表”中选中目标虚拟机,点击顶部工具栏的启动按钮(绿色三角形),即可启动虚拟机。若需以“分离模式”(后台运行)启动,可按住Ctrl键再点击启动按钮。
启动VMware Workstation,左侧“虚拟机列表”中选择需要启动的虚拟机,点击顶部工具栏的开启此虚拟机按钮(绿色电源图标)。若虚拟机未安装VMware Tools,首次启动时会提示安装,建议完成安装以优化性能(如共享文件夹、剪贴板共享)。
安装GNOME Boxes(sudo apt install gnome-boxes),打开应用后在主界面选择目标虚拟机(已创建的虚拟机会显示在列表中),点击底部的启动按钮(或双击虚拟机条目)。Boxes提供简洁的图形界面,适合快速启动和管理虚拟机。
打开终端,使用VBoxManage命令启动虚拟机,基本语法为:
VBoxManage startvm "虚拟机名称" --type gui(--type gui表示以图形界面模式启动,若需后台运行可替换为headless)。
示例:启动名为“Ubuntu2204”的虚拟机,命令为VBoxManage startvm "Ubuntu2204" --type gui。
virt-manager(sudo apt install virt-manager),启动后左侧“虚拟机列表”中选择目标虚拟机,点击顶部启动按钮。virsh start命令,语法为virsh start "虚拟机名称"(需提前通过virsh list --all查看虚拟机名称)。示例:virsh start UbuntuKVM。通过qemu-system命令启动,需指定磁盘镜像、内存、CPU等参数,基本语法为:
qemu-system-x86_64 -m 内存大小 -smp CPU核心数 -hda 磁盘镜像路径。
示例:启动一个4GB内存、2核CPU、使用ubuntu.img磁盘镜像的虚拟机,命令为qemu-system-x86_64 -m 4096 -smp 2 -hda /path/to/ubuntu.img。
进阶参数:-cdrom指定光盘镜像(从光盘启动)、-boot d设置启动顺序(从光盘启动)、-net nic -net user配置用户模式网络。
对于需要频繁启动的虚拟机,可编写启动脚本简化操作。以下是两个示例:
创建start_vm.sh文件,内容如下:
#!/bin/bash
VM_NAME="my_vm"
MEMORY="4096"
CPUS="4"
DISK_IMAGE="/path/to/your/disk_image.img"
qemu-system-x86_64 -name $VM_NAME -m $MEMORY -smp $CPUS -hda $DISK_IMAGE -boot d
赋予执行权限:chmod +x start_vm.sh,运行脚本:./start_vm.sh即可启动虚拟机。
创建start_kvm_vm.sh文件,内容如下:
#!/bin/bash
virsh start "my_vm"
赋予执行权限:chmod +x start_kvm_vm.sh,运行脚本即可通过virsh启动虚拟机。
若需要虚拟机随Ubuntu系统开机自动启动,可通过以下两种方式实现:
编辑/etc/rc.local文件(需root权限):sudo nano /etc/rc.local,在exit 0语句前添加启动命令(如VirtualBox的VBoxManage startvm或KVM的virsh start)。示例:
#!/bin/bash
VBoxManage startvm "Ubuntu2204" --type headless
virsh start UbuntuKVM
exit 0
保存后,rc.local文件会在系统启动时自动执行。
sudo nano /etc/systemd/system/vm_startup.service,内容如下:[Unit]
Description=Start Virtual Machine on Boot
After=network.target libvirtd.service
[Service]
Type=simple
ExecStart=/usr/bin/virsh start UbuntuKVM
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
sudo chmod +x /etc/systemd/system/vm_startup.service。sudo systemctl enable vm_startup.service。sudo systemctl start vm_startup.service(可选,立即启动)。systemctl status libvirtd检查KVM服务状态)。