#!/bin/bash # # @Branislav Zeljak v0.1 # # Create VBox clear # Variablen IFS=" " VAR_OS_UBU=Ubuntu_64 VAR_OS_RH=RedHat_64 VAR_VGA=vmsvga # none|vboxvga|vmsvga|vboxsvga VAR_VID=32 VAR_RDP=339 VAR_NIC=bridged VAR_NET=en0 VAR_BOOT=60000 VAR_PATH="${HOME}/VirtualBox VMs/ISO" VAR_VB="${HOME}/VirtualBox VMs" VAR_UBUD=ubuntu-20.04.1-desktop-amd64.iso VAR_UBUS=ubuntu-20.04.1-live-server-amd64.iso VAR_CO7=CentOS-7-x86_64-Minimal-2009.iso VAR_CO8=CentOS-8.2.2004-x86_64-minimal.iso # Eingabe Aufforderung & Schleife read -p "Wievile VMs werden benoetigt? [1]: " VAR_QUAN read -p "Welche Praefix soll die VM erhalten?: " VAR_PRE echo COLUMNS=6 PS3='Please enter your choice: ' echo "Welche Distribution soll Instaliert werden? " options=("Ubuntu Desktop" "Ubuntu Server" "CentOS 7" "CentOS 8" "Quit") select opt in "${options[@]}" do case $opt in "Ubuntu Desktop") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_UBU}" VAR_ISO="${VAR_UBUD}" ;; "Ubuntu Server") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_UBU}" VAR_ISO="${VAR_UBUS}" ;; "CentOS 7") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_RH}" VAR_ISO="${VAR_CO7}" ;; "CentOS 8") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_RH}" VAR_ISO="${VAR_CO8}" ;; "Quit") break ;; *) echo "invalid option $REPLY" ;; esac read -p "Wieviele CPUs? [1]: " VAR_CPU read -p "Wiviel Memory? [1024]: " VAR_MEM VAR_QUAN=${VAR_QUAN:-1} VAR_CPU=${VAR_CPU:-1} VAR_MEM=${VAR_MEM:-1024} for N in $(seq 1 $VAR_QUAN) do VBoxManage createvm \ --name ${VAR_NAME}-${N} \ --ostype ${VAR_OS} \ --register \ --basefolder ${VAR_VB}/ # CPU Memory Netzwerk RDP echo "Netzwerk" VBoxManage modifyvm ${VAR_NAME}-${N} \ --ioapic on \ --cpus ${VAR_CPU} \ --memory ${VAR_MEM} \ --graphicscontroller ${VAR_VGA} \ --vram ${VAR_VID} \ --nic1 NatNetwork \ --nic2 ${VAR_NIC} \ --bridgeadapter2 ${VAR_NET} \ --vrde on \ --vrdemulticon on \ --vrdeport ${VAR_RDP}${N} \ --bioslogodisplaytime ${VAR_BOOT} # Create SATA Controler VBoxManage storagectl ${VAR_NAME}-${N} \ --name "SATA Controller" \ --add sata \ --controller IntelAhci \ --add sata \ --controller IntelAhci # Create HD-0 VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi \ --size 102400 \ --format VDI # Create HD-1 VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi \ --size 10240 \ --format VDI # Attach HD-0 to storage controller VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "SATA Controller" \ --port 0 \ --device 0 \ --type hdd \ --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi # Attach HD-1 to storage controller VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "SATA Controller" \ --port 1 \ --device 0 \ --type hdd \ --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi # IDE controller for CD-ROM VBoxManage storagectl ${VAR_NAME}-${N} \ --name "IDE Controller" \ --add ide \ --controller PIIX4 # Attach CD-ROM ISO VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "IDE Controller" \ --port 1 \ --device 0 \ --type dvddrive \ --medium ${VAR_PATH}/${VAR_ISO} # Boot VBoxManage modifyvm ${VAR_NAME}-${N} \ --boot1 disk \ --boot2 dvd \ --boot3 none \ --boot4 none # VBoxManage startvm --type headless ${VAR_NAME}-${N} done break done