Làm cách nào để biết tôi có đang làm việc trên Máy ảo hay không?


Câu trả lời:


37

Nếu là Windows, chỉ cần nhìn vào màn hình phần cứng. Nó sẽ có một tỷ và năm thiết bị ảo mang nhãn hiệu VMWare.


Đã đồng ý. Vì OP đã đề cập đến RDP, rất có thể đó là Windows, vì vậy bạn sẽ đến đó.
mfinni

+1 vì không cho rằng đó là Linux như tôi đã làm
Matt Simmons

3
Nhìn vào trình điều khiển cũng hoạt động cho linux. lsmod có thể sẽ trả lại thông tin mà bạn cần.
Seamus Connor

@Seamus: Đúng vậy!
Oli

3
Sửa chữa: Một tỷ sáu.
Get-HomeByFiveOClock

65

Trong cửa sổ CMD, gõ:

SYSTEMINFO

Bạn sẽ tìm thấy một dòng có văn bản sau (hoặc tương tự):

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

3
Nếu Hyper V được sử dụng, bạn nhận được: Nhà sản xuất hệ thống: Tập đoàn Microsoft Mô hình hệ thống: Máy ảo
Gayan Dasanayake

16

Nếu nó được xử lý bởi VMware, hiện tại nó không quá khó. Điều này có thể thay đổi trong tương lai.

# dmidecode -s system-manufacturer
VMware, Inc.

Tôi nhận được 'dmidecode' không được công nhận là lệnh nội bộ hoặc bên ngoài trên cả máy ảo Windows 7 và 10 ESXi 6.0.
Andrew S

dmidecodelà một lệnh linux được sử dụng để có được thông tin về phần cứng. Nó không hoạt động trên Windows.
Jaime

đối với linuxHĐH, đây là tùy chọn tốt nhất để phát hiện phần cứng so với máy ảo ..
Satish


8

Trên Windows, từ CMD:

Systeminfo | findstr /i model

trả về một cái gì đó như:

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

7

Trên Linux, chạy này:

$ dmesg |grep -i hypervisor
 Hypervisor detected: KVM

4
đối với linux, bạn gõ dmesg |grep DMIVirtual Machines: [root @ myhost ~] # dmesg | grep DMI <br> DMI 2.3 hiện tại. DMI: Microsoft Corporation Virtual Machine / Virtual Machine, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i virtual DMI: Microsoft Corporation Virtual Machine / Virtual Machine, BIOS 090006 05/23/2012 Khởi động hạt nhân bị ảo hóa trên đầu vào phần cứng trần: mô phỏng nút chuột Macintosh dưới dạng / thiết bị / ảo / đầu vào / đầu vào1 scsi 0: 0: 0: Truy cập trực tiếp Msft Virtual Disk 1.0 PQ: 0 Đầu vào ANSI: 4: Chuột tương thích HID Vmbus HID như / thiết bị / ảo / đầu vào / đầu vào4 Vật lý: [root @ backdev1
user215983

Điều này làm việc cho tôi. dmidecodetrở về permission denied !.
Alok Mishra

4

Nếu bạn đang ở trong Windows, như castrocra nói, bạn có thể chạy systeminfolệnh từ bên trong vỏ cmd , sau đó tìm "Phiên bản BIOS".

Đây có lẽ là máy thật :

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

Mặt khác, điều này gần như chắc chắn là một máy ảo :

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

1
Các siêu giám sát hiện đại có thể cung cấp các chuỗi tùy ý ở đây, làm cho việc kiểm tra này không đáng tin cậy lắm.
Michael Hampton

2
Thật không may, điều này không đáng tin cậy. Tôi đang chạy một máy ảo nhưng BIOS của tôi hiển thị là: "Phoenix Technologies LTD 6,00, 16/08/2013"
Gavin Ward

VMWare vớiPhoenix Technologies LTD 6.00, 9/17/2015
Ravi Parekh

3

Nó đã được trả lời, nhưng FWIW bạn có thể làm điều này trong powershell:

gwmi -q "select * from win32_computersystem"

"Nhà sản xuất" sẽ là "Tập đoàn Microsoft" và "Model" sẽ là "Máy ảo" nếu đó là máy ảo hoặc nó sẽ hiển thị chi tiết nhà sản xuất thường xuyên nếu không, ví dụ: "Dell Inc." và "PowerEdge R210 II" tương ứng.


Buồn cười. Windows VM của tôi cho biết Nhà sản xuất và Model đều là "Bochs".
Michael Hampton

1
Hoặc trong cmd : wmic computersystem get manufacturer | find "VMware" && echo In VMWare || echo Not in VMWare. Đó là systeminfogiải pháp nhanh hơn dựa trên.
atzz 3/03/2015

@MichaelHampton Bạn có đang sử dụng máy ảo không? Nền tảng nào - HyperV, VMWare hoặc cái gì khác? Có vẻ như VM có thể đang được chạy trong trình giả lập Bochs hoặc đại loại như thế.
Richard Hauer


0

Nếu đó là máy ảo Unix, hãy sử dụng imvirt . Đó là tập lệnh Perl phát hiện VMWare, Xen và một số tập lệnh khác.


Anh ấy đang nói về một máy ảo Windows, không phải máy Unix
Mat

0

Một cách (tương đối) đơn giản để phát hiện thông tin ảo hóa chính là thông qua WMI / WBEM. Bạn có thể sử dụng không gian tên root \ CIM2 và truy cập lớp Baseboard (có đầy đủ thông tin BIOS thú vị) để có được mô tả về hệ thống "vật lý". Lớp này thường bao gồm thông tin về bo mạch chủ và khung - sản xuất, kiểu máy, số sê-ri, khác.

Chạy lệnh sau từ dấu nhắc lệnh hoặc phiên PowerShell:

wmic baseboard get manufacturer, product, Serialnumber, version

0

Thậm chí đơn giản hơn - wmic / node: bios get serialnumber

Bất cứ điều gì trả về số sê-ri kiểu Dell là vật lý.

Nó cũng sẽ trả về "VMware-42 22 26 a8 dd 6e e3 b3-2e 03 fc 2c 92 ae 2e 89", nếu đó là một máy ảo.


-2

Tôi đã có cùng một câu hỏi và thấy rằng có rất nhiều quy trình đang chạy với "VM" trong tên, ví dụ VMWareTray.exe


7
Có, nhưng chỉ khi gói công cụ VMware được cài đặt.
jscott

-2

nbtstat -a Kết quả sẽ cho bạn biết vì VM có tiền tố đặc biệt là 00-50-56-XX-XX-XX. Ngoài ra còn có một tiền tố khác mà nó sử dụng nhưng tôi không thể nhớ ở trên đỉnh đầu nhưng tôi nhớ Vcenter sử dụng 00-50-56-XX-XX-XX vì vậy đây chỉ là cái tôi kiểm tra.

Tôi nghĩ rằng đây là cách tốt nhất, cá nhân.


3
... ngoại trừ khi ai đó tự đặt địa chỉ MAC thành một thứ khác
Rex

hoặc nhân bản nó từ phần cứng hiện có trong tình huống PV
Rowan Hawkins
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.