IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    在ubuntu server环境下配置virtualbox并安装window X64系统

    杜工发表于 2015-11-30 14:41:06
    love 0

    近日因为公司IT提供的接口返回的数据只能用windows环境去解析, 可我处所有服务器已经完成了全linux进化,所以只好找了台空闲的ubuntu server去Virtualbox一个windows 2008.
    根据Oracle Virtualbox官方的统一叫法,ubuntu系统是host,而要安装的windows 2008是guest.
    其中host的信息为:

    Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64)

    而guest的镜像信息为:

    cn_windows_server_2008_r2_X64_standard_enterprise

    可以看到,这两个系统都是64位的。
    首先在host中为virtualbox的apt-secure配置公钥信息:

    wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

    然后在/etc/apt/sources.list添加下列行:

    deb http://download.virtualbox.org/virtualbox/debian vivid contrib

    该处需要根据你系统的发行版本, 将 ‘vivid’ 替换为 ‘utopic’, ‘trusty’, ‘raring’, ‘quantal’, ‘precise’, ‘lucid’, ‘jessie’, ‘wheezy’, 或 ‘squeeze’.我的是trusty,所以添加完变为:

    deb http://download.virtualbox.org/virtualbox/debian trusty contrib

    然后安装virtualbox-5.0:

    sudo apt-get update
    sudo apt-get install virtualbox-5.0

    安装完成会自动在dkms中注册virtualbox的核心模块,以保证各模块随系统自动更新。如果没有dkms,需要安装:
    sudo apt-get install dkms
    如果出现签名认证错误“The following signatures were invalid: BADSIG …”,需要执行下列操作:

    # sudo -s -H
    # apt-get clean
    # rm /var/lib/apt/lists/*
    # rm /var/lib/apt/lists/partial/*
    # apt-get clean
    # apt-get update

    安装成功后,因为是server版本的ubuntu,我们需要灵活使用vboxmanage这个工具进行虚拟机创建、安装、删除等一系列操作。
    切换到root用户下,保证权限足够大:
    sudo su
    然后在virtualboxHD目录下创建一个虚拟机所需要的硬盘,50G足够:

    vboxmanage createhd --filename virtualboxHD/win2008server --size 50000

    然后创建一个名字为win2008x64的guest虚拟机,这个ostype很重要,一定要选择对了,查看支持的系统类型:

    VBoxManage list ostypes

    创建过程:

    vboxmanage createvm --name='win2008x64' --ostype='Windows2008_64' --register

    然后指定guest使用的内存为1个G:

    vboxmanage modifyvm "win2008x64" --memory 1024

    创建硬盘控制器,并将刚创建的硬盘和镜像挂载上:

    vboxmanage storagectl "win2008x64" --name "IDE Controller" --add ide --bootable on
    vboxmanage storageattach "win2008x64" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium virtualboxHD/win2008server.vdi
    vboxmanage storageattach "win2008x64" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium Win2008_R2_x64fre_server_eval_zh-cn-GRMSXEVAL_CN_DVD.iso

    接下来指定网络类型为桥接,并指定控制guest的端口:

    vboxmanage modifyvm "win2008x64" --nic1 bridged
    vboxmanage modifyvm "win2008x64" --bridgeadapter1 eth0
    vboxmanage modifyvm "win2008x64" --vrde on
    vboxmanage modifyvm "win2008x64" --vrdeport 6000
    vboxmanage modifyvm "win2008x64" --vrdeaddress 10.103.236.182

    该处的vrdeaddress就是Host的ip地址。
    控制guest的权限认证为自定义:

    vboxmanage modifyvm "win2008x64" --vrdeauthtype external
    vboxmanage modifyvm "win2008x64" --vrdeauthlibrary VBoxAuthSimple

    然后生成一个密码:

    vboxmanage internalcommands passwordhash "密码"

    将密码配置到用户名上:

    vboxmanage setextradata "win2008x64" "VBoxAuthSimple/users/用户名" "生成的密码"

    然后就可以启动guest了:

    vboxmanage startvm "win2008x64" --type headless

    用自己PC电脑打开远程桌面(mstsc),使用刚生成用户名和密码,就可以连接到10.103.236.182:6000, 观察guest的系统安装情况。此时发现guest无法正常安装系统,错误提示:
    …cpu is not compatible with 64-bit mod
    回到host命令行,关闭guest:

    vboxmanage controlvm "win2008server" poweroff

    然后修改CPU,让它支持64位系统:

    vboxmanage setextradata "win2008x64" VBoxInternal/CPUM/CMPXCHG16B 1

    再启动guest,发现还是有同样的错误,查看/proc/cpuinfo的flags,发现有vmx标识,说明host的cpu是支持的虚拟化技术的,于是
    到virtualbox官网查半天,发现需要将Host的bios中的虚拟化配置选项vt-x打开,没办法,去机房实体操作BIOS,打开intel virtual technology选项后,重新启动guest,系统安装成功。

    接下来是配置guest的网络环境,需要关机。因为没有多余的ip,所以不能选择桥接类型了,只好改为nat。
    桥接所用命令:

    VBoxManage modifyvm "win2008x64" --nic1 bridged --cableconnected1 on --nictype1 82540EM --bridgeadapter1 eth0 --intnet1 brigh1 --macaddress1 auto

    修改为NAT所用命令:

    VBoxManage modifyvm "win2008x64" --nic1 nat

    然后把3389端口映射到host

    VBoxManage modifyvm "win2008x64" --natpf1 "guestrdp,tcp,,3389,,3389"

    如此,就可以使用自己的PC的远程桌面,直接通过host的ip连接guest了。

    至此,配置完成。



沪ICP备19023445号-2号
友情链接