命令行创建和配置虚拟机,远程图形界面安装操作系统
创始人
2025-11-09 06:07:11
0

致谢

VSRC 衷心感谢其行业合作伙伴 Bill Rice 贡献的高质量原创文章。 本文介绍本地命令行创建和配置虚拟机,以及远程图形界面安装操作系统。 VSRC欢迎提交高质量的原创文章。 优秀文章一旦被录用发表,就有好礼相送。 我们为你准备了丰富的奖品!

(活动最终解释权归VSRC所有)

背景介绍

你好,我是比尔。 我最后一次吃碗饭是在一天前。 这也是一顿加班饭。 今天,主管给我布置了一个新任务,要求我在公司服务器上安装一个虚拟机来测试一个安全软件。 我已经玩了无数次 VirtualBox,这对我来说不是问题!

但当我实际操作的时候,却发现了一个问题。 原来公司办公网络与IDC服务器之间只开放了TCP/22和TCP/8000端口。 其中22端口为堡垒机专用,堡垒机不支持SSH端口转发等高级功能。 这对于智商高的我来说不是问题,打开VNC,使用8000端口就可以了! 但操作后得知IDC内所有CentOS主机都没有安装图形界面,运维也不支持我们独立安装。 我最后一次通过VNC安装虚拟机的想法破灭了。

当时的情况是这样的:

虚拟光驱app_虚拟光驱软件virtual drive_虚拟光驱驱动

没有图形界面,如何通过VirtualBox安装虚拟机?

战略思路

毕竟饭碗总是要吃的,像我这样聪明的人总能想出办法。 听说VirtualBox支持命令行创建和管理虚拟机,而且虚拟机支持图形化访问。 如果我能:

1、通过命令行创建虚拟机;

2、配置虚拟机进行远程图形访问;

3. 将远程访问端口设置为8000。

那么,是不是可以通过命令行完美创建并启动虚拟机,并通过图形界面完成虚拟操作系统的安装呢?

虚拟光驱软件virtual drive_虚拟光驱app_虚拟光驱驱动

好的! 我们开始做吧!

操作流程

为了方便大家理解,我把实际操作的整个过程写下来,如下:

创建并注册虚拟机

我们将创建一个虚拟机。 虚拟机的名称是:Windows2016。 创建虚拟机时,将其注册到 VirtualBox 控制台。

##创建并注册虚拟机
VBoxManage createvm --name Windows2016 --register
##Virtual machine 'Windows2016' is created and registered.
##UUID: 4025526d-d848-4221-b19e-d55977acdb5d
##Settings file: '/opt/vms/Windows2016/Windows2016.vbox'

#
#彻底反注册并删除虚拟机文件!!!注意,慎重!
VBoxManage unregistervm --delete Windows2016 
##0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

虚拟机参数设置

接下来,配置虚拟机的参数,确保其能够启动和访问。

1.配置虚拟机系统、内存、CPU等参数

操作系统类型、内存和 CPU 数量等配置必须至少设置一次。 注意,配置CPU数量的前提是启用ioapic。

# 设置虚拟机操作系统类型为Windows2016
VBoxManage modifyvm Windows2016 --ostype Windows2016
# 设置虚拟机内存4GB
VBoxManage modifyvm Windows2016 --memory 4096
# 开启虚拟机ioapic后才能设置CPU数目
VBoxManage modifyvm Windows2016 --ioapic on
VBoxManage modifyvm Windows2016 --cpus 2

2.创建磁盘文件并绑​​定

当然,我们的虚拟机还需要40GB的磁盘。 您可以先创建一个虚拟机磁盘文件Windows2016_40G.vdi,然后将其绑定为虚拟机的SATA磁盘。

# 创建一块400GB的磁盘,文件名为:Windows2016_100G.vdi
VBoxManage createmedium --filename \
/opt/vms/Windows2016/Windows2016_40G.vdi --size 40000
##0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
##Medium created. UUID: 1c28421e-20ff-4a99-8314-45960a226837

# 设置SATA存储设备,并绑定到磁盘文件Windows2016_100G.vdi
VBoxManage storagectl Windows2016 --name SATA \
--add sata --controller IntelAhci --bootable on

VBoxManage storageattach Windows2016 --storagectl SATA \
--port 0 --device 0 --type hdd \
--medium /opt/vms/Windows2016/Windows2016_40G.vdi 

3.创建IDE光驱并挂载ISO

接下来为虚拟机创建IDE光驱,并挂载Windows 2016安装文件cn_windows_server_2016_updated_feb_2018_x64_dvd_11636703.iso

# 设置虚拟机IDE光驱,并挂在指定的iso文件
VBoxManage storagectl Windows2016 --name IDE \
--add ide --controller PIIX4 --bootable on

VBoxManage storageattach Windows2016 --storagectl IDE \
--port 0 --device 0 --type dvddrive \
--medium ~/cn_windows_server_2016_updated_feb_2018_x64_dvd_11636703.iso

如果安装系统后想在虚拟机中安装VirtualBox增强工具包,可以设置另一个光驱并挂载VBoxGuestAdditions.iso。 当然,你也可以等待系统安装完成,直接更改第一个光驱的挂载对象。

# 设置第二个IDE光驱,挂载VirutalBox组件iso (可选)
VBoxManage storageattach Windows2016 --storagectl IDE \
--port 1 --device 0 --type dvddrive \
--medium /usr/share/virtualbox/VBoxGuestAdditions.iso

4.设置虚拟机网络连接

为了让我们的虚拟机开机后能够连接互联网,需要对其网卡参数进行设置。 本例中Windows 2016虚拟机桥接到CentOS物理机的eth0网卡。

# 设置虚拟机网卡桥接模式,并绑定到系统eth0网卡
VBoxManage modifyvm Windows2016 --nic1 bridged \
--nictype1 82545EM --cableconnected1 on --bridgeadapter1 eth0

设置VRD端口及参数

好了,接下来进入最关键的一步了! VBoxManage可以创建并启动虚拟机,但启动后操作系统安装过程需要图形交互。 这就需要我们启用虚拟机的远程控制功能,启用VRDE虚拟光驱软件virtual drive,并将端口设置为我们可以使用的8000。

# 设置虚拟机启动后的图形管理程序监听端口:8000/tcp
VBoxManage modifyvm Windows2016 --vrdeport 8000 --vrdeaddress ""
# 启动VRDE允许远程图形界面访问
VBoxManage modifyvm Windows2016 --vrde on

启动虚拟机

好了,是时候启动虚拟机了! 由于处于远程SSH的黑窗状态,所以只能以无窗口模式启动(--type headless)。

# headless方式启动虚拟机
VBoxManage startvm Windows2016 --type headless

#
 Waiting for VM "Windows2016" to power on...
# VM "Windows2016" has been successfully started.

RDP远程连接进行安装

虚拟机启动成功后,会自动加载光驱和硬盘,进入Windows操作系统安装界面。 这时我们就可以通过办公终端的Windows RDP客户端连接VRDE端口来安装部署系统了。

注意RDP连接时要带上端口号:8000,而不是默认的3389。

虚拟光驱驱动_虚拟光驱软件virtual drive_虚拟光驱app

没错,你成功看到了虚拟机启动界面,进入了系统安装界面。

虚拟光驱驱动_虚拟光驱软件virtual drive_虚拟光驱app

接下来就可以使用键盘和鼠标完成远程操作系统的安装了。

虚拟光驱app_虚拟光驱驱动_虚拟光驱软件virtual drive

后面的流程你一定能够游刃有余,我就不赘述了。

替代指令

1.虚拟关机命令

# 关闭虚拟机
VBoxManage controlvm Windows2016 poweroff
##0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
VBoxManage controlvm Windows2016 acpipowerbutton

2.安装VirtualBox

# 下载和安装VirtualBox
[root@localhost ~]# wget https://download.virtualbox.org/virtualbox/6.0.12/VirtualBox-6.0-6.0.12_133076_el7-1.x86_64.rpm

[root@localhost ~]# yum install VirtualBox-6.0-6.0.12_133076_el7-1.x86_64.rpm

# 下载和安装增强功能扩展包
[root@localhost ~]# wget https://download.virtualbox.org/virtualbox/6.0.12/Oracle_VM_VirtualBox_Extension_Pack-6.0.12.vbox-extpack

[root@localhost ~]# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.12.vbox-extpack 

3. VirtualBox中常用命令

VBoxManage -v
## 6.0.12r133076
# 列举虚拟机和正在运行的虚拟机
VBoxManage list vms
## "Windows2016" {4025526d-d848-4221-b19e-d55977acdb5d}
VBoxManage list runningvms
## "Windows2016" {4025526d-d848-4221-b19e-d55977acdb5d}
# 查看虚拟机详细配置信息
VBoxManage showvminfo Windows2016 
# Name:                        Windows2016
# Groups:                      /
# Guest OS:                    CentOS_64
# UUID:                        d5dd4ecb-1921-4ce1-abf6-19727a5af69d
# Config file:                 /opt/vms/Windows2016/Win2016.vbox
# Snapshot folder:             /opt/vms/Windows2016/Snapshots
# Log folder:                  /opt/vms/Windows2016/Logs
# Hardware UUID:               d5dd4ecb-1921-4ce1-abf6-19727a5af69d
# Memory size                  6144MB
# Page Fusion:                 disabled
# VRAM size:                   8MB
# CPU exec cap:                100%
# HPET:                        disabled
# CPUProfile:                  host
# ...

防范措施

1)虚拟机安装完毕后,记得从光驱中删除ISO挂载对象;

2)VRDE默认不设置密码,系统安装完成后必须立即关闭;

3)虚拟机文件默认目录在~/VirtualBox VMs中,可以通过配置文件~/.config/VirtualBox/VirtualBox.xml进行修改;

4)如果出现如下错误,可能是系统内核版本不够,需要升级。

WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.10.0-957.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.
...
The distribution packages containing the headers are probably:
    kernel-devel kernel-devel-3.10.0-957.el7.x86_64
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel

此时,您可以尝试以下命令:

yum install kernel-devel 内核头文件

参考

我叫Bill,因为我给大家准备了这份文档(通过命令行创建虚拟机,通过远程图形界面安装操作系统),所以今天又要加班了~_~

精彩原创文章提交带来惊喜!

虚拟光驱软件virtual drive_虚拟光驱app_虚拟光驱驱动

欢迎贡献!

VSRC欢迎提交高质量的原创文章。 优秀文章一旦被录用并发表,将为您准备1000元税后现金或等值礼品的丰厚奖金,不设上限! 如果是系列安全用品,奖金就更丰厚了,税后一万元或者等值礼物虚拟光驱软件virtual drive,无上限! 您可以点击“阅读原文”了解规则。 (最终奖励根据文章质量而定,活动最终解释权归VSRC所有)

我们倾听您的宝贵建议

不知道,大家都喜欢看什么类型的信息安全文章呢?

不知道您希望我们更新哪些主题?

即日起,如果您有任何想法或建议,欢迎直接回复本公众号!

留下精彩留言并互动的热心用户将有机会赢取VSRC精美奖品!

同时我们也会根据您的反馈和建议精选热门话题进行原创发布!

相关内容

热门资讯

好... 在2024年的编程畛域,把握这10大利器,你将成为业界的佼佼者 互联网时代的节拍突飞猛进,尤其是Ch...
软... 软件开发可以属于多个专业,详细归属于哪个专业取决于不同的教育机构和学术体系。以下是一些常常出现的专业...
小... Scratch和都是适宜小在校生收费学习编程的软件。 首先,Scratch是一款由麻省理工学院(...
电... 疑问一:计算机编程软件有哪些?1. C/C++言语:Visual C++、Code::Blocks、...
编... 编程介绍经常使用Visual Studio、Eclipse或PyCharm等软件工程。 以下是关于这...
十... 1、MyEclipse——是以Eclipse为基础添加收回的一款企业级集成开发环境,用于Java、J...
不... 不属于计算机运行软件的是阅读器是失误的,应该是显示器。 计算机软件(Computer Softwar...
有... ERP中文称号为企业资源方案,是一种关键面向制作行业启生物质资源、资金资源和消息资源集成一体化治理的...
数... 数据中神思房树立规范包含装璜要求、供配电系统要求、空调新风系统要求、防雷接地系统要求、能源环境监控系...
数... 不属于。 数据库治理系统属于系统软件。 软件分为系统软件和运行软件两大类,系统软件关键包含:...
数... 数据库治理系统的关键配置如下:1、数据定义。 DBMS提供数据定义言语DDL,供用户定义数据库...
数... 数据库治理系统是系统软件,分类如下:软件系统分为系统软件和运行软件;而系统软件分为四个方面:操作系统...
计... 计算机软件系统理论被分为系统软件和运行软件两大类。 一、软件系统 1、操作系统:是系统软件的中心。 ...
电... 电脑中经常出现的英语 CPU(Center Processor Unit)中央处置单元 mainbo...
数... 对于数据库治理系统是系统软件吗,数据库治理系统有哪些这个很多人还不知道,当天来为大家解答以上的疑问,...
数... 数据库治理系统是一种能对计算机中所寄存的少量数据启动治理和控制的系统软件。 数据库治理系统的作用...
小... 作为一个国产手机喜好者,我不时都允许国产手机,目前我用的就是小米,如今手机因为app较多,所以经常会...
2... 该软件是指数据库治理系统,英文简称为DBMS,属于系统软件。 治理数据库的软件是数据库治理系统(...
卖... 卖哪些软件可以赚钱? 一、 1. 办公软件 2. 网络安保软件 3. 游戏软件 4. 软件开发工具 ...
网... 网络安保排名,居前十的有:奇安信、坚信服SANGFOR、华为HUAWEI、天融信TOPSEC、启明星...