| | #!/bin/bash |
| |
|
| | |
| | check_hyperv() { |
| | |
| | if [ -d "/sys/hypervisor/microsoft" ]; then |
| | echo "Hypervisor: Hyper-V" |
| | return 0 |
| | fi |
| |
|
| | |
| | if dmesg | grep -qi "Hyper-V"; then |
| | echo "Hypervisor: Hyper-V (via dmesg)" |
| | return 0 |
| | fi |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | return 1 |
| | } |
| |
|
| | |
| | check_kvm() { |
| | |
| | if [ -c "/dev/kvm" ]; then |
| | echo "Hypervisor: KVM (via /dev/kvm)" |
| | return 0 |
| | fi |
| |
|
| | |
| | if [ -f "/sys/class/dmi/id/product_name" ] && grep -qi "KVM" "/sys/class/dmi/id/product_name"; then |
| | echo "Hypervisor: KVM" |
| | return 0 |
| | fi |
| |
|
| | |
| | if dmesg | grep -qi "KVM"; then |
| | echo "Hypervisor: KVM (via dmesg)" |
| | return 0 |
| | fi |
| |
|
| | return 1 |
| | } |
| |
|
| | |
| | if check_hyperv; then |
| | exit 0 |
| | elif check_kvm; then |
| | exit 0 |
| | else |
| | |
| | if [ -f "/sys/class/dmi/id/product_name" ] && grep -qi "VMware" "/sys/class/dmi/id/product_name"; then |
| | echo "Hypervisor: VMware" |
| | elif [ -f "/sys/class/dmi/id/product_name" ] && grep -qi "VirtualBox" "/sys/class/dmi/id/product_name"; then |
| | echo "Hypervisor: VirtualBox" |
| | elif [ -f "/sys/class/dmi/id/product_name" ] && grep -qi "QEMU" "/sys/class/dmi/id/product_name"; then |
| | echo "Hypervisor: QEMU" |
| | else |
| | echo "Hypervisor: Unknown or Bare Metal" |
| | fi |
| | exit 1 |
| | fi |
| |
|