From 53a042a6aa9605833b22fbade060f972d4981e71 Mon Sep 17 00:00:00 2001 From: spiritLHLS <103393591+spiritLHLS@users.noreply.github.com> Date: Sun, 26 Feb 2023 11:36:29 +0800 Subject: [PATCH] Update check_kernal.sh --- check_kernal.sh | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/check_kernal.sh b/check_kernal.sh index 288f147..926f4ea 100644 --- a/check_kernal.sh +++ b/check_kernal.sh @@ -1,7 +1,7 @@ #!/bin/bash #from https://github.com/spiritLHLS/pve -# 打印信息 +# 用颜色输出信息 _red() { echo -e "\033[31m\033[01m$@\033[0m"; } _green() { echo -e "\033[32m\033[01m$@\033[0m"; } _yellow() { echo -e "\033[33m\033[01m$@\033[0m"; } @@ -11,27 +11,32 @@ _blue() { echo -e "\033[36m\033[01m$@\033[0m"; } if [ "$(egrep -c '(vmx|svm)' /proc/cpuinfo)" -eq 0 ]; then _red "CPU不支持硬件虚拟化,无法嵌套虚拟化KVM服务器,但可以开LXC服务器(CT)" exit 1 +else + _green "本机CPU支持KVM硬件嵌套虚拟化" fi # 检查虚拟化选项是否启用 if [ "$(grep -E -c '(vmx|svm)' /proc/cpuinfo)" -eq 0 ]; then _red "BIOS中未启用硬件虚拟化,无法嵌套虚拟化KVM服务器,但可以开LXC服务器(CT)" exit 1 +else + _green "本机BIOS支持KVM硬件嵌套虚拟化" fi # 查询系统是否支持 if [ "$(cat /sys/module/kvm_intel/parameters/nested)" = "Y" ]; then - _green "本机操作系统支持KVM硬件嵌套虚拟化,使用PVE虚拟化出来的KVM服务器可以在选项中开启KVM硬件虚拟化" + if lsmod | grep -q kvm; then + _green "本机符合要求:使用PVE虚拟化出来的KVM服务器可以在选项中开启KVM硬件虚拟化" + else + _yellow "KVM模块未加载,不能使用PVE虚拟化KVM服务器,但可以开LXC服务器(CT)" + fi else _yellow "本机操作系统不支持KVM硬件嵌套虚拟化,使用PVE虚拟化出来的KVM服务器不能在选项中开启KVM硬件虚拟化" fi -# 检查KVM模块是否已加载 -if lsmod | grep -q kvm; then - _green "KVM模块已经加载,可以使用PVE虚拟化KVM服务器" -else - # 加载KVM模块并将其添加到/etc/modules文件中 +# 如果KVM模块未加载,则加载KVM模块并将其添加到/etc/modules文件中 +if ! lsmod | grep -q kvm; then modprobe kvm echo "kvm" >> /etc/modules - _green "KVM模块已加载并添加到 /etc/modules 可以使用PVE虚拟化KVM服务器,也可以开LXC服务器(CT)" + _green "KVM模块已加载并添加到 /etc/modules,可以使用PVE虚拟化KVM服务器,也可以开LXC服务器(CT)" fi