Frage
Beim Starten einer virtuellen Maschine unter Ubuntu 20.04 VMware
wird ein Fehler gemeldet: Before you can run VMware several modules must be compiled and loaded into the running kernel
. Das Klicken nach Aufforderung install
kann nicht behoben werden.
Lösung
1 Laden Sie herunter vmware-host-modules
und wechseln Sie zum entsprechenden Zweig
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
git checkout workstation-16.1.2 #这里16.1.2替换为你的VM版本
Bei direkter Ausführung hier sudo make & sudo make install
wird folgender Fehler gemeldet:
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
2. Bearbeitenvm_asm_x86.h
BEARBEITEN vmware-host-modules/vmmon-only/include/vm_asm_x86.h
Ändern Sie Folgendes in Zeile 65:
#ifndef USE_UBSAN
#define ASSERT_ON_COMPILE_SELECTOR_SIZE(expr) \
ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
sizeof(expr) <= 2))
#else
#define ASSERT_ON_COMPILE_SELECTOR_SIZE(expr)
#endif
#define ASSERT_ON_COMPILE_SELECTOR_SIZE(expr)
Ändern Sie zu (andere kommentieren, nur diese Zeile behalten ):
// #ifndef USE_UBSAN
// #define ASSERT_ON_COMPILE_SELECTOR_SIZE(expr) \
// ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
// ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
// sizeof(expr) <= 2))
// #else
#define ASSERT_ON_COMPILE_SELECTOR_SIZE(expr)
// #endif
3.make & make install
Führen Sie dann Folgendes aus:
sudo make
sudo make install
Endlich kann die VM erfolgreich gestartet werden.
Referenzlink: