質問
Ubuntu 20.04 で仮想マシンを起動するとVMware
、次のエラーが報告されますBefore you can run VMware several modules must be compiled and loaded into the running kernel
。プロンプトに従ってクリックしてもinstall
問題は解決できません。
解決
1 ダウンロードしvmware-host-modules
て、対応するブランチに切り替えます
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
git checkout workstation-16.1.2 #这里16.1.2替换为你的VM版本
ここで直接実行すると、sudo make & sudo make install
次のエラーが報告されます。
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
2.編集vm_asm_x86.h
編集vmware-host-modules/vmmon-only/include/vm_asm_x86.h
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)
この行のみを残します)。
// #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
次に、以下を実行します。
sudo make
sudo make install
最後に、VM が正常に起動できるようになります。
参考リンク: