Первое серьезное предупреждение в процессе установки сообщит вам, что установщик не смог обнаружить сетевые интерфейсы. Это нормально, по умолчанию Ubuntu не поддерживает виртуальное оборудование Hyper-V, спокойно продолжаем установку.
Ubuntu-Hyper-V-001.jpgПри установке откажитесь от автоматической установки обновлений, это очень важный момент, почему — поясним ниже.
Установив систему следует включить загрузку необходимых для полноценной работы в Hyper-V модулей, которые входят в ядро системы, но не включены. Учитывая что сети нет, и поставить даже mc вы не сможете, будем довольствоваться простым редактором nano. Для включения модулей необходимо отредактировать /etc/initramfs-tools/modules
sudo nano /etc/initramfs-tools/modules
В открывшийся файл добавляем следующие строки:
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
hv_utils
Выходим по Ctrl+X утвердительно отвечая на предложение сохранить изменения.
За что отвечают и для чего нужны эти модули?
hv_vmbus — шина Hyper-V, основной модуль
hv_storvsc — поддержка виртуального хранилища (виртуальный жесткий диск)
hv_blkvsc — поддержка блочных устройств, требуется для хранилища.
hv_netvsc — поддержка синтетической сетевой карты
hv_utils — поддержка расширенных возможностей Hyper-V, таких как управление питанием гостевой системы и т.п.
Теперь обновим образ начальной загрузки системы (initramfs):
sudo update-initramfs -u
Изменения будут применены при следующей загрузке системы, а пока настроим сетевые интерфейсы, для этого отредактируем /etc/network/interfaces:
sudo nano /etc/network/interface
Добавим интерфейс eth0 и настроим его, например у нас это выглядит так:
auto eth0
iface eth0 inet static
address 192.168.0.105
netmask 255.255.255.0
gateway 192.168.0.100
Также на забудьте указать DNS сервера в /etc/resolv.conf
sudo nano /etc/resolv.conf
В нашем случае для DNS серверов 192.168.0.100 и 192.168.0.101 и домена example.com записи будут выглядеть так:
nameserver 192.168.0.100
nameserver 192.168.0.101
domain example.com
search example.com
Сохраняем изменения и перезагружаемся:
sudo reboot
После перезагрузки проверяем, сеть и доступ в интернет должны работать.
Ubuntu-Hyper-V-002.jpgНа этом нашу статью можно было бы и закончить, если бы не один неприятный момент: если вы попытаетесь обновить систему, то при обновлении получите ошибку и система больше не загрузится. Чтобы избежать этого, отключите все модули initramfs, кроме hv_vmbus и hv_netvsc (не забудьте перезагрузиться). После обновления включите модули обратно. В любом случае перед обновлением и прочим потенциально опасными операциями стоит сделать снимок системы, что позволит в любой момент времени быстро вернуться к ее текущему состоянию.
Вообще в процессе настройки мы советуем делать снимки как можно чаще. Установили пакет, настроили — сделайте снимок. Это позволит, при необходимости, возвращаться на нужное количество шагов назад, а также реализовать и опробовать несколько вариантов настройки, чтобы окончательно выбрать лучший из них.
В заключение стоит отметить, что установка Ubuntu Server на Hyper-V, хоть и требует некоторых дополнительных действий, довольно проста и не вызывает проблем. Работа системы в виртуальной среде не вызывает нареканий, стабильна и может быть рекомендована к применению в производственных условиях.