Skip to content

Instantly share code, notes, and snippets.

@don-rumata
Created December 14, 2020 22:29
Show Gist options
  • Save don-rumata/b0c93611e334792abb445b222be638d3 to your computer and use it in GitHub Desktop.
Save don-rumata/b0c93611e334792abb445b222be638d3 to your computer and use it in GitHub Desktop.
Create VM in VirtualBox
#!/usr/bin/env bash
VM_NAME="test-vm_$(date +%F_%H-%M-%S)"
# Если линков 2 и более - надо как-то их выбрать сортировкой или грепом. В общем - только для одного соединения.
IFNAME_WHEN_LINK_UP=$(grep up /sys/class/net/*/operstate | cut -d '/' -f 5)
# http://unix.stackexchange.com/a/121526 http://serverfault.com/a/224565
# Это чтобы знать где виртуальные винты создавать.
DEFAULT_MACHINE_FOLDER="$(vboxmanage list systemproperties | grep 'Default machine folder' | sed 's/ //g' | cut -d ':' -f 2)"
# Создаём виртуалку с названием "test-vm" и типом тачки: 64-х битная бубнта.
vboxmanage createvm --name "$VM_NAME" --ostype Ubuntu_64 --register
# Меняем параметры свежесозданной тачки: оперативы даём 512 метров, вырубаем дискеты, нахрен аудио, сеть кидаем в сетевой мост с адаптером eth0, видеопамяти даём 16 метров, нахрен 3д ускорение, фёст бут девайс - сетевуха, докидываем поддержку ацпи, "витуха" воткнута в сетевуху, а вот усб выкидываем (уже воткнул обратно), врубаем управление через RDP и вешаем сервак слушать порт 7766, буфер обмена и перетащи\брось - двунаправленный.
vboxmanage modifyvm "$VM_NAME" --cpus $(nproc) --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 "$IFNAME_WHEN_LINK_UP" --vram 16 --accelerate3d off --boot1 net --acpi on --cableconnected1 on --usb on --vrde on --vrdeport 7766 --draganddrop bidirectional --clipboard bidirectional
# Тут типа у нас настройка ХДД и ДВД. В "--name SATA" реально вместо сата можно написать всё чё угодно. Хз нах надо.
# В ветке 5.2 без параметра "--portcount" перестаёт работать pxe. Я хз с чем это связано. Протрахался всё утро 01-11-2017.
vboxmanage storagectl "$VM_NAME" --name SATA --add sata --portcount 1
# Создаём винт размером 100Гб по пути виртуалки в дефолтном формате vdi.
vboxmanage createmedium disk --size 102400 --format VDI --filename "$DEFAULT_MACHINE_FOLDER"/"$VM_NAME"/"$VM_NAME".vdi
# https://habrahabr.ru/post/77834/
vboxmanage storageattach "$VM_NAME" --storagectl SATA --port 0 --device 0 --type hdd --medium "$DEFAULT_MACHINE_FOLDER"/"$VM_NAME"/"$VM_NAME".vdi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment