Hyper虚拟机安装CentOS7

准备工作

启用Hyper-V

Hyper虚拟机安装CentOS7

优化服务

Hyper虚拟机安装CentOS7

连接服务器

Hyper虚拟机安装CentOS7

无法启动问题

Hyper虚拟机安装CentOS7

联网问题

Hyper虚拟机安装CentOS7

  • 使用ip addr 命令获取网卡mac地址
  • 修改/etc/sysconfig/network-scipts/ifcfg-eth0
    • 添加 HWADDR=00:15:54:74:c1:08
    • 修改 ONBOOT=yes

Hyper虚拟机安装CentOS7
Hyper虚拟机安装CentOS7

升级系统

Hyper虚拟机安装CentOS7

安装ssh服务并启动

Hyper虚拟机安装CentOS7

启动ssh服务

Hyper虚拟机安装CentOS7
CentOS7下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso

日常使用

由于精简了Hyper-V服务,我们使用时:

  • 以管理员权限启动PowerShell
  • net start vmms //启动虚拟机服务,以确保可以运行虚拟机
  • Start-VM //powershell特有命令
  • start-vm centos7_01 //启动centos7_01虚拟机
  • 也可使用如下脚本

启动.bat


rem 需要以管理员权限运行
rem 提权

set "_FilePath=%~f0"
set "_FileDir=%~dp0"
setlocal EnableExtensions EnableDelayedExpansion

:: Get Administrator Rights
fltmc >nul 2>&1 || (
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\GetAdmin.vbs"
    echo UAC.ShellExecute "!_FilePath!", "", "", "runas", 1 >> "%temp%\GetAdmin.vbs"
    "%temp%\GetAdmin.vbs"    
    del /f /q "%temp%\GetAdmin.vbs" >nul 2>&1
    exit /B
)

:: Go to the Path of the Script
pushd "!_FileDir!"
echo "!_FileDir!"


powershell -executionpolicy remotesigned -File centos.ps1
pause

centos.ps1

net start vmms
start-vm centos7_01

注意点

  • 当前物理机关机时,有虚拟机未关闭,那么下次物理机开机时会自启

关于虚拟机静态IP问题

一些问题的解决方案

虚拟机联网

  1. 编辑/etc/sysconfig/network-scipts/ifcfg-eth0文件
  2. 先这样一下ONBOOT=yes
  3. 不行再这样HWADDR=00:15:54:74:c1:08
  4. 具体参考上面【联网问题】

设置CentOS静态IP

  1. 情况是这样的,当centos已经可以联网之后,我发现经常重启后虚拟机IP会变,稀奇古怪的,具体原因就是因为DefaultSwitch这个Hyper-V默认的NAT每次重启自己变IP,导致虚拟机也跟着变,不仅变IP,而且连着网段也一起变了。

  2. 百度一下 Hyper-V DefaultSwitch 固定IP

  3. 无果。

  4. 另寻它法。目前自己总结两个解决方案。总的来说就是固定IP,但是这里面也会有很多问题。

  5. 默认的总是变,那我就自己新建了一个虚拟交换机吧,相当于是虚拟网络,如下图Hyper虚拟机安装CentOS7

  6. 新建一个第二种之后呢,网络适配器面板 ncpa.cpl 中就会多出一个虚拟网卡Hyper虚拟机安装CentOS7

  7. 右键->属性->IPV4Hyper虚拟机安装CentOS7

  8. 默认全部是自动获取的,为了固定IP,这里使用自定义,DNS服务器可以不需要配置,我这里配置的目的主要是为了直通 docker-hub (114.114.114.114),下面一个是新加坡的DNS服务器地址,为了通谷歌。

  9. 其中为什么是 192.168.137.1 这个网段呢,因为这时Windows默认的,话说要修改默认的要去注册表,后面会用到网络共享,默认就是这个。这个是可以改的,不会下次重新连共享会变回来,就是现在默认的。

  10. 物理机这样设置就可以了,下面看CentOS虚拟机

  11. Hyper虚拟机安装CentOS7

  12. ONBOOT=yes

  13. IPADDR=192.168.137.101

  14. GATEWAY=192.168.137.1

  15. DNS1=192.168.137.1

  16. #DNS1=114.114.114.114

  17. #DNS2=165.21.83.88

  18. NETMASK=255.255.255.0

  19. #BROADCAST=192.168.137.255

  20. 虚拟机也设置好了,物理机与虚拟机就可以正常通信ssh啥的,再不会重启改变了。

  21. 但是这时虚拟机是连不上外网的,只能和物理主机通信,套路如下:

  22. Hyper虚拟机安装CentOS7

  23. 这时就一些OK了。

  24. 但是紧接着问题又来了,你重启物理机试下。重启之后你就会发现又上不了网了,需要重新共享一下。

  25. 发现虚拟机又上不了网了,最后谷歌一把找到答案,

  26. 原因:官方解释是这样的,为了省,,,4分钟内没有forward流量就会自动停止,且不会自动启动,那么重启之后上不网也正常了,因为不会自动启动。

  27. 解决方案:https://social.technet.microsoft.com/Forums/zh-CN/efb64b6a-a90c-469c-ba42-53866ddde7ad/win10?forum=win10itprogeneralCN

  28. 您好,

  29. 请先将“Internet Connection Sharing”这个服务设置为自动。

  30. 然后在这个路径下 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess 添加一个注册表子项。

  31. 在空白处右击鼠标,新建“DWORD(32位)值(D)”,名称叫做“ EnableRebootPersistConnection ”,将数值数据改为1。

  32. 注意:编辑注册表时要小心。错误地修改注册表可能会导致严重问题。在操作之前请备份您的注册表。

  33. 做完这些设置后,重启您的机器,然后测试这个方法是否有效。

  34. 最后实测:修改注册表即可,服务为默认手动触发即可Hyper虚拟机安装CentOS7

  35. 开始担心会每次开机自启的,因为不是每次都会使用。浪费性能,实测不会,只有在开启交换机才会。

  36. 所以就目前来看应该是最好的方案了。

  37. =======================================

  38. 另外一个固定IP的方法,就是上外网用默认的DefaultSwitch,ssh连接再用另外一个虚拟网卡。

上一篇:windows下docker容器启动时提示端口不可用的解决办法


下一篇:在Windows 10上用Hyper-V安装CentOS 7