升级到最新的 Ubuntu 后 VMWare 无法启动

升级到最新的 Ubuntu 后 VMWare 无法启动

我在 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/"
  1. 通过运行以下命令,使用生成的密钥对模块进行签名:

    $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)

  2. 通过运行以下命令将公钥导入系统的 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/

相关内容