Skip to content

Instantly share code, notes, and snippets.

@don-rumata
Created December 14, 2020 22:29
Show Gist options
  • Select an option

  • Save don-rumata/b0c93611e334792abb445b222be638d3 to your computer and use it in GitHub Desktop.

Select an option

Save don-rumata/b0c93611e334792abb445b222be638d3 to your computer and use it in GitHub Desktop.

Revisions

  1. don-rumata created this gist Dec 14, 2020.
    25 changes: 25 additions & 0 deletions create-vbox-vm.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    #!/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