Гадать, если ваша машина виртуальной машины, используйте следующую команду:
- Под Linux: использовать
lspci | grep -ic vmware
или dmesg | grep -ic vmware
или dmidecode | grep -ic vmware
- Под OpenBSD: использовать
pcidump -v | grep -ic vmware
или dmesg | grep -ic vmware
- Под Darwin/Mac OS X: использовать
system_profiler | grep -ic vmware
Я думаю, что FreeBSD и NetBSD также имеют эквивалент команды pcidump
, но я использую в основном OpenBSD в эти дни, поэтому я не уверен на 100%.
Вы также можете попытаться найти строку VMWare в /var/log/messages
, например, и dmesg | grep -ic vmware
должен работать практически на всех платформах (с той оговоркой, что ваш dmesg
может быть перезаписаны, если машина работает уже в течение длительного времени) ,
Все эти команды должны возвращать числовое значение. Если это значение больше нуля, ваш компьютер является виртуальной машиной. Обратите внимание, что значение может отличаться в зависимости от машины и команды, но результат больше нуля всегда указывает на виртуальную машину.
В качестве дополнительного бонуса, если вы используете Virtual Box, просто замените vmware
на virtualbox
, и команды должны работать точно так же.
Вот результаты на Linux виртуальной машины:
# dmidecode | grep -ic vmware
4
# lspci | grep -ic vmware
35
А вот результаты на Linux физической машина:
# dmidecode | grep -ic vmware
0
lspci | grep -ic vmware
0
Насколько угадывая дату установки машины, это не очень просто. Попробуйте использовать команду find
, чтобы искать самый старый файл на жестком диске, но даже это приблизительное значение, так как сервер, возможно, несколько раз обновлялся между сегодняшним днем и в первый раз, когда он был установлен.
Это работает только для Linux. –
Нет, он работает для Linux, OpenBSD и Darwin. Я тестировал их на всех трех ОС, поэтому я знаю, что они работают. Фактически для FreeBSD вы должны взглянуть на 'pciconf' и' devinfo': они должны работать практически так же, как и в приведенных мною примерах. –