Bagaimana saya tahu jika saya sedang bekerja pada Mesin Virtual atau tidak?


Jawaban:


37

Jika itu Windows, lihat saja layar perangkat kerasnya. Ini akan memiliki satu miliar dan lima perangkat virtual bermerek VMWare.


Sepakat. Karena OP menyebutkan RDP, kemungkinan besar Windows, jadi begitulah.
mfinni

1 karena tidak menganggap itu Linux seperti yang saya lakukan
Matt Simmons

3
Melihat driver juga berfungsi untuk linux. lsmod mungkin akan mengembalikan informasi yang Anda butuhkan.
Seamus Connor

@ Seamus: Cukup benar!
Oli

3
Koreksi: A miliar dan enam.
Get-HomeByFiveOClock

65

Pada jenis jendela CMD:

SYSTEMINFO

Anda akan menemukan baris dengan teks berikut (atau yang serupa):

System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform

3
Jika Hyper V digunakan, Anda mendapatkan: Sistem Produsen: Microsoft Corporation Model Sistem: Mesin Virtual
Gayan Dasanayake

16

Jika ditangani oleh VMware, itu tidak terlalu sulit pada saat ini. Ini bisa berubah di masa depan.

# dmidecode -s system-manufacturer
VMware, Inc.

Saya mendapatkan 'dmidecode' tidak dikenali sebagai perintah internal atau eksternal pada Windows 7 dan 10 ESXi 6.0 VMs.
Andrew S

dmidecodeadalah perintah linux yang digunakan untuk mendapatkan informasi tentang perangkat keras. Itu tidak bekerja di Windows.
Jaime

untuk linuxOS ini adalah opsi terbaik untuk mendeteksi perangkat keras vs mesin virtual ..
Satish


8

Di Windows, dari CMD:

Systeminfo | findstr /i model

mengembalikan sesuatu seperti:

System Model:              VMware Virtual Platform
                           [01]: Intel64 Family 6 Model 26 Stepping 5 GenuineInt

7

Di Linux, jalankan ini:

$ dmesg |grep -i hypervisor
 Hypervisor detected: KVM

4
untuk linux Anda ketik dmesg |grep DMIMesin Virtual: [root @ myhost ~] # dmesg | grep DMI <br> DMI 2.3 hadir. DMI: Mesin Virtual Microsoft Corporation / Mesin Virtual, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i virtual DMI: Mesin Virtual Microsoft Corporation / Mesin Virtual, BIOS 090006 05/23/2012 Booting kernel paravirtualized pada input perangkat keras: emulasi tombol mouse Macintosh sebagai / perangkat / virtual / input / input1 scsi 0: 0: 0: 0: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 4 input: Microsoft Vmbus HID-compliant Mouse sebagai / devices / virtual / input / input4 Fisik: [root @ backdev1
user215983

ini berhasil untuk saya. dmidecodedikembalikan permission denied !.
Alok Mishra

4

Jika Anda berada di Windows, seperti kata castrocra , Anda dapat menjalankan systeminfoperintah dari dalam shell cmd , kemudian mencari "Versi BIOS".

Ini mungkin mesin nyata :

BIOS Version:              Dell Inc. A03, 06/12/2010
BIOS Version:              Phoenix Technologies, LTD MS7254 1.08, 08/03/2007

Di sisi lain, ini hampir pasti mesin virtual :

BIOS Version:              VMware, Inc. VMW71.00V.0.B64.1201040214, 04/01/2012

1
Hypervisor modern dapat menyediakan string yang sewenang-wenang di sini, menjadikan ini pemeriksaan yang tidak terlalu andal.
Michael Hampton

2
Sayangnya ini tidak dapat diandalkan. Saya menjalankan mesin virtual tetapi BIOS saya ditampilkan sebagai: "Phoenix Technologies LTD 6.00, 16/08/2013"
Gavin Ward

VMWare denganPhoenix Technologies LTD 6.00, 9/17/2015
Ravi Parekh

3

Sudah dijawab, tetapi FWIW Anda dapat melakukan ini di PowerShell:

gwmi -q "select * from win32_computersystem"

"Pabrikan" akan menjadi "Microsoft Corporation" dan "Model" akan menjadi "Mesin Virtual" jika itu adalah mesin virtual, atau harus menampilkan detail pabrikan biasa jika tidak, misalnya "Dell Inc." dan "PowerEdge R210 II" masing-masing.


Lucu. VM Windows saya mengatakan bahwa Produsen dan Model keduanya "Bochs".
Michael Hampton

1
Atau di cmd: wmic computersystem get manufacturer | find "VMware" && echo In VMWare || echo Not in VMWare. Ini lebih cepat daripada systeminfosolusi berbasis.
atzz

@MichaelHampton Apakah Anda menggunakan VM? Platform mana - HyperV, VMWare atau yang lainnya? Sepertinya VM mungkin dijalankan di emulator Bochs atau sesuatu seperti itu.
Richard Hauer


0

Jika itu adalah Unix VM, gunakan imvirt . Ini adalah skrip Perl yang mendeteksi VMWare, Xen, dan beberapa lainnya.


Dia berbicara tentang mesin virtual Windows, bukan yang Unix
Mat

0

Satu (relatif) cara sederhana untuk mendeteksi informasi virtualisasi kunci adalah melalui WMI / WBEM. Anda dapat menggunakan namespace root \ CIM2 dan mengakses kelas Baseboard (penuh dengan informasi BIOS yang menarik) untuk mendapatkan deskripsi sistem "fisik". Kelas ini sering mencakup informasi tentang pembuatan motherboard dan sasis, model, nomor seri, lainnya.

Jalankan perintah berikut dari prompt perintah atau sesi PowerShell:

wmic baseboard get manufacturer, product, Serialnumber, version

0

Bahkan lebih sederhana - wmic / node: bios mendapatkan nomor seri

Apa pun yang mengembalikan nomor seri gaya Dell adalah fisik.

Ini juga akan mengembalikan "VMware-42 22 26 a8 dd 6e e3 b3-2e 03 fc 2c 92 ae 2e 89", jika itu mesin virtual.


-2

Saya memiliki pertanyaan yang sama dan menemukan bahwa ada banyak proses yang berjalan dengan "VM" dalam nama, misalnya VMWareTray.exe


7
Ya, tetapi hanya jika paket alat VMware diinstal.
jscott

-2

nbtstat -a Hasilnya akan memberi tahu Anda karena VM memiliki awalan spesifik yaitu 00-50-56-XX-XX-XX. Ada juga awalan lain yang digunakannya tetapi saya tidak ingat di bagian atas kepala saya, tetapi saya ingat Vcenter menggunakan 00-50-56-XX-XX-XX jadi ini adalah satu-satunya yang saya periksa saja.

Saya pikir ini adalah cara terbaik, secara pribadi.


3
... kecuali ketika seseorang secara manual mengatur alamat MAC ke sesuatu yang lain
Rex

atau mengkloningnya dari perangkat keras yang ada dalam situasi PV
Rowan Hawkins
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.