Update synology5.sh

This commit is contained in:
MacRimi 2025-05-09 18:33:49 +02:00
parent db32d16df8
commit dd44e320b6

View File

@ -918,27 +918,12 @@ function create_vm() {
# Check if UEFI (OVMF) is being used =================== # Check if UEFI (OVMF) is being used ===================
if [[ "$BIOS_TYPE" == *"ovmf"* ]]; then if [[ "$BIOS_TYPE" == *"ovmf"* ]]; then
msg_info "Configuring EFI disk" msg_info "Configuring EFI disk"
EFI_STORAGE=$(select_efi_storage $VMID)
EFI_DISK_NAME="vm-${VMID}-disk-efivars"
# Determine storage type and extension EFI_STORAGE=$(select_efi_storage "$VMID")
STORAGE_TYPE=$(pvesm status -storage $EFI_STORAGE | awk 'NR>1 {print $2}')
case $STORAGE_TYPE in
nfs | dir)
EFI_DISK_EXT=".raw"
EFI_DISK_REF="$VMID/"
;;
*)
EFI_DISK_EXT=""
EFI_DISK_REF=""
;;
esac
STORAGE_TYPE=$(pvesm status -storage "$EFI_STORAGE" | awk 'NR>1 {print $2}')
EFI_DISK_ID="efidisk0" EFI_DISK_ID="efidisk0"
STORAGE_TYPE=$(pvesm status -storage "$EFI_STORAGE" | awk 'NR>1 {print $2}')
if [[ "$STORAGE_TYPE" == "btrfs" || "$STORAGE_TYPE" == "dir" || "$STORAGE_TYPE" == "nfs" ]]; then if [[ "$STORAGE_TYPE" == "btrfs" || "$STORAGE_TYPE" == "dir" || "$STORAGE_TYPE" == "nfs" ]]; then
@ -951,9 +936,6 @@ function create_vm() {
else else
EFI_DISK_NAME="vm-${VMID}-disk-efivars" EFI_DISK_NAME="vm-${VMID}-disk-efivars"
EFI_DISK_EXT=""
EFI_DISK_REF=""
if pvesm alloc "$EFI_STORAGE" "$VMID" "$EFI_DISK_NAME" 4M >/dev/null 2>&1; then if pvesm alloc "$EFI_STORAGE" "$VMID" "$EFI_DISK_NAME" 4M >/dev/null 2>&1; then
if qm set "$VMID" -$EFI_DISK_ID "$EFI_STORAGE:${EFI_DISK_NAME},pre-enrolled-keys=0" >/dev/null 2>&1; then if qm set "$VMID" -$EFI_DISK_ID "$EFI_STORAGE:${EFI_DISK_NAME},pre-enrolled-keys=0" >/dev/null 2>&1; then
msg_ok "EFI disk created and configured on ${CL}${BL}$EFI_STORAGE${GN}${CL}" msg_ok "EFI disk created and configured on ${CL}${BL}$EFI_STORAGE${GN}${CL}"
@ -966,9 +948,8 @@ function create_vm() {
ERROR_FLAG=true ERROR_FLAG=true
fi fi
fi fi
fi
fi
# ========================================================== # ==========================================================
@ -1059,28 +1040,10 @@ if [ "$DISK_TYPE" = "virtual" ]; then
for i in "${!VIRTUAL_DISKS[@]}"; do for i in "${!VIRTUAL_DISKS[@]}"; do
IFS=':' read -r STORAGE SIZE <<< "${VIRTUAL_DISKS[$i]}" IFS=':' read -r STORAGE SIZE <<< "${VIRTUAL_DISKS[$i]}"
STORAGE_TYPE=$(pvesm status -storage "$STORAGE" | awk 'NR>1 {print $2}')
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
case $STORAGE_TYPE in
nfs | dir)
DISK_EXT=".raw"
DISK_REF="$VMID/"
;;
*)
DISK_EXT=""
DISK_REF=""
;;
esac
DISK_NUM=$((i+1)) DISK_NUM=$((i+1))
DISK_NAME="vm-${VMID}-disk-${DISK_NUM}${DISK_EXT}"
# Create virtual disk
#STORAGE_TYPE=$(pvesm status -storage "$STORAGE" | awk 'NR>1 {print $2}')
SATA_ID="sata$i" SATA_ID="sata$i"
DISK_NUM=$((i+1))
if [[ "$STORAGE_TYPE" == "btrfs" || "$STORAGE_TYPE" == "dir" || "$STORAGE_TYPE" == "nfs" ]]; then if [[ "$STORAGE_TYPE" == "btrfs" || "$STORAGE_TYPE" == "dir" || "$STORAGE_TYPE" == "nfs" ]]; then
@ -1092,13 +1055,14 @@ if [ "$DISK_TYPE" = "virtual" ]; then
fi fi
else else
DISK_NAME="vm-${VMID}-disk-${DISK_NUM}"
msg_info "Allocating virtual disk for $STORAGE_TYPE..." msg_info "Allocating virtual disk for $STORAGE_TYPE..."
if ! pvesm alloc "$STORAGE" "$VMID" "$DISK_NAME" "$SIZE"G >/dev/null 2>&1; then if ! pvesm alloc "$STORAGE" "$VMID" "$DISK_NAME" "${SIZE}G" >/dev/null 2>&1; then
msg_error "Failed to allocate virtual disk $DISK_NUM" msg_error "Failed to allocate virtual disk $DISK_NUM"
ERROR_FLAG=true ERROR_FLAG=true
continue continue
fi fi
if ! qm set "$VMID" -$SATA_ID "$STORAGE:${DISK_REF}$DISK_NAME" >/dev/null 2>&1; then if ! qm set "$VMID" -$SATA_ID "$STORAGE:$VMID/$DISK_NAME" >/dev/null 2>&1; then
msg_error "Failed to configure virtual disk as $SATA_ID" msg_error "Failed to configure virtual disk as $SATA_ID"
ERROR_FLAG=true ERROR_FLAG=true
continue continue
@ -1108,13 +1072,14 @@ if [ "$DISK_TYPE" = "virtual" ]; then
msg_ok "Configured virtual disk as $SATA_ID, ${SIZE}GB on ${CL}${BL}$STORAGE${CL} ${GN}" msg_ok "Configured virtual disk as $SATA_ID, ${SIZE}GB on ${CL}${BL}$STORAGE${CL} ${GN}"
# Add information to the description DISK_INFO+="<p>Virtual Disk $DISK_NUM: ${SIZE}GB on ${STORAGE}</p>"
DISK_INFO="${DISK_INFO}<p>Virtual Disk $DISK_NUM: ${SIZE}GB on ${STORAGE}</p>" CONSOLE_DISK_INFO+="- Virtual Disk $DISK_NUM: ${SIZE}GB on ${STORAGE} ($SATA_ID)\n"
CONSOLE_DISK_INFO="${CONSOLE_DISK_INFO}- Virtual Disk $DISK_NUM: ${SIZE}GB on ${STORAGE} ($SATA_ID)\n"
done done
# HTML description # HTML description
HTML_DESC="<div align='center'> HTML_DESC="<div align='center'>
<table style='width: 100%; border-collapse: collapse;'> <table style='width: 100%; border-collapse: collapse;'>