vmware 打开后,tumbleweed 无法正常关机

大佬们好! 我使用 vmware 装了一个 win7 的虚拟机。打开虚拟机之后,tumbleweed 无法正常关机,会卡死在一个加载的页面,必须断电才可以。

vmware 在关机前已正常关闭。

另外,断电关机后,再打开 vmware 发现 虚拟机的网络无法连接。。。

这是什么问题?有什么解决办法吗?

卡死在一个加载的页面?上面显示的是什么提示信息?

我没遇到过无法关机的情况,但发现只要开启过 VMware 的虚拟机,关机的时侯要比没开过虚拟机时稍微多几秒钟。并且我在打开 VMware 的界面(只是界面,尚未开启虚拟机),就经常能触发内核日志消息:

do_IRQ: 1.39 No irq handler for vector

我没用过 vmware 所以我只说下我用 vbox 虚拟机的经验你看看有用没 (假如确认网线插好了而且之前的 win7 虚拟机是能上网的只是断电之后才莫名上不了网那下面的就不用看了,因为下面是假设你没设置让它上网的情况而不是莫名出问题后的情况。):
正常关机应该是要把所有打开的软件都让它们自行退出并保存数据,所以你看关机之前看看能不能先把虚拟机软件正常关机或者强制退出,然后再让真实系统正常关机可能就不会一直卡在正在关机的界面了。

网络首先检查你机箱的网线插好没,笔记本检查 Wi-Fi 连上没,然后看下那个 win7 虚拟机的设置里有没有打开允许虚拟机联网的选项,然后再看下设置的什么类型的网络连接 (下面会说),
如果你用了翻墙软件的话还要检查下浏览器和系统的代理设置,如果没打开翻墙软件还设置的用翻墙软件的代理上网的话,(clash 之类的代理类翻墙软件是这样子,但是 VPN 我不清楚)
就会什么网页都打不开(比如 Firefox 可以设置成使用翻墙软件上网但是可以添加不通过它上网的例外网站,可以把国内网站加进去)。

对了还可以检查下防火墙的网络设置里有没有允许你用的软件上网。

附上网上大佬 12 年写的教程里的说明 (原链接放在最下面):
◇网卡模式

虚拟系统的网卡和真实系统有较大差别。虚拟系统的网卡可以设置为不同的模式。不同的网卡模式主要影响网卡可访问的范围(可见性)。常见的网卡模式有如下几种:

Host Only(对外部网络不可见)
顾名思义,该模式的网卡只在 Host OS 的范围内可见。因此,该模式的网卡是无法访问 Host OS 的外部网络(也就是说:无法访问其它电脑)。
虽然 Host-Only 网卡不能访问外部网络,但是多个 Host-Only 网卡之间是可以互相访问滴。比如你同时运行多个 Guest OS,把这些 Guest OS 上的网卡都设置为 Host-Only 模式,那么这些 Guest OS 是可以相互访问滴。

NAT(对外部网络单向可见)
NAT 的全称是 “网络地址转换”。考虑到本系列是扫盲性质,俺就不解释 NAT 的原理了。
处于 NAT 模式下的网卡,可以访问 Host OS 的外部网络。比方说你的 Host OS 已经接入互联网,那么 Guest OS 里面的软件可以通过 NAT 模式的网卡上网。但是,Host OS 外部(也就是其它电脑)是看不到这个 NAT 网卡的。
对于普通网友,俺建议把网卡设置为 NAT 模式。因为 NAT 模式可以起到类似防火墙的效果,比较有利于保护你的虚拟系统的安全。

Bridge(对外部网络双向可见)
所谓的双向可见就是——Bridge 模式的网卡可以看到外部的电脑,外部的电脑也可以看到该网卡。
普通网友一般不需要 Bridge 模式,NAT 模式就足够了。

Internal(对外部网络不可见)
这个模式类似于 “Host Only”,两者的差别如下:
“Host Only” 模式既可以被运行在 Host OS 系统中的进程看到,也可以被运行在 Guest OS 中的进程看到。
“Internal” 模式对于运行在 Host OS 系统中的进程【不】可见;只对运行在 Guest OS 系统中的进程可见。
到目前为止,Virtual Box 支持 “Internal 模式”,但是 VMware 不支持。所以下面以 Virtual Box 为例来说明其配置。
当你把某个 VM 的网卡模式设置为 “Internal” 模式,这时候界面上会让你输入一个 “名称”——这是用来区分不同的 “Internal 网段” 的。
在 VirtualBox 里面可以同时配置多个相互隔离的 “Internal” 网段,如果两个不同的 VM,其网卡都设置为 “Internal” 模式并且名称相同,那么这两个网卡可以互相通讯;反之(如果名称不同),则无法互相通讯。
原链接:扫盲操作系统虚拟机[5]:虚拟系统的配置(多图) @ 编程随想的博客 (要翻墙)
虚拟机系列目录链接:扫盲操作系统虚拟机[0]:概述 @ 编程随想的博客 (要翻墙)

补充一点详细的信息

1. 把之前的 vmware 卸载

sudo systemctl stop vmware-workstation-server.service
sudo vmware-installer -u vmware-player 

2. zypper dup 最新版本

操作系统: openSUSE Tumbleweed 20240126
KDE Plasma 版本: 5.27.10
KDE 程序框架版本: 5.114.0
Qt 版本: 5.15.12
内核版本: 6.7.1-2-default (64 位)
图形平台: Wayland
处理器: 12 × AMD Ryzen 5 2600 Six-Core Processor
内存: 15.5 GiB 内存
图形处理器: AMD Radeon RX 590 Series

3. 重装 vmware

sudo ./VMware-Player-Full-17.5.0-22583795.x86_64.bundle 

# gcc 之前已经有了,又安装了 sudo zypper install kernel-desktop-devel

4. 此时 一切正常

5. 关机后 卡在了这个界面

(手机拍摄 )大概卡了 5 到 6 分钟,断电关机 。之前卡了 30 分钟左右,我才断电关机,这次应该和上次一样,所以没有等太久

6. 再次打开 vmware 已经不能联网了。之后打开 vmware 并且打开虚拟机 就需要断电关机

wmware log
vmware.txt (190.4 KB)

系统日志 是在这吗?


我没有看到有用的信息…

vmware.log 不能打开网络的信息,在 1497 行。下面是 1497 行及上面一些行的信息

2024-01-29T11:54:12.346Z In(05) vcpu-0 USB: DevID(2000000400000000): Disconnecting device.
2024-01-29T11:54:12.346Z In(05) vcpu-0 USB: DevID(200000050e0f0003): Connecting device desc:name:VMware\ Virtual\ USB\ Mouse vid:0e0f pid:0003 speed:full family:hid deviceType:virtual-hid info:0000005 version:5.
2024-01-29T11:54:12.346Z No(00) vcpu-0 ConfigDB: Setting usb:0.present = "TRUE"
2024-01-29T11:54:12.346Z No(00) vcpu-0 ConfigDB: Setting usb:0.deviceType = "hid"
2024-01-29T11:54:12.346Z No(00) vcpu-0 ConfigDB: Setting usb:0.port = "0"
2024-01-29T11:54:12.346Z No(00) vcpu-0 ConfigDB: Setting usb:0.parent = "-1"
2024-01-29T11:54:12.352Z In(05) vcpu-0 memoryHotplug: Node 0: Present: 4095 MB (100 %) Size:65535 MB (100 %)
2024-01-29T11:54:12.352Z In(05) vcpu-0 PIIX4: PM Resuming from suspend type 0x0, chipset.onlineStandby 0
2024-01-29T11:54:12.353Z In(05) vcpu-0 SOUNDLIB: SoundLib_CreatePulseBackend: waiting for connection to Pulse server
2024-01-29T11:54:12.354Z In(05) vcpu-0 HDAudio: HDAudioConnectDisconnect: primary backend: pulse, fallback backend: dummy.
2024-01-29T11:54:12.354Z In(05) vcpu-0 VNET: 'ethernet0' enable link state propagation, lsp.state = 5
2024-01-29T11:54:12.354Z In(05) vcpu-0 VNET: MACVNetPortOpenDevice: Ethernet0: can't open vmnet device (No such file or directory)
2024-01-29T11:54:12.354Z In(05) vcpu-0 VNET: MACVNetPort_Connect: Ethernet0: can't open data fd
2024-01-29T11:54:12.355Z In(05) vcpu-0 Msg_Post: Warning
2024-01-29T11:54:12.355Z In(05) vcpu-0 [msg.vnet.connectvnet] Could not connect 'Ethernet0' to virtual network '/dev/vmnet8'. More information can be found in the vmware.log file.
2024-01-29T11:54:12.355Z In(05) vcpu-0 [msg.device.startdisconnected] Virtual device 'Ethernet0' will start disconnected.


感谢,我是一开始能上网,断电后就不能上网了。有无网络都还行,我的主要问题是每次都需要断电才能关机。。。

感谢。我补充了详细的信息。。。

我前两天才开始用 linux,命令行也刚会挂载硬盘,所以接下来说的只是我这 windosws 都是菜鸡的用户的没根据的感觉…
因为太不靠谱了所以如果这个帖子很久很久没大佬关注的话可以试试。

我觉得可以试试重装系统,这次你下载完官网的 iso 之后记得检查哈希值,比如:sha256(windows 需要工具,7zip 也可以,linux 一般自带校验工具,教程网上一大堆),首先确保下载的是个完整的镜像。然后用靠谱的安装工具制作 u 盘启动盘重装系统。网上大佬这篇教程里的 rufus(windows 平台) 和 dd 命令 (linux 自带,windows 上也有.) 我都觉得装出来的系统还行,(不过教程本身有点年代了…).

重装系统前要记得要把系统安装到的那个盘里重要的东西都备份一下。
设置的 alias 也记得一备份,免得再打一遍。
翻墙软件和桌面用的壁纸有的话也…

看这些教程都要翻墙
哈希值 (散列值) 是什么:扫盲文件完整性校验——关于散列值和数字签名 @ 编程随想的博客
如何用 iso 镜像制作 u 盘安装盘:如何用 ISO 镜像制作 U 盘安装盘(通用方法、无需 WinPE) @ 编程随想的博客

还有就是按版本号发布的系统会比滚动更新的稳定一点 (虽然我这菜鸟用着还是会出各种问题。。),可以试试 openSUSE 的 Leap 版本,这个是按版本号更新。
关于版本号更新和滚动更新的区别:扫盲 Linux:如何选择发行版 @ 编程随想的博客

其实我也不知道重装系统能不能解决,所以等这个帖子要凉了又不想发新帖,网上也搜不到而且又有时间折腾的时候可以试试。

重装系统前一定记得要备份你放在要装系统的盘里重要的东西!

对了补充一点,直接关电源感觉会伤电脑,不知道你是不是关机的时候关不掉 vmware 这个软件,因为关机会先让所有软件保存数据后退出,关不掉某个软件大概就会导致卡在关机界面。
可以用在关机前先用 pstree -p 命令配合 grep 命令看下关不掉的软件的进程号,然后用 kill(需要进程号) 和 killall(进程号和进程名都可以) 命令强制进程退出 (可能会导致软件的数据来不及保存或者损坏,但是我觉得直接关电源也会造成这情况)。
还关不了机可以试试命令行里关于关机的命令。
这样感觉能比直接关电源好一点。

检查文件的哈希值和官网给的是不是一样可以把它们粘贴到一个文本文件里然后在命令行里用 cat 加上管道符 配合 uniq 命令,过滤重复行。

https://zh.opensuse.org/SDB:制作安装_U_盘#.E9.AA.8C.E8.AF.81.E4.B8.8B.E8.BD.BD.E7.9A.84ISO.E6.96.87.E4.BB.B6

没办法的时候,再重装吧····