Yanıtlar:
Sistemdeki donanımı incelemek için standart Linux araçlarını kullanın.
cat /proc/scsi/scsi
veya
ethtool -i eth0
veya
dmidecode | grep -i vmware
Bu komutların çıktısı "VMWare" üreticisinin adını taşıyan bir donanım gösteriyorsa, bir VMWare VM'sindesiniz. Burada sistem konfigürasyonları ve araçları farklı olduğu için çoklu komutlar verilmiştir.
cat /proc/scsi/scsi
güzel, çünkü her yerde mevcut gibi görünüyor ve yeni yazılım yüklemenizi veya ayrıcalıklı haklarla çalıştırmanızı gerektirmiyor.
/proc/scsi/scsi
Debian 7 kutumda göremiyorum ...
man virt-what
Bu algılama amacıyla (RedHat / Fedora sistemleri için) ve ilgili uyarılar için oluşturulmuş sezgisel yazıya bakın .
facter virtual
xenu
bunun bir VM olduğunu gösterir. Eğer “fiziksel” olarak dönerse, bunun tersi doğrudur (VM değil), örneğin:
facter virtual
Physical
Etrafınıza bakarak etrafa fikir verebilir ve düşünebilirsiniz /sys
. Örneğin /sys/class/dmi/id/sys_vendor
değeri var VMware, Inc.
.
Yüklüyse , lshw kullanabilirsiniz . Komut lshw -class system
bunu sistemime döndürür:
server1
description: Computer
product: VMware Virtual Platform
vendor: VMware, Inc.
version: None
serial: VMware-...
width: 64 bits
capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32
Bazı sanal ortamlar, bazı sanal cihazlarını, örneğin "SanalBox Display Adapter" olarak adlandırılan bir grafik kartı sunan VirtualBox gibi, biraz anlatacak isimlere sahip isimler verir. Ancak bunları aramak sizi belirli bir sanal makineye ve muhtemelen çok çeşitli sürümlere bağlar.
Kodunuzun ne tür bir sanallaştırma ayarlayabileceğini görmesi mümkün olabilir. Bu tamamen başarısız olursa, bir VM'de olabilirsiniz. Fakat siz de kolayca VM yetenekli donanıma sahip olmayan bir kutuda olabilirsiniz.
Linux için şunu yazın dmesg |grep DMI
:
[root @ myhost ~] # dmesg | grep DMI DMI 2.3 mevcut. DMI: Microsoft Corporation Sanal Makine / Sanal Makine, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i sanal DMI: Microsoft Corporation Sanal Makine / Sanal Makine, BIOS 090006 05/23/2012 Paravirtualize çekirdeği çıplak donanımdan başlatmak giriş: Macintosh fare düğmesi öykünme / devices / virtual / input / input1 olarak scsi 0: 0: 0: 0: Doğrudan Erişim Msft Sanal Disk 1.0 PQ: 0 ANSI: 4 giriş: Microsoft Vmbus HID uyumlu fare / devices / virtual / input / input4 olarak
[root @ backdev1 ~] # dmesg | grep DMI DMI 2.5 mevcut. DMI: IBM System x3650 M3 - [7945AC1] - / 90Y4784, BIOS - [D6E153AUS-1,12] - 06/30/2011
VM'de olup olmadığınızı tespit etmek için bir sürü kod var. Kırmızı hapla başla ve oradan ara. Offensive Computing'deki bu makale aynı zamanda iyi bir okumadır.
Bu işte kolay olanlardan hiçbiri işe yaramazsa :)
Ayrıca mac adresinizin ilk bölümünü burada arayabilir ve sanallaştırma şirketlerinden birine atanmış olarak listelenip listelenmediğini görebilirsiniz.
Bu çözümlerin hiçbirini beğenmedim, çünkü genellikle bir VMware CDROM sürücüsü ya da yüklü bellek sürücüsü olduğundan, dmesg bunu benim için hızlı bir şekilde onaylar ya da reddeder.
[server @ user ~] $ dmesg | grep VMware hda: VMware Sanal IDE CDROM Sürücüsü, ATAPI CD / DVD-ROM sürücüsü Satıcı: VMware Model: Sanal disk Rev: 1.0 Satıcı: VMware Model: Sanal disk Rev: 1.0 Satıcı: VMware Model: Sanal disk Rev: 1.0 Satıcı: VMware Model: Sanal disk Rev: 1.0 Satıcı: VMware Model: Sanal disk Rev: 1.0 Satıcı: VMware Model: Sanal disk Rev: 1.0 Satıcı: VMware Model: Sanal disk Rev: 1.0 VMware bellek kontrol sürücüsü başlatıldı
Bu bana daha iyi çalıştı çünkü üretici ve ürün adı hakkında özel bilgiler verdi.
dmidecode -t system|grep 'Manufacturer\|Product'
Dell sunucusundaki çıktı:
Manufacturer: Dell Inc.
Product Name: PowerEdge C5220
Virtualbox VM'deki çıktı:
Manufacturer: innotek GmbH
Product Name: VirtualBox
KVM / QEMU’da çıkış:
Manufacturer: QEMU
Product Name: Standard PC (i440FX + PIIX, 1996)
Bu, sunucuları daha iyi tanımlamak için bunları çözümleyebilen komut dosyaları için harikadır ... ancak altyapınızı Chef kullanıyorsanız Virtualization -> system
, chef sunucusundaki düğüm özniteliğini kontrol edebilirsiniz .
Çok fazla seviyorum:
hostnamectl status
veya beton:
hostnamectl status | grep "Chassis:"
Bir Linux Sisteminin Fiziksel Veya Sanal Makine Olduğunu Kontrol Etme
Bir Linux Sisteminin Fiziksel mi, Sanal Makine mi Olduğunu Kontrol Etmek İçin 16 Yöntem