Czy istnieje sposób na sprawdzenie, czy komputer z systemem Windows, na którym pracuję, jest wirtualny czy fizyczny? (Łączę się z RDP z maszyną. Jeśli jest to maszyna wirtualna, działa i jest obsługiwana przez VMWare).
Czy istnieje sposób na sprawdzenie, czy komputer z systemem Windows, na którym pracuję, jest wirtualny czy fizyczny? (Łączę się z RDP z maszyną. Jeśli jest to maszyna wirtualna, działa i jest obsługiwana przez VMWare).
Odpowiedzi:
Jeśli jest to Windows, wystarczy spojrzeć na ekrany sprzętowe. Będzie miał miliard pięć wirtualnych urządzeń marki VMWare.
W oknie CMD wpisz:
SYSTEMINFO
Znajdziesz wiersz z następującym tekstem (lub podobny):
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
Jeśli jest obsługiwany przez VMware, w tej chwili nie jest zbyt trudny. To może się zmienić w przyszłości.
# dmidecode -s system-manufacturer
VMware, Inc.
linux
systemu operacyjnego jest to najlepsza opcja do wykrycia sprzętu w porównaniu z maszyną wirtualną.
W Linuksie możesz także użyć „virt-what”. „ virt-what - wykryj, czy działamy na maszynie wirtualnej ”.
W systemie Windows z CMD:
Systeminfo | findstr /i model
zwraca coś takiego:
System Model: VMware Virtual Platform
[01]: Intel64 Family 6 Model 26 Stepping 5 GenuineInt
W systemie Linux uruchom to:
$ dmesg |grep -i hypervisor
Hypervisor detected: KVM
dmesg |grep DMI
systemie Linux wpisujesz Maszyny wirtualne: [root @ myhost ~] # dmesg | grep DMI <br> DMI 2.3 obecny. DMI: Microsoft Corporation maszyna wirtualna / maszyna wirtualna, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i virtual DMI: Microsoft Corporation maszyna wirtualna / maszyna wirtualna, BIOS 090006 05/23/2012 Uruchamianie jądra parawirtualizowanego na gołym sprzęcie: emulacja przycisku myszy Macintosh jako / devices / virtual / input / input1 scsi 0: 0: 0: 0: Bezpośredni dostęp Msft Virtual Disk 1.0 PQ: 0 ANSI: 4 wejście: Mysz zgodna z Microsoft Vmbus HID as / devices / virtual / input / input4 Fizyczne: [root @ backdev1
dmidecode
wrócił permission denied !
.
Jeśli jesteś w systemie Windows, jak mówi castrocra , możesz uruchomić systeminfo
polecenie z wnętrza powłoki cmd , a następnie poszukaj „wersji BIOS”.
Są to prawdopodobnie prawdziwe maszyny:
BIOS Version: Dell Inc. A03, 06/12/2010
BIOS Version: Phoenix Technologies, LTD MS7254 1.08, 08/03/2007
Z drugiej strony jest to prawie na pewno maszyna wirtualna :
BIOS Version: VMware, Inc. VMW71.00V.0.B64.1201040214, 04/01/2012
Phoenix Technologies LTD 6.00, 9/17/2015
Odpowiedź została udzielona, ale FWIW możesz to zrobić w PowerShell:
gwmi -q "select * from win32_computersystem"
„Producentem” będzie „Microsoft Corporation”, a „Modelem” będzie „Maszyna wirtualna”, jeśli jest to maszyna wirtualna, lub powinna wyświetlać regularne dane producenta, jeśli nie, np. „Dell Inc.” i „PowerEdge R210 II” odpowiednio.
wmic computersystem get manufacturer | find "VMware" && echo In VMWare || echo Not in VMWare
. Jest to szybsze niż systeminfo
oparte na rozwiązaniach.
Możesz wypróbować program „Host Detection” .
Jednym (stosunkowo) prostym sposobem na wykrycie kluczowych informacji o wirtualizacji jest WMI / WBEM. Możesz użyć przestrzeni nazw root \ CIM2 i uzyskać dostęp do klasy Baseboard (pełnej interesujących informacji o BIOSie), aby uzyskać opis „fizycznego” systemu. Klasa ta często zawiera informacje o płycie głównej i podwoziu - produkcji, modelu, numerze seryjnym i innych.
Uruchom następujące polecenie z wiersza polecenia lub sesji PowerShell:
wmic baseboard get manufacturer, product, Serialnumber, version
nbtstat -a Wynik pokaże, ponieważ maszyny wirtualne mają określony prefiks, który jest 00-50-56-XX-XX-XX. Jest też inny prefiks, którego używa, ale nie pamiętam u góry głowy, ale przypominam sobie, że Vcenter używa 00-50-56-XX-XX-XX, więc to ios ten, który sprawdzam.
Myślę, że to najlepszy sposób, osobiście.