背景:
由于现在普遍使用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.html
http://zpz.name/2274/
1.添加用户组
usermod -a -G vboxusers root
vboxusers 是virtualbox的默认用户组,virtualbox安装好后会自动创建该用户组。须将虚拟机的使用者加入该用户组才能正常使用。
2.创建虚拟机
VBoxManage createvm --name winxp --register
执行完该命令后会创建一个名为winxp的虚拟机,使用如下命令查看是否创建成功
VBoxManage list vms
3.创建虚拟磁盘
VBoxManage createvdi --filename /home/virtualbox/winxp.vdi --size 10240
4.创建硬盘控制器
VBoxManage storagectl winxp --name ide_controller --add ide
5.挂载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.iso
6.修改虚拟机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/virtualbox
vi /etc/default/virtualbox
写入如下内容
# virtualbox defaults file
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/autostartvm.cfg
2.创建文件 /etc/vbox/autostartvm.cfg
vi /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/vbox
4.为虚拟机设置开机自启动
VBoxManage modifyvm winxp --autostart-enabled on
5.启动虚拟机自动启动服务
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
文章作者:DOTATONG
发布日期:2017-12-09
评论