1

有没有办法找出我正在登录的(linux)系统是主机还是虚拟机?我可以通过 shell 或任何其他实用程序(VM)查看的任何症状?

4

3 回答 3

1

您可以检查已加载的驱动程序,以防 VMware 等完整的虚拟化环境。使用 lspci,lsmod, ... 等,或者您可以使用 dmesg 来获取此类信息。

于 2013-01-24T08:25:53.203 回答
1

如果脚本可用,则有一些脚本会尝试检测虚拟化的存在。例如virt-what,但我想您的问题没有通用解决方案。

于 2013-01-24T08:26:58.053 回答
0

你可以在这里使用 perl 模块 Sys::Detect::Virtualization

use Sys::Detect::Virtualization;

my $detector = eval { Sys::Detect::Virtualization->new() };
if( $@ ) {
    print "Detector may not be supported for your platform.  Error was: $@\n";
}

my @found = $detector->detect();
if( @found ) {
    print "Possible virtualized system.  May be running under:\n";
    print "\t$_\n" for @found;
}
于 2013-01-24T09:43:01.583 回答