目录

VirtualBox最小化安装

目录

一、搭建后台运行的centos7服务器

VirtualBox官网centOS7镜像网站列表清华大学镜像网站链接

首先安装VirtualBox虚拟机,最新版就可以。下载centos7镜像文件,首先打开网站列表,搜索框输入Asia寻找亚洲地区,然后找一个链接点进去,选择版本7,选择isos目录,无脑往下点,然后选择CentOS-7-x86_64-Minimal-2009.iso 镜像文件,下载即可(也可直接点击清华大学的链接,就能直接选对应iso文件下载了)

minimal是最小体积的centos,无界面,想要有界面下载everything或者dvd都可以

Warning: VirtualBox7.0之后的版本安装可能会出现Invalid installation directory错误, 直接给出省流解决办法,管理员打开cmd控制台,一定是cmd不是powershell,然后输入以下命令:

icacls D:\VBox /reset /t /c
icacls D:\VBox /inheritance:d /t /c
icacls D:\VBox /grant *S-1-5-32-545:(OI)(CI)(RX)
icacls D:\VBox /deny *S-1-5-32-545:(DE,WD,AD,WEA,WA)
icacls D:\VBox /grant *S-1-5-11:(OI)(CI)(RX)
icacls D:\VBox /deny *S-1-5-11:(DE,WD,AD,WEA,WA)

D:\VBox是你的VirtualBox安装目录,最好是在盘符根目录下创建安装目录,否则你就要递归所有目录执行一遍上述命令!!!且在执行上述命令时会更改对应目录下的所有文件权限。例如:D:\app\VBox是你的安装目录,则需要执行:

icacls D:\app /reset /t /c
icacls D:\app\VBox /reset /t /c

这两条命令,你的安装目录层级有多深就要幂等执行多少条,所以建议一定要安装在最上层目录下!该解决方案来源于官网,为什么要这么做里面也有讨论和说明。

命令解释说明:

  • icacls: 用于显示或修改访问控制列表 (ACL)。
  • /reset: 用于将 ACL 重置为默认的权限。
  • /t: 递归处理所有子目录和文件。
  • /c: 继续执行命令,即使发生错误。
  • /inheritance:d: 移除继承的权限。
  • /grant: 授予访问权限。
  • *S-1-5-32-545: Users组的SID。
  • (OI)(CI)(RX): 对象继承、容器继承、读取和执行权限。
  • /deny: 拒绝访问权限。
  • *S-1-5-11: Authenticated Users组的SID。
  • (DE,WD,AD,WEA,WA): 删除、写入数据、添加数据、写入扩展属性、写入属性权限。

1、新建虚拟电脑

Network error

2、配置硬件

Network error

3、创建虚拟硬盘

Network error

4、点击下一步,点击完成,创建成功

Network error

5、配置服务器

对新建的服务器右键选择设置打开以下页面

5.1、选择系统,勾选启动顺序中的网络,然后点击光驱,点击右边的向上箭头将光驱放到第一位

Network error

5.2、选择网络,选择网卡2,点击启动网络连接,连接方式选择仅主机Host-only网络

这一步如果没有显示其余网卡,则可以先跳过,等安装完系统之后关闭虚拟机,然后再次打开设置,就会显示其余网卡了

Network error

注:网卡1也要已经启动网络连接,连接方式默认为网络地址转换NAT即可

5.3、点击右下角确定即配置完毕,配置完成之后的主界面往下滑动如下图

Network error

注:马赛克是因为这个地方的教程是后续添加的,so ψ(._. )>

6、选中服务器,点击右上角启动,启动服务器(第一次需正常图形化界面启动)

Network error

选择第一个,敲击回车

7、等待安装的过程,直到出现选择语言界面,如下图

Network error

左边滑到最下面选择中文,右边选择简体中文,点击继续(可选,可以直接默认使用英文)

8、出现如下界面

Network error

9、配置键盘和语言支持(可选,增加英语键盘和语言)

Network error

10、配置系统安装位置

Network error

选择本地标准磁盘,点击完成即可(外面不再显示黄色警告,如果还出现再次点进来选中再点击完成)

11、配置网络

Network error

选择第一个网卡enp0s3,点击右边的关闭按钮变成打开,网络显示已连接即成功,点击完成

12、配置完成,点击开始安装

Network error

13、设置root密码(必须),添加用户(可选),等待安装

Network error

14、安装完成,点击重启

Network error

15、重启之后默认选择第一个进入即可,然后输入root和密码进行登录,如下图即成功

Network error

16、检查网卡配置和网络是否连接

Network error

输入ip addr查看网卡,然后输入ping www.baidu.com查看能够连接外网(按ctrl+c终止)

17、配置静态ip地址

17.1、查看virtualboxip地址

17.1.1、右键电脑右下角wifi标志,点击打开网络设置
Network error
17.1.2、选择更改适配器选项
Network error
17.1.3、找到含有VirtualBox Host-Only Ethernet标志的网络,右键点击属性
Network error
17.1.4、找到ipv4,点击右下方属性
Network error
17.1.5、查看ip地址
Network error

这里如果不是这样显示,配置成这样,然后点击确定

17.2、进入服务器,编辑网络地址

17.2.1、查看是否含有网卡配置文件(敲击tab快捷输入)

ls /etc/sysconfig/network-scripts/

Network error
17.2.2、编辑第二块网卡配置文件(即ifcfg-enp0s8,如果没有请先返回第5条配置服务器)

如果返回之后配置完毕使用ip addr命令能够显示两张网卡,但是net-word-scripts中没有ifcfg-enp0s8文件,那么就使用以下命令生成一个网卡配置文件:

nmcli con add con-name enp0s8 type ethernet ifname enp0s8

这个时候就会出现这个配置文件了,然后进行下列操作。

vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

编辑红框区域,如果没有就自己添加(vi编写文件,:wq保存退出)

Network error
17.2.3、重启网络服务

systemctl restart network

17.3、输入ip addr查看配置是否成功

Network error

成功显示ip地址即为成功

18、配置xshell远程连接

Network error Network error

点击确定后会弹框,选择接受并保存即可,然后如下图显示就表示远程连接成功

Network error

二、配置初始的centos7

1、更新yum

yum update -y

如果命令执行失败,提示yum源错误,则需要下载yum华为云镜像源,然后备份/etc/yum.repos.d下的所有文件:

cd /etc/yum.repos.d 
find . -type f exec cp {} {}.bak \;

将下载的文件上传到该目录下,原有的CentOS-Base.repo文件删除,上传的文件重命名为CentOS-Base.repo,执行以下命令:

yum clean all
yum makecache
yum repolist all

这时候就可以重新执行yum update -y命令了

2、安装vim

yum install -y vim

3、解决xshell连接显示警告(The remote SSH server rejected X11 forwarding request)

3.1、安装xorg-x11-xauth

yum install -y xorg-x11-xauth

3.2、防火墙开放22端口

firewall-cmd –zone=public –add-port=22/tcp –permanent

3.3、重新加载防火墙

firewall-cmd –reload

这时候你断开xshell连接,然后重新连接就会发现警告消失了,但是会一个文件不存在的语句(/usr/bin/xauth: file /root/.Xauthority does not exist)

3.4、创建指定文件(解决/usr/bin/xauth: file /root/.Xauthority does not exist)

touch ~/.Xauthority

现在重新连接xshell就不会显示任何报错了

三、配置windows自启

win11任务计划脚本

$VBoxManagePath = "E:\VBox\VBoxManage.exe"
$VMName = "remote1"
$TaskName = "StartVM-$VMName"
if (-not (Test-Path $VBoxManagePath)) {
    Write-Error "VirtualBox not found in: $($VBoxManagePath).please check path or update script!"
    exit 1
}
$ActionArgument = "startvm ""$VMName"" --type headless"
$TaskAction = New-ScheduledTaskAction -Execute $VBoxManagePath -Argument $ActionArgument -WorkingDirectory (Split-Path $VBoxManagePath)
$TaskTrigger = New-ScheduledTaskTrigger -AtLogon
$TaskSettings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries:$false -DontStopIfGoingOnBatteries:$false
$TaskPrincipal = New-ScheduledTaskPrincipal -UserId "Blue" -RunLevel Highest
$ScheduledTask = New-ScheduledTask -Action $TaskAction -Trigger $TaskTrigger -Settings $TaskSettings -Principal $TaskPrincipal
try{
	Register-ScheduledTask -TaskName $TaskName -InputObject $ScheduledTask -Force
	Write-Host "create startup task '$TaskName' success!"
} catch {
	Write-Error "create or update task fail:$($_.Exception.Message)"
	exit 1
}

参数解释说明:

  • $VBoxManagePath: VirtualBoxManager的路径,修改为你自己的路径
  • $VMName: 虚拟机的名称,修改为你自己的虚拟机名称
  • $TaskName: 任务名称,默认是StartVM-$VMName
  • $TaskAction: 任务执行的操作,在目标工作目录启动虚拟机
  • $TaskTrigger: 任务触发器,系统启动时触发
  • $TaskSettings: 任务设置,默认是使用交流电才启动任务,如果使用电池则不启动
  • $TaskPrincipal: 任务主体,UserId是当前登录的用户名(最好具有管理员权限),RunLevel是最高权限

复制到txt文件中,重命名为startvm.ps1,放在你想要的目录下,然后以管理员身份运行powershell,执行此脚本:脚本所在目录\startvm.ps1直接回车,输出create startup task ‘StartVM-remote1’ success!即成功