The cpu has been disabled by the guest operating system

本文分析了Linux3.x内核在VMwareWorkstation7/Player3上因SMEP特性导致无法启动的问题,并探讨了通过重新编译内核禁用SMEP特性的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[url]http://communities.vmware.com/message/2105362#2105362[/url]
Re: Can't boot any Linux 3.x kernels in WS7/Player3 on Intel i5. Any ideas?

Long story short, this is because of SMEP (Supervisor Mode Execution Protection) support being added to the Linux kernel, which makes the kernel set the SMEP bit (bit 20) in the CR4 register, which kills the VM.
The "nosmep" kernel parameter doesn't fix this, as the kernel then writes 0 to the register (to disable SMEP) and on Win7+ this faults (as the bit is already set to 1, and setting it 0 is a supervisor operation.)
Theoretically using CPUID masking to clear the SMEP feature bit (bit 7 of EBX for level 7, page 0 of the CPUID data) should fix this, but the CPUID masking in VMWare doesn't seem to support masking this bit.
The only solution I've found is to recompile the kernel, commenting out most of setup_smep in /arch/x86/kernel/cpu/common.c
Anyone got any ideas on how to do the CPUID masking?

sigh....
just upgrade to vmware workstation 9.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值