我在 Ubuntu 22.04 上运行 VMWare Workstation 16。自安装以来,每次它拒绝启动时(通常是在内核更新后),我都会成功运行以下命令。但是自最新更新以来,这些命令不再有帮助。
1 使用 openssl 生成密钥对来签名 vmmon 和 vmnet 模块:
$openssl req -new -x509 -newkey rsa:2048 -keyout MOK1.priv -outform DER -out MOK1.der -nodes -days 36500 -subj "/CN=VMware/"
通过运行以下命令,使用生成的密钥对模块进行签名:
$sudo /usr/src/linux-headers-
uname -r
/scripts/sign-file sha256./MOK1.priv./MOK1.der $(modinfo -n vmmon)$sudo /usr/src/linux-headers-
uname -r
/scripts/sign-file sha256./MOK1.priv./MOK1.der $(modinfo -n vmnet)通过运行以下命令将公钥导入系统的 MOK 列表:
$mokutil --import MOK.der
现在,我怀疑 OpenSSL 无法正常工作,因为它的输出略有不同,没有“生成的密钥或类似内容”之类的消息。以下是我得到的结果:
me@myLaptop:~$ sudo /usr/bin/openssl req -new -x509 -newkey rsa:2048 -keyout MOK1.priv -outform DER -out MOK1.der -nodes -days 36500 -subj "/CN=VMware/"
.+............+..++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...+.........+..+....+.....+......+......+......+......+...+.+...+.+...+..+.............+...+...+...........+.........+.........+..++ .....+............+....+.....+......+.........+.+.................+...++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
此外,用于对模块进行签名的命令不起作用。示例输出:
me@myLaptop:~$ sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./VM.priv ./VM.der $(modinfo -n vmmon)
modinfo: ERROR: Module vmmon not found.
Usage: scripts/sign-file [-dp] <hash algo> <key> <x509> <module> [<dest>]
scripts/sign-file -s <raw sig> <hash algo> <x509> <module> [<dest>]
me@myLaptop:~$
使用以下命令编译 vmmon/vmnet 内核模块的尝试未成功:sudo vmware-modconfig --console --install-all 上述命令的输出:
me@myLaptop:~$ sudo vmware-modconfig --console --install-all
[AppLoader] GLib does not have GSettings support.
Stopping VMware services:
VMware Authentication Daemon done
Virtual machine monitor done
make: Entering directory '/tmp/modconfig-oowlr7/vmmon-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/5.15.0-33-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-33-generic'
CC [M] /tmp/modconfig-oowlr7/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/cpuid.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/crosspage.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/memtrack.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/moduleloop.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/phystrack.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/sharedAreaVmmon.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/statVarsVmmon.o
/tmp/modconfig-oowlr7/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Free() falls through to next function PhysTrack_Add()
/tmp/modconfig-oowlr7/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Add() falls through to next function PhysTrack_Remove()
/tmp/modconfig-oowlr7/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Remove() falls through to next function PhysTrack_Test()
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/task.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/common/vmx86.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/bootstrap/bootstrap.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/bootstrap/monLoader.o
CC [M] /tmp/modconfig-oowlr7/vmmon-only/bootstrap/monLoaderVmmon.o
In file included from /tmp/modconfig-oowlr7/vmmon-only/./include/x86desc.h:33,
from /tmp/modconfig-oowlr7/vmmon-only/./include/modulecall.h:34,
from /tmp/modconfig-oowlr7/vmmon-only/common/task.c:60:
/tmp/modconfig-oowlr7/vmmon-only/common/task.c: In function ‘TaskRestoreHostGDTTRLDT’:
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:263:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
263 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:726:7: note: in expansion of macro ‘SET_TR’
726 | SET_TR(tr);
| ^~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:129:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
129 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:728:7: note: in expansion of macro ‘SET_LDT’
728 | SET_LDT(ldt);
| ^~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:263:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
263 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:751:10: note: in expansion of macro ‘SET_TR’
751 | SET_TR(tr);
| ^~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:129:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
129 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:761:7: note: in expansion of macro ‘SET_LDT’
761 | SET_LDT(ldt);
| ^~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c: In function ‘Task_Switch’:
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:215:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
215 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:228:22: note: in expansion of macro ‘SET_SEGREG’
228 | #define SET_SS(expr) SET_SEGREG(ss, expr)
| ^~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:2620:13: note: in expansion of macro ‘SET_SS’
2620 | SET_SS(kernelStackSegment);
| ^~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:215:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
215 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:224:22: note: in expansion of macro ‘SET_SEGREG’
224 | #define SET_DS(expr) SET_SEGREG(ds, expr)
| ^~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:2716:10: note: in expansion of macro ‘SET_DS’
2716 | SET_DS(ds);
| ^~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:215:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
215 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:225:22: note: in expansion of macro ‘SET_SEGREG’
225 | #define SET_ES(expr) SET_SEGREG(es, expr)
| ^~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:2717:10: note: in expansion of macro ‘SET_ES’
2717 | SET_ES(es);
| ^~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:215:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
215 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:226:22: note: in expansion of macro ‘SET_SEGREG’
226 | #define SET_FS(expr) SET_SEGREG(fs, expr)
| ^~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:2725:10: note: in expansion of macro ‘SET_FS’
2725 | SET_FS(fs);
| ^~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_assert.h:372:22: note: in definition of macro ‘ASSERT_ON_COMPILE’
372 | _Static_assert(e, #e); \
| ^
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:215:7: note: in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
215 | ASSERT_ON_COMPILE_SELECTOR_SIZE(expr); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/./include/vm_asm_x86.h:227:22: note: in expansion of macro ‘SET_SEGREG’
227 | #define SET_GS(expr) SET_SEGREG(gs, expr)
| ^~~~~~~~~~
/tmp/modconfig-oowlr7/vmmon-only/common/task.c:2726:10: note: in expansion of macro ‘SET_GS’
2726 | SET_GS(gs);
| ^~~~~~
make[2]: *** [scripts/Makefile.build:285: /tmp/modconfig-oowlr7/vmmon-only/common/task.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1875: /tmp/modconfig-oowlr7/vmmon-only] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-33-generic'
make: *** [Makefile:117: vmmon.ko] Error 2
make: Leaving directory '/tmp/modconfig-oowlr7/vmmon-only'
make: Entering directory '/tmp/modconfig-oowlr7/vmnet-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/5.15.0-33-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-33-generic'
CC [M] /tmp/modconfig-oowlr7/vmnet-only/driver.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/hub.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/userif.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/netif.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/bridge.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/procfs.o
/tmp/modconfig-oowlr7/vmnet-only/hub.c:237:24: warning: argument 1 of type ‘uint8[]’ {aka ‘unsigned char[]’} with mismatched bound [-Warray-parameter=]
237 | VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on
| ~~~~~~^~~~
In file included from /tmp/modconfig-oowlr7/vmnet-only/hub.c:43:
/tmp/modconfig-oowlr7/vmnet-only/vnetInt.h:173:34: note: previously declared as ‘uint8[20]’ {aka ‘unsigned char[20]’}
173 | VNetJack *VNetHub_AllocPvn(uint8 id[VNET_PVN_ID_LEN]);
| ~~~~~~^~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmnet-only/hub.c:261:20: warning: argument 3 of type ‘uint8[]’ {aka ‘unsigned char[]’} with mismatched bound [-Warray-parameter=]
261 | uint8 id[]) // IN: PVN ID to use (NULL if allocPvn == FALSE)
| ~~~~~~^~~~
/tmp/modconfig-oowlr7/vmnet-only/hub.c:68:37: note: previously declared as ‘uint8[20]’ {aka ‘unsigned char[20]’}
68 | uint8 id[VNET_PVN_ID_LEN]);
| ~~~~~~^~~~~~~~~~~~~~~~~~~
/tmp/modconfig-oowlr7/vmnet-only/driver.c: In function ‘VNetFileOpUnlockedIoctl’:
/tmp/modconfig-oowlr7/vmnet-only/driver.c:966:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
966 | {
| ^
/tmp/modconfig-oowlr7/vmnet-only/driver.c:976:4: note: here
976 | case SIOCGETAPIVERSION:
| ^~~~
CC [M] /tmp/modconfig-oowlr7/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/smac.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/vnetEvent.o
CC [M] /tmp/modconfig-oowlr7/vmnet-only/vnetUserListener.o
LD [M] /tmp/modconfig-oowlr7/vmnet-only/vmnet.o
MODPOST /tmp/modconfig-oowlr7/vmnet-only/Module.symvers
CC [M] /tmp/modconfig-oowlr7/vmnet-only/vmnet.mod.o
LD [M] /tmp/modconfig-oowlr7/vmnet-only/vmnet.ko
BTF [M] /tmp/modconfig-oowlr7/vmnet-only/vmnet.ko
Skipping BTF generation for /tmp/modconfig-oowlr7/vmnet-only/vmnet.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-33-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-oowlr7/vmnet-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-oowlr7/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory '/tmp/modconfig-oowlr7/vmnet-only'
Unable to install all modules. See log for details.
me@myLaptop:~$
另外,我尝试添加一个符号链接,如下所示,但没有成功: https://stackoverflow.com/questions/54124906/openssl-error-while-loading-shared-libraries-libssl-so-3
另外,我尝试修改 /etc/ssl/openssl.cnf 文件以暂时考虑 legacy_sect,但也没有用。可能是因为我还没有找到要重新启动哪个程序才能使更改生效:https://gist.github.com/rdh27785/97210d439a280063bd768006450c435d
我确实检查了相关流程并收到了以下库:
me@myLaptop:~$ ldd `which openssl`
linux-vdso.so.1 (0x00007ffe75d67000)
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fbe5ca98000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fbe5c656000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbe5c42e000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbe5cc4b000)
me@myLaptop:~$
我也尝试过卸载并重新安装,但没有成功。Vmlinux 仍然缺失。
me@myLaptop:~$ sudo vmware-installer --uninstall-product vmware-workstation
[sudo] password for me:
All configuration information is about to be removed. Do you wish to
keep your configuration files? You can also input 'quit' or 'q' to
cancel uninstallation. [yes]: yes
Uninstalling VMware Installer 3.0.0
Deconfiguring...
[######################################################################] 100%
Uninstallation was successful.
me@myLaptop:~$
尽管 vmlinux 不可用,但安装仍标记为成功:过程:https://linuxconfig.org/vmware-server-2-0-2-ubuntu-10-04-installation
me@myLaptop:~/Downloads$ sudo bash VMware-Workstation-Full-16.2.3-19376536.x86_64.bundle
Extracting VMware Installer...done.
Installing VMware VMX 16.2.3
Configuring...--- Logging error ---
Traceback (most recent call last):### ] 51%
…
fallthrough=]\n 966 | {\n | ^\n/tmp/modconfig-DePYNN/vmnet-only/driver.c:976:4: note: here\n 976 | case SIOCGETAPIVERSION:\n | ^~~~\nSkipping BTF generation for /tmp/modconfig-DePYNN/vmnet-only/vmnet.ko due to unavailability of vmlinux\nUnable to install all modules. See log for details.\n\n'
Installing VMware Workstation 16.2.3
Configuring...
[######################################################################] 100%
Installation was successful.
me@myLaptop:~/Downloads$ sudo vmware-modconfig --console --install-all
任何帮助我都会非常感激。谢谢。
答案1
您应该更新到 vmware 16.2.4,然后运行相同的脚本。它应该可以工作,如果不行,请查看https://communities.vmware.com/t5/VMware-Workstation-Pro/VMware-16-2-3-not-working-on-Ubuntu-22-04-LTS/td-p/2905535/