VirtualBox vs 64-битный гость

Решил в очередной раз завести домашний сервачок. Железо осталось из прошлой жизни: Atom N2800, 2 ГБ оперативки, гигабитный LAN, ноутбучные SSD и HDD. «В очередной раз» потому, что в какой-то момент раньше уже отказался от него, переложив основные заботы на перепрошитый роутер и облачный VDS. Но вот хотелок поднакопилось достаточно, чтобы MIPS-процессор роутера с одним USB-портом перестал справляться. Значит, нужен нормальный x86-компьютер. Делаем.

Что должно крутиться на домашнем сервере? Мастер DHCP и DNS, VPN-сервер, принт-сервер, DLNA-сервер, качалка торрентов, архив книг и фоточек, видеонаблюдение, разная мелочёвка вроде планировщика задач для смарт-лампочки. Опционально — ownCloud, TOR/I2P.

Настраивать такой ворох сервисов при каждом переезде на новое железо — противоестественно. В этот раз я решил единожды собрать виртуалку, чтобы потом с минимальными усилиями её можно было перенести на новое место. Хоть я и не уверен, что это вообще понадобится.

Установил из репозитория VirtualBox, создал образ, накатил Debian архитектуры amd64. Настроил сервисы. На ноутбуке работает шикарно. Перенёс на новоиспечённый сервер — не запускается. Ну то есть запускается, но сетевой адрес не просит и не отзывается по SSH.

На сервере иксов нет, ставить вроде как неохота — лишние. Из консоли узнать, что там внутри образа происходит, проблематично. Но ведь есть же RDP, а VirtualBox умеет дать удалённый доступ к образу. Раскуриваем мануал, активируем VRDE, подключаемся через freerdp. Видно, что GRUB свою работу выполняет.figureХорошо, смотрим дальше. А дальше нам отрапортуют, что загружается Linux этакой версии, и потом покажут чёрный экран с мигающим курсором. На этом процесс останавливается.

Не буду описывать, сколько времени ушло на выдёргивание волос из разных мест в попытках понять, что там внутри виртуалки происходит. К счастью, сообразил подключить образ LiveCD, и вот он-то и дал мне ответ.figureThis kernel requires an x86-64 CPU, but only detected an i686 CPU.

Минуточку, но ведь мой Atom N2800 — вполне себе x86-64 процессор?

Оказывается, для успешного запуска 64-битных гостевых систем VirtualBox требует от хост-процессора наличия VT-x, расширения для аппаратной виртуализации. О чём, кстати, недвусмысленно написано в VirtualBox FAQ. Тогда как современные Atom’ы такое расширение имеют, мой Atom — нет. Видимо, сказывается возраст, 6 лет назад виртуализация не была такой попсовой, и втыкать её в полумобильные процессоры не было нужды.

Поэтому — облом. В то время как ментейнеры постепенно сворачивают поддержку 32-битного ПО, придётся собирать 32-битный образ и перетаскивать конфиги туда. Ну или покупать новую материнку под современный процессор. N часов прожито впустую. Читайте инструкции, ребятки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поставьте галочки правильно (как бы защита от спама):

Я бот

Я не бот