当前位置:首页 > 虚拟机 > 正文

怎么判断电脑是虚拟机还是物理机(如何查看是物理机还是虚拟机)

怎么知道对面是不是虚拟机
对于Linux,可以使用以下命令判断当前系统是否为虚拟机:dmidecode-ssystem-product-name。如果输出包含Virutal。它是虚拟机,其他都是物理机。
虚拟机是指由软件创建的、运行在完全隔离的环境中、具有完整硬件系统功能的完整计算机系统。任何可以在物理计算机上完成的事情都可以在虚拟机上完成。
在计算机上创建虚拟机时,需要使用物理机的一部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS;有了硬盘和操作系统,虚拟机就可以像物理机一样工作。

教你探测虚拟环境是物理机、虚拟机还是容器
目前,裸机(物理机)、虚拟机、容器是云计算提供计算服务的三种主要形式。那么如何判断虚拟shell环境是物理机、虚拟机还是容器呢?
另外,如果是物理设备,那么该物理设备的制造商是什么?虚拟机是KVM还是XEN?容器是Docker、rkt、lxc等吗?
另外,如果是虚拟机,能否判断虚拟机运行在AWS、阿里巴巴还是OpenStack上?我们能否从虚拟机中获取UUID、实例类型、vpcid、安全组等信息?信息?
如果你使用的是systemd,可以直接使用systemd-detect-virt命令来判断是否是物理设备:
从上面,这是一个物理设备,而且制造商是LENOVO,型号是ThinkServerRD640,序列号是NC01711670
当然,如果是虚拟机,上面的命令就会失败。另外,还可以通过其他命令查看实际信息,例如lshw命令。
其实前面说过,如果使用systemd,可以直接使用systemd-detect-virt命令来判断是否是虚拟机:
如果是是虚拟机,会输出虚拟机类型,如kvm、oracle(virtualbox)、xen等
提到如何获取物理设备,我们可以通过dmidecode命令获取虚拟设备的更多信息。例如,我在KVM虚拟机上运行以下命令:
如上所述,产品名称为KVM,表示运行在KVM平台上,UUID为虚拟机的UUID机器。
虚拟机在XEN上的输出为:
上面说了,厂商是XEN,表示运行在XEN平台上,UUID是虚拟机的UUID。
腾讯云的虚拟机如下:
华为云的虚拟机如下:
如上所述,厂商是OpenStackFoundation,这意味着它运行在OpenStack平台上,UUID是虚拟机的UUID。
可见,虽然可以从系统信息中获取云资源的证据,但虚拟机的系统信息实际上并没有统一的标准。有些反映在Version中,有些反映在ProductName中。这一切都取决于系统信息。取决于云供应商的配置。
目前还没有办法可以百分百准确地判断虚拟环境是否是容器
如果环境中包含systemd-detect-virt命令,可以直接通过systemd-detectcommand-virt-c如果输出为None,则不是容器,否则会输出容器类型,如lxc。目前包含systemd的容器很少,我见过的也只有LXDubuntu镜像,所以这种方法适用性并不广泛。
1.显示当前默认启动设置
2.设置为GUI模式
3.设置为命令行模式
svm-Securevirtualmachine,AMD虚拟化技术AMD-V
vmx-Intel虚拟化技术Intel-VT