备注:本人是2020年的macbookpro-i5,VMware用的是12
一.VMware软件
其实软件本身没问题,主要是没有windows里面设置方便,mac里需要去改配置文件,相对麻烦点,还是记一下。
首先,VMware软件网络这块,还是跟windows系统下一样,分为,仅主机,nat,桥接,三种模式。但是设置有点麻烦,桥接不用解释,跟windows下一样,选择了就行,不用太多设置。我主要记下nat模式,仅主机也可以参照该模式设置。
nat
先要在VMware的网络设置中添加(可以更改,但是建议添加,以免改错影响正常使用),记得勾选允许该网络上的虚拟机链接到外部网络(使用nat),如图:
然后去改对应的配置文件
用terminal(终端)工具,进入到路径
/Library/Preferences/VMware Fusion
注意,是从/开始,不是从~目录开始,~目录下也有一样的路径,但是最后的文件完全不一样。
deny@denydeMacBook-Pro VMware Fusion % sudo vim networking
deny@denydeMacBook-Pro ~ % cd /Library/Preferences/VMware\ Fusion
deny@denydeMacBook-Pro VMware Fusion % pwd
/Library/Preferences/VMware Fusion
deny@denydeMacBook-Pro VMware Fusion % ls
lastLocationUsed thnuclnt
license-fusion-120-e10-202001 vmnet1
networking vmnet2
networking.bak.0 vmnet8
networking 为网络相关的配置文件
vmnet2/nat.conf 为nat相关设置
先改networking,记得使用提权,这些配置文件都是只读文件
deny@denydeMacBook-Pro VMware Fusion % sudo vim networking
VERSION=1,0
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH 376CF4317A8BC32313ECE77A99687D6161C793E6
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 172.16.251.0
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_2_DHCP no #是否启用dhcp,因为可能会自己搭dhcp测试实验,所以就先关了,反正服务器也是静态ip
answer VNET_2_DHCP_CFG_HASH 47158F2E6B757CE564A3028BAC56BB0FA5080441 #不动
answer VNET_2_HOSTONLY_NETMASK 255.255.255.0 #物理机的vmnet2虚拟网卡的子网掩码
answer VNET_2_HOSTONLY_SUBNET 192.168.8.0 #vmnet2虚拟网卡的网段
answer VNET_2_NAT yes #是否启动nat
answer VNET_2_NAT_PARAM_UDP_TIMEOUT 30 #不动
answer VNET_2_VIRTUAL_ADAPTER yes #物理机是否使用虚拟网卡,如果没有要添加该字段
answer VNET_2_VIRTUAL_ADAPTER_ADDR 192.168.8.10 #物理机的和虚拟机通信用的ip地址
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH D83115F0A945214C1CF62B300A921C5759D26DDA
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.16.42.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes
add_bridge_mapping en0 3
只用修改vmnet2相关的内容,基本上只是停用了dhcp,改了网段,增加了物理机的ip
然后进入vmnet2目录,修改nat相关的设置
deny@denydeMacBook-Pro VMware Fusion % cd vmnet2
deny@denydeMacBook-Pro vmnet2 % sudo vim nat.conf
# VMware NAT configuration file
# Manual editing of this file is not recommended. Using UI is preferred.
[host]
# Use MacOS network virtualization API
useMacosVmnetVirtApi = 1
# NAT gateway address
ip = 192.168.8.1 #修改网关
netmask = 255.255.255.0 #修改子网掩码
# Last DHCP address
lastDhcpAddress = 192.168.8.127 #改成自己的网段就行了
# VMnet device if not specified on command line
device = vmnet2
# Allow PORT/EPRT FTP commands (they need incoming TCP stream ...)
activeFTP = 1
# Allows the source to have any OUI. Turn this on if you change the OUI
# in the MAC address of your virtual machines.
"nat.conf" 73L, 1682B
VMware软件的nat设置完成,需要完全重启一次VMware,才能生效.
二.Centos7的坑
Centos7报错截图
注意在该报错情况下啊,不要去做开机挂载的操作(修改/etc/fstab文件),不然会导致系统故障,网络服务启动不了等。
这个报错大概意思,是cpu不支持,让你去官网看支持的列表
硬盘缓存报错,SMBus控制器启动不了
英文不好,大概猜的,要确切答案自行百度。
找了一晚上,大概整理了下,网上的有用的处理方法:
1.Host SMbus controller not enabled
在启动黑名单中添加blacklist i2c_piix4
vi /etc/modprobe.d/dccp-blacklist.conf
在最后添加一行:blacklist i2c_piix4
2.[sda] Assuming drive cache: write through
去掉/etc/default/grub文件中倒数第二行的 “rhgb” 参数
再执行 grub2-mkconfig -o /boot/grub2/grub.cfg
此操作是去掉启动的动画读条
vim /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
3.Failed to start Crash recovery kernel arming
报错内容:
systemd[1]: kdump.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Crash recovery kernel arming.
解决方法:
编辑/etc/default/grub将crashkernel=auto修改为crashkernel=256M,预留内存大小根据自己内存大小修改,如果内存超过1TB可以将参数修改为512M
egacy引导方式重新生成grub.cfg的方式:
grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI引导方式重新生成grub.cfg的方式:
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
4.最后cpu相关的报错了。
这个报错我是通过升级内核处理的,其实不用处理,windows上装vmware也会有这个报错,而且升级的内核,本地源安装部分软件还会报错。
5.版本问题
VMware fusion 11所有版本,和12.1.X版本网关是最后一位是1,但是升级到12.2版本后,网关就变成2了,就会导致之前的虚拟机通过nat无法上外网,就算找到配置文件也无法修改,这个时候只有两个选择,要么把所有之前的虚拟机网关改了,要么退回到12.1版本,顺带说一句,这公司真的这么随意的么。。。
最近还遇到个问题,想在VM上的centos7开KVM再套个虚拟机,结果死活打不开kvm_intel的支持(我cpu是intel的)有解决的麻烦开导一下:(
注意:
尽量不要把你作为本地yum源的光盘放在有中文的路径上,因为我把镜像放在一个中文目录下,设置了开机挂载后就一直提示/dev/sr0不可用