如何在Linux用VirtualBox命令行安装Windows

本文记录了如何在Linux用VirtualBox纯命令行安装Windows的过程

  • 首先需要安装 VirtualBox
1
wget -qO- https://blog.yumc.pw/attachment/script/shell/vbox.sh | bash
  • 安装扩展包(如果是上述脚本 默认已经帮你下载好了 只需要执行安装命令)
1
2
3
4
5
6
7
8
9
10
[root@yumc]# wget https://download.virtualbox.org/virtualbox/5.2.18/Oracle_VM_VirtualBox_Extension_Pack-5.2.18.vbox-extpack
[root@yumc]# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.18.vbox-extpack
Do you agree to these license terms and conditions (y/n)? y

License accepted. For batch installaltion add
--accept-license=56be48f923303c8cababb0bb4c478284b688ed23f16d775d729b89a2e8e5f9eb
to the VBoxManage command line.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".
  • 创建虚拟机
1
2
3
4
5
VBoxManage createvm \
--name xp \
--ostype WindowsXP \
--register \
--basefolder /yumc/app/vbox/vms
  • 创建虚拟磁盘(单位为M) 一个系统盘 一个数据盘(你也可以只要一个盘 然后进入系统之后分区)
1
2
3
4
5
6
VBoxManage createmedium \
--filename /yumc/app/vbox/vdi/system.vdi \
--size 10240
VBoxManage createmedium \
--filename /yumc/app/vbox/vdi/data.vdi \
--size 309600
  • 调整虚拟磁盘(单位为M) 如果创建大小不对 可以调整大小
1
2
3
VBoxManage modifymedium \
/yumc/app/vbox/vdi/system.vdi \
--resize 10240
  • 克隆虚拟磁盘(比如装完系统后 你需要克隆一个系统)
1
2
3
VBoxManage clonemedium \
/yumc/app/vbox/vms/template/system.vdi \
/yumc/app/vbox/vms/xp/system.vdi
  • 创建硬盘控制器
1
2
3
4
VBoxManage storagectl \
xp \
--name storagectl \
--add ide
  • 挂载硬盘/光驱
1
2
3
4
5
6
VBoxManage storageattach xp \
--storagectl storagectl \
--type hdd \
--port 0 \
--device 0 \
--medium /yumc/app/vbox/vdi/system.vdi
1
2
3
4
5
6
VBoxManage storageattach xp \
--storagectl storagectl \
--type hdd \
--port 0 \
--device 1 \
--medium /yumc/app/vbox/vdi/data.vdi
1
2
3
4
5
6
VBoxManage storageattach xp \
--storagectl storagectl \
--type dvddrive \
--port 1 \
--device 0 \
--medium /yumc/app/vbox/iso/pe.iso
  • 卸载硬盘/光驱
1
2
3
4
5
6
VBoxManage storageattach xp \
--storagectl storagectl \
--type dvddrive \
--port 0 \
--device 1 \
--medium none
  • 设置启动顺序
1
2
VBoxManage modifyvm xp --boot1 dvd
VBoxManage modifyvm xp --boot1 disk
  • 设置网卡(可以用多种模式 这里用的是桥接)
1
2
3
4
5
6
7
VBoxManage modifyvm xp \
--nic1 bridged \
--cableconnected1 on \
--nictype1 82540EM \
--bridgeadapter1 enp2s0 \
--intnet1 brigh1 \
--macaddress1 auto
  • 开启远程桌面(可以设置端口)

如果打开这个功能 但是本地没有监听端口或者连不上 请检查扩展第一步扩展是否安装完成!!!

1
2
VBoxManage modifyvm xp --vrde on
VBoxManage modifyvm xp --vrdeport 3900
  • 设置内存
1
VBoxManage modifyvm xp --memory 1024
  • 启动虚拟机 下列两个命令都可以启动
1
VBoxManage startvm xp --type headless
1
VBoxHeadless -s xp &
  • 克隆虚拟机
1
VBoxManage clonevm xp
  • 操作虚拟机(暂停 恢复 重启 关机 保存状态)
1
2
3
4
5
VBoxManage controlvm xp pause
VBoxManage controlvm xp resume
VBoxManage controlvm xp reset
VBoxManage controlvm xp poweroff
VBoxManage controlvm xp savestate
  • 删除虚拟硬盘(他不会删除文件 只是关闭了这个文件 除非加上参数 --delete)
1
VBoxManage closemedium /yumc/app/vbox/vdi/image.vdi
  • 删除虚拟机(注销VM并且删除)
1
VBoxManage unregistervm --delete xp

错误处理

  • 遇到 vboxdrv 服务无法启用的问题

    1
    2
    3
    4
    5
    6
    7
    WARNING: The vboxdrv kernel module is not loaded. Either there is no module
    available for the current kernel (3.10.0-862.el7.x86_64) or it failed to
    load. Please recompile the kernel module and install it by

    sudo /sbin/vboxconfig

    You will not be able to start VMs until this problem is fixed.
    • 执行下列命令 安装内核头文件和开发包

      1
      yum install -y kernel-devel kernel-devel-$(uname -r)
    • 重新配置

      1
      /sbin/vboxconfig