dadv: (Default)
[personal profile] dadv
Попробовал тут понастраивать bhyve и заодно взглянуть на Windows 11, взятую с первого попавшегося торрента на рутрекере.

bhyve завёл на домашнем роутере (FreeBSD 12.3/amd64), мелкая железка на чипсете Intel Q270 с питанием от 12 вольт.




Процессор Intel i5-7200U @ 2.50GHz с двумя ядрами без гипертрединга, 32GB памяти.

Оказалось довольно просто (сразу скажу: никаких SecureBoot и TPM 2.0 не потребовалось). Первым делом включаем в /etc/rc.conf подгрузку ядерных модулей для работы bhyve: kld_list="nmdm vmm" (и подгружаем их через kldload).

Добавляем в систему портами или пакетами sysutils/bhyve-firmware и sysutils/vm-bhyve, в моём случае получились bhyve-firmware-1.0_1 и vm-bhyve-1.4.2.

В /etc/rc.conf добавляем на время создания виртуалки:
vm_enable="YES"
vm_dir="/usr/local/etc/vm" # или vm_dir="zfs:poolname/vm"


Создаём конфигурацию гипервизора для виртуалки командой vm create -t windows -s 120G win11, где "windows" имя шаблона, а "win11" имя новой виртуалки. Эта команда создала win11.conf, в который я немедленно залез редактором.

Поменял memory=2G на memory=8G; закомментировал network0_type и network0_switch, чтобы во время установки у виртуалки не было сети.

Там же была строчка disk0_name="disk0.img", указывающая на 120-гигабайтный файл-образ disk0.img, который создала команда vm create выше. Это мне не подходит, так как нужна возможность создавать снапшоты, так что поменял этот блок настроек на следующее:

disk0_type="ahci-hd"
disk0_dev="custom"
disk0_name="/dev/zvol/z/win11"


Удалил disk0.img и создал zvol с "секторами" 4K:
zfs create -o compression=lz4 -V 120g -b 4096 z/win11

Положил инсталляционный ISO в vm/.iso/win11.iso и запустил установку:
vm install win11 win11.iso

После начала установки подключился к системе VNC-клиентом, получил экран с предложением запустить инсталляцию с CD/DVD. Установка прошла совершенно гладко, с тремя ребутами (VNC каждый раз приходилось переподключать). После появления десктопа выбрал завершение работы системы и поглядел показания ZFS:
z/win11  referenced            3.96G                  -
z/win11  compressratio         1.10x                  -
z/win11  volsize               120G                   local
z/win11  volblocksize          4K                     -
z/win11  compression           lz4                    local
z/win11  written               3.96G                  -
z/win11  logicalused           4.32G                  -

Настало время дать виртуалке сеть. Мне не нравится идея бриджевать виртуалки по умолчанию, я предпочитаю роутить гостевой трафик средствами хоста, а заодно фильтровать и делать NAT. Поэтому не стал раскомментировать настройки network0_*, а вместо этого добавил в конфиг виртуалки:
bhyve_options="-s 2,e1000,tap0"

То есть, посадил эмулируемую сетевую карту Intel на PCI-шину 2 с подключением к системному интерфейсу tap0, который создается через /etc/rc.conf:

cloned_interfaces="tap0"
ifconfig_tap0="inet 192.168.100.1/30 link0"
ifconfig_tap0_descr="Windows 11"


Флаг link0 запрещает отключать (down) сетевой интерфейс при гашении виртуалки, вместо этого у него просто будет статус no carrier.

Ещё полезно в конфиг виртуалки добавить graphics_res="1856x960", чтобы увеличить размер рабочего стола Windows до указанного размера с дефолтных 1024x768. Циферки подбирайте под себя, я выбрал такие, чтобы в VNC не было скроллинга и окно VNC вместе с декорациями влазило в разрешение FullHD.

This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Profile

dadv: (Default)
Choose your future

July 2024

M T W T F S S
12 34567
891011121314
15161718192021
22232425262728
293031    

Tags

Style Credit

Powered by Dreamwidth Studios