Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一个我犯的关于虚拟化的一个愚蠢错误 #183

Open
AlexiaChen opened this issue Sep 11, 2024 · 0 comments
Open

一个我犯的关于虚拟化的一个愚蠢错误 #183

AlexiaChen opened this issue Sep 11, 2024 · 0 comments
Labels
linux linux的一切相关问题 云计算 虚拟化,云计算等等

Comments

@AlexiaChen
Copy link
Owner

AlexiaChen commented Sep 11, 2024

在这里暂时不讨论类似QEMU的纯软件虚拟化,因为没有硬件参与,云计算无法商用。所以都需要宿主机的CPU本身就支持硬件虚拟化的指令。Intel AMD的x86处理器都有相关指令,比如svm或vmx。当然,ARM64也有。。。。

我犯了一个什么错误呢?我就是不假思索的天真直觉以为同一个处理器架构的,可以虚拟实例化不同处理器架构的操作系统。这个直觉就是错的,也就是说windows x86的Hyper-V只能虚拟化x86架构的Linux或Windows。无法虚拟化ARM64下的Linux或Windows。而ARM64下的Linux 上的KVM,也只能虚拟化运行ARM64架构的操作系统。

对于KVM或者Hyper-V都是一样的,毕竟商用的虚拟化都需要硬件参与,纯软件的模拟当然可以,但是没有人这样做,一般是拿来调试测试用的,比如你自己在x86上写一个ARM64的玩具操作系统,需要用QEMU或 Bochs这样的emulator来运行,这样是可以的

我说难怪在一台ARM64下的信创麒麟系统下virsh-install一个x86的Linux iso镜像会报以下错误呢。我就没有仔细想想。

UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table


Synchronous Exception at 0x00000000B4C5B814


Synchronous Exception at 0x00000000B4C5B814

参考资料

@AlexiaChen AlexiaChen added 云计算 虚拟化,云计算等等 linux linux的一切相关问题 labels Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linux linux的一切相关问题 云计算 虚拟化,云计算等等
Projects
None yet
Development

No branches or pull requests

1 participant