私は(Linuxからの)VMware仮想マシンで実行しているかどうかはどのように伝えることができますか?

StackOverflow https://stackoverflow.com/questions/540907

  •  22-08-2019
  •  | 
  •  

質問

私は、VMware ESXサーバを持っています。私はRedHatのVMがそのサーバー上で実行されています。私はVMで実行している場合、プログラムでテストする方法が必要です。理想的には、私は、Perlからこれを行う方法を知っているように思います。

役に立ちましたか?

解決

「アプリケーションから仮想化OSを検出ですか」への回答を参照してください。ます。

他のヒント

彼らは文書化されていない機能/バグあるとして

あなたは100%で、いずれの方法に依存してはならない - 彼らはいくつかのホストOSや一部の仮想化ソリューションで動作しますが、彼らは作業を続けるという保証はありません。確かに、仮想化の全体のポイントは、可能な限り実際の金属などから区別できないことです。これを考慮して、受け入れ答えに記載されている青い錠剤赤い丸薬する( )href="https://stackoverflow.com/questions/154163/detect-virtualized-os-from-an-application">にこの同様の質問をすることは今のところ...動作しているようです。

私はあなたのNICのMACアドレスで調べることができます(ESXのバージョンによって異なります)と思います。 VMWareのNICで実行中の仮想マシンは、VMware、ノー物理NICのMACに割り当てられたメーカー文字列を持つことになります。 (私たちは、VMのMACにライセンスサーバーを偽装しようとしていたと、新しいバージョンは、あなたがそれを行うことはできません。)また、これはあなたがVMWareのように見えるように偽装されたNICと物理ボックス上で実行されていない保証するものではありません、それはとにかく、ほとんどの状況で行うには奇妙なことになります。

次のコマンドを実行します:

lspci | grep VMware

これは、このような何かを表示する必要があります:

  

00:0f.0 VGA互換コントローラ:のVMware SVGA IIアダプタ

     

00:11.0 PCIブリッジ:VMwareのPCIブリッジ(REV 02)

     

00:15.0 PCIブリッジ:VMwareのPCI Expressのルートポート(01 REV)

scroll top