【问题标题】:Virtual Machine or Host?虚拟机还是主机?
【发布时间】:2013-01-24 08:17:42
【问题描述】:

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

【问题讨论】:

  • 根据足够好的虚拟机的定义,应该没有办法找出......
  • 如果你真的依赖一种方法来发现,你可能会发现虚拟机将朝着模糊你检测它们的方式发展......

标签: linux virtual-machine


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢。 dmesg | grep "Linux version" 在一种情况下对我有用。 (内核信息)在另一种情况下对我不起作用。我想没有确定的方法。
    【解决方案3】:

    你可以使用 perl 模块 Sys::Detect::Virtualization here

    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;
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-25
    • 2011-01-26
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2014-09-08
    相关资源
    最近更新 更多