Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxが仮想マシン上で動作しているかどうかを判断する方法

Linuxが仮想マシン上で動作しているかどうかを判断する方法

  

OpenVZ /XenのPV /UMLを判断するだけ

OpenVZ /XenのPV /UMLを判断するのが最も簡単です。たとえば、OpenVZ VPSの/proc /vzファイル、Xen PV仮想マシンの/proc /xen /ディレクトリ、UMLの/proc /cpuinfoディレクトリなどにUMLフラグがあります。検出する簡単なPythonスクリプトを作成します。#!/usr /bin /python#仮想マシン(openvz /xen pv /uml)でLinuxシステムが実行されているかどうかを確認します。

import sys、os

def main():os.getuid()!= 0の場合:print"をrootとして実行する必要がありますsys.exit(0)

#check OpenVZ /Virtuozzoif os.path.exists( "/proc /vz"):os.path.existsでない場合( "/proc /bc"): "openvzコンテナー"を印刷する "else":openvzノードを印刷する "

#Xenif osをチェックする.path.exists(" /proc /xen /capabilities"):if(os.path.getsize(" /proc /xen /capabilities")> 0):print" xen dom0" else:print" Xen domU"

#ユーザーモードLinux(UML)をチェックするf = open(" /proc /cpuinfo"、" r"; t = f.read(); f.close()if() T.find(" UML")> 0):< name" = ="< main>:< /main>:< /p>< /<>の判定

VMware /Xen HVM /KVMなどの仮想仮想マシンを使用している場合は、判断がより困難です。最も正確な方法は、判断するためにCPUIDを読み取ることです。 Xenのソースコードの下には、XenのC言語ツール/misc /xen-detect.cをテストするためのCコードがあり、その一例がVPSeeによって書き直され、関数がマクロに置き換えられ、ペアが追加されました。 VMwareとKVMの識別は、gccでコンパイルした後に実行できます。/**仮想マシン(vmware /xen hvm /kvm)で実行されているLinuxシステムがあるかどうかを確認します。* /#include stdio.h#include string.h

#define HYPERVISOR_INFO 0x40000000

#define CPUID(idx、eax、ebx、ecx、edx)\\ asm volatile(\\" test%1、%1; jz 1f; ud2a; .ascii \\"; xen \\ "1:cpuid" \\: "= b"(* ebx)、 "= a"(* eax)、 "= c"(* ecx)、 "= d"(* edx) )\\:" 0"(idx));

int main(void){符号なしint eax、ebx、ecx、edx;文字列[13];

CPUID(HYPERVISOR_INFO、 & eax、& ebx、& ecx、& edx); *(unsigned int *)(文字列+ 0)= ebx; *(unsigned int *)(文字列+ 4)= ecx; *(unsigned int *) )(文字列+ 8)= edx;

文字列[12] = 0; if(strncmp(文字列、 "XenVMMXenVMM"、12)== 0){printf ( "xen hvm \\ n");} else if(strncmp(string、 "VMwareVMware"、12)== 0){printf( "vmware \\ n");} else if(strncmp(string、") KVMKVMKVM "、12)== 0){printf(" kvm \\ n ");} elseprintf("ベアハードウェア\\ n ");

return 0;}

VirtualBoxの判断/Virtual PC

何ですか?この種のホームデスクトップ仮想マシンは何をインストールすればよいのかわからないのですか? !わからない場合は、Linuxでdmidecodeツールを実行して、製造元:innotek GmbH、製造元:Microsoft CorporationのキーワードでVirtualBoxおよびVirtual PCに対応する方法を探すことができます。

Copyright © Windowsの知識 All Rights Reserved