背景：由于现在普遍使用Linux作为服务端系统环境，而有的时候，会遇到某些功能或组件仅仅在windows下有实现或中间件程序，这时候就需要开发win程序并且在windows环境下运行。那么在不单独增加服务器的情况下，如何在现有的Linux系统上跑起来呢？有一个可行的方案就是：Linux上跑Windows虚拟机，虚拟机中再跑win程序。一、安装VirtualBox参考链接：https://tecadmin.net/install-oracle-virtualbox-on-centos-redhat-and-fedora/#二、配置VirtualBox安装windows xp参考：https://www.server110.com/virtualbox/201308/307.htmlhttp://zpz.name/2274/1.添加用户组usermod -a -G vboxusers rootvboxusers 是virtualbox的默认用户组，virtualbox安装好后会自动创建该用户组。须将虚拟机的使用者加入该用户组才能正常使用。2.创建虚拟机VBoxManage createvm --name winxp --register执行完该命令后会创建一个名为winxp的虚拟机，使用如下命令查看是否创建成功VBoxManage list vms3.创建虚拟磁盘VBoxManage createvdi --filename /home/virtualbox/winxp.vdi --size 102404.创建硬盘控制器VBoxManage storagectl winxp --name ide_controller --add ide5.挂载iso镜像、虚拟硬盘、光驱VBoxManage openmedium dvd /home/virtualbox/winxpsp3.iso VBoxManage storageattach winxp --storagectl ide_controller --port 0 --device 0 --type hdd --medium /home/virtualbox/winxp.vdi VBoxManage storageattach winxp --storagectl ide_controller --port 1 --device 0 --type dvddrive --medium /home/virtualbox/winxpsp3.iso6.修改虚拟机winxp设置，操作系统，内存，显存，启动顺序，磁盘位置，电源管理接口，CPU设置，网卡接口，远程管理等VBoxManage modifyvm winxp --ostype WindowsXP --memory 512 --vram 16 --boot2 disk --boot1 dvd --hda /home/virtualbox/winxp.vdi --acpi on --pae on --hwvirtex on --nic1 hostif --cableconnected1 on --nictype1 "Am79C973" --bridgeadapter1 eth0 --intnet1 brigh1 --macaddress1 auto --vrde on至此，虚拟机的配置就完成了，可以用以下命令启动虚拟机，然后可以远程连接虚拟机安装系统了VBoxManage startvm winxp -type vrde三、设置windows虚拟机开机自动启动参考官方文档：https://www.virtualbox.org/manual/ch09.html#autostart在某些时候，我们可能需要在虚拟机里跑一些win下的脚步、应用、服务，这时往往希望虚拟机里的系统能随服务器启动而自动启动，以便虚拟机内我们的程序能自动跑起来，那么我们首先需要让虚拟机随Centos系统启动而启动。好了，接下来进入配置步骤：1.创建文件 /etc/default/virtualboxvi /etc/default/virtualbox 写入如下内容 # virtualbox defaults file VBOXAUTOSTART_DB=/etc/vbox VBOXAUTOSTART_CONFIG=/etc/vbox/autostartvm.cfg2.创建文件 /etc/vbox/autostartvm.cfgvi /etc/vbox/autostartvm.cfg 写入如下内容 # Default policy is to deny starting a VM, the other option is "allow".default is "deny" default_policy = allow # Create an entry for each user allowed to run autostart root = { allow = true startup_delay = 10 }3.设置自动启动配置路径VBoxManage setproperty autostartdbpath /etc/vbox4.为虚拟机设置开机自启动VBoxManage modifyvm winxp --autostart-enabled on5.启动虚拟机自动启动服务systemctl restart vboxautostart-service然后使用命令查看虚拟机是否已经运行起来VBoxManage list runningvms 常用的VirtualBox管理命令#查看当前运行的虚拟机列表 VBoxManage list runningvms #启动虚拟机(winxp)命令 VBoxManage startvm winxp -type vrdp #关闭虚拟机命令 VBoxManage controlvm winxp poweroff #查看虚拟机详细信息 VBoxManage showvminfo winxp --details #重新启动虚拟机自动启动服务（若自启动的虚拟机未启动，则会启动） systemctl restart vboxautostart-service