0

最近、VMware に Ubuntu マシンをインストールしましたが、Ubuntu カーネルが仮想化されたマシンで実行されていることを検出したことに気付きました。どうしてそうなった?また、Ubuntu システムは、HyperCall を発行するタイミングと、操作を実行するためのシステム コールを発行するタイミングをどのように判断するのでしょうか?

4

1 に答える 1

0

システムについてはわかりませんが、多くのスクリプトで、自分のマシンがネイティブ マシンまたは仮想環境で実行されていることを確認するために使用しているのは、コマンド「dmidecode」です。

たとえば、このコマンドの出力を確認できます。

[root@mailserver ~]# dmidecode -t システム

dmidecode 2.9

SMBIOS 2.31 が存在します。

ハンドル 0x0001、DMI タイプ 1、25 バイト

システムインフォメーション

メーカー:ヴイエムウェア株式会社

製品名: VMware 仮想プラットフォーム

バージョン: なし

シリアル番号: VMware-56 4d eb 70 28 36 a8 c0-08 bb 55 cf dc e6 4f 60

UUID: 564DEB70-2836-A8C0-08BB-55CFDCE64F60

ウェイクアップタイプ: 電源スイッチ

. . . . . . . . . .

ここで、製品名は必要なものを提供します。システムコマンドとして同じものがシステムで使用されていると思います。

于 2015-04-21T05:11:17.497 に答える