Установка линукс по сети из windows. Установка Windows по сети с Linux-сервера. Переходим к настройке инсталлируемой системы

Каждому, кто хоть изредка промышляет администрированием хотя бы раз нужно было установить операционку на комп. И зачастую происходит всё так: скачивается образ, записывается на диск или флешку, грузимся и ставим. Но может оказаться что ни флешки ни диска под рукой нет, а установку нужно выполнить на вчера... Тогда можно загрузится по сети, и с линуксом в этом плане особо проблем нет. Типичная конфигурация - это связка DHCP , TFTP и NFS . Но у меня под рукой не было настроенного NFS , зато была Samba . Поэтому пришлось разобраться как использовать Samba вместо NFS .

Вроде бы ничего такого, поменял настройки и всё, но что-то не работало поначалу, пришлось шаманить...

Но я тут начну с самого начала. Итак для начала нужно обзавестись дистрибутивом. Так как ставим мы Linux Mint , ищем свежий образ . Скачиваем дистрибутив, подходящий именно нам (я ставил тот, что с MATE , но очевидно это не имеет особого значения). Скачав образ, нужно получить доступ к файлам образа. В некоторых руководствах рекомендуют распаковать образ, но я не вижу в этом смыла, поэтому поддерживаю мнение, которое заключается в том, чтобы смонтировать образ как loop . Чтобы не вмешиваться в существующий порядок, просто создаём новый каталог, куда и монтируем образ:

# mkdir /mnt/mint
# mount -o loop /home/user/download/linuxmint-17-mate-64bit-v2.iso /mnt/mint

Далее нужно сделать файлы доступными по сети для чтения установщиком. Как я говорил выше, у меня для этого служит Samba . Поэтому открываем файл конфигурации и добавляем новую шару, добавив такую секцию:


path = /mnt/mint
available = yes
browsable = yes
public = yes
writable = no

Должно работать поверх дефолтных настроек Samba . Если же не работает, то скорее всего вы что-то меняли сами, а значит найдёте как решить проблему. Итак мы добавили шару mint , через которую можно с сети получить файлы для установки. Не забудьте перезапустить Samba для принятия новых настроек.

Для Archlinux :

# systemctl restart smbd
# systemctl restart nmbd

Для Gentoo :

# /etc/init.d/samba restart

Далее нужно подготовить сетевой загрузчик. В этом нам поможет программа tftp-hpa . В Archlinux и в Gentoo пакет называется именно так. Нужно расположить файлы загрузчика в рабочем каталоге ftp-сервера (в арче /srv/tftp ). Копируем туда ядро и initrd со смонтированного образа:

# cp /mnt/mint/casper/{vmlinux,initrd.lz} /srv/http

# cp /usr/lib/syslinux/bios/{pxelinux.0,menu.c32,ldlinux.c32,libutil.c32} /srv/http

DEFAULT menu.c32
LABEL LinuxMint
KERNEL vmlinuz
APPEND showmounts toram root=/dev/cifs boot=casper netboot=cifs nfsroot=//192.168.0.1/mint NFSOPTS=-oguest,ro initrd=initrd.lz nosplash

Где 192.168.0.1 - наш IP-адрес относительно машины, на которую быдем ставить. Ах да, и про nfs там - это не опечатка, в режиме работы с cifs, нужно передавать опции типа как для nfs, не могу сказать почему. Особое внимание нужно обратить на опцию toram, поскольку без неё всё отваливается на полпути и загрузится мы не можем (может это особенности самбы). Но с этой опцией нужно помнить о том, что на целевой машине должно быть достаточно оперативки, чтобы скопировать туда установщик. TFTP-сервер нужно запустить. Для Archlinux :

# systemctl tftpd.socket start

Для Gentoo :

# /etc/init.d/in.tftpd start

Теперь нужно биосу целевой машины как-то сказать откуда грузится. В этом нам поможет dnsmasq (хотя не обязательно, можно использовать и другой DHCP сервер, здесь описываю то, что было под рукой). Настраиваем раздачу IP (опция dhcp-range ) на своё усмотрение, под свою "сеть" между машинами. Для установки нам важны лишь три опции:

Dhcp-boot=/pxelinux.0
dhcp-option=vendor:PXEClient,6,2b
pxe-service=x86PC, "Install Linux", pxelinux

Их нужно добавить к конфигурации dnsmasq , ну и естественно запустить его (или перезапустить).

Для Archlinux :

# systemctl start dnsmasq

Для Gentoo :

# /etc/init.d/dnsmasq start

Помните, чтобы всё заработало необходимо, чтобы порты на DHCP (UDP 67,68), TFTP (UDP 69), Samba (UDP 137,138, TCP 139,445) должны быть обязательно открыты, обязательно учтите это в конфигурации своего фаерволла. Если же фаерволла нет или полностью открыт интерфейс - ну и ладно, должно работать.

Примечание: в связи с тем, что системы постоянно обновляются, приведённые пути файлов могут оказаться недействительными, то есть отличными от тех, что на Вашей системе. Поэтому внимательно смотрите на структуру пакетов Вашей системы.

Не так давно я столкнулся с ситуацией, когда потребовалось поставить windows на ноутбук по сети, т.к. других вариантов не было. Т.к. подобный опыт у меня уже был, но давно, то возникла необходимость освежить знания, хотя в итоге оказалось, что необходимо было разбираться заново =).

Вступление

Во время описания, я буду предполагать, что у нас уже есть сервер на Linux и реализована загрузка с него по pxe.

Для работы нам понадобится следующий софт:

  • hpa-tftpd
  • samba
  • pxelinux
  • dhcpd

Настройку dhcpd, pxelinux, samba мы опустим. Будут описаны только изменения, которые необходимо внести в конфигурацию этих служб.

Подготовка необходимых файлов

Для начала создадим структуру директорий в рабочей директории tftp-сервера.

mkdir /tftpboot/install

mkdir /tftpboot/install/win

cd /tftpboot

ln -s install/win win

Далее скопируем все установочные файлы и папки с диска винды в папку /tftpboot/install/win . Как вы заметите названия файлов все в верхнем регистре. Дабы исправить эту оплошность следует сделать следующее в папке /tftpboot/install/win/i386:

ls -1 |awk ‘{system(«mv «$0″ «tolower($0))}’

После этого следует скопировать из этой папки в корень tftp-сервера следующие файлы: startrom.n12, SETUPLDR.BIN (нужно его переименовать в ntldr), BOOTFONT.BIN, ntdetect.com . Они могут быть запакованы и тогда последняя буква расширения будет заменена на символ подчеркивания. Распаковать их можно будет с помощью утилиты cabextract .


floppyless = «1»
msdosinitiated = «1»
; Needed for second stage
OriSrc = «\\10.0.0.254\WINXP\win\i386″
OriTyp = «4»
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1


OsLoadOptions = «/noguiboot /fastdetect»
; Needed for first stage
SetupSourceDevice = «\Device\LanmanRedirector\10.0.0.254\WINXP\win»


; Avoid automatic format/repartition
Repartition = No
UseWholeDisk = No


ComputerName = *
ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Естественно указываем свои данные (путь и сервер и серийник).

После этого заходим в папку i386 и распаковываем архив drivers.cab

cabextract drivers.cab

Настройка службы BINL

Надеюсь, вы уже скачали архив ris-linux по ссылке выше. Если нет, то качайте, после чего можно продолжать настройку.

Служба BINL создана для того, чтобы установщику Windows передавать драйверы сетевой карты. Да. Вот такая парадоксальная ситуация — загрузчик по сети загрузился, но в с сетью сам общаться не может, без этой службы и загруженного впоследствии драйвера.

Распаковываем архив в папку /opt (всякое лишнее ПО рекомендуется именно туда ставить). Заходим в папку. Там довольно много файлов, но не все они нам понадобятся. Итак, нам нужно отдавать драйверы сетевых карт. Для этого сначала нужно создать их список. Делается это так:

infparser.py /tftpboot/install/win/i386

Теперь можно запускать службу:

./binlsrv.py &

Кстати. Если загрузчик не будет грузиться, то для приведения его в рабочее время тут есть файл fixloader.py .

fixloader.py /tftpboot/ntldr

Настройка hpa-tftpd

Т.к. при записи пути к файлу у windows и linux используются разные слеши, то нужно сделать так, чтобы tftp -сервер понимал, что от него хотят. Для этого создаим файл /etc/tftpd.rules следующего содержания:

После этого данный файл, нужно указать серверу. Для этого редактируем его конфигурационный файл и через флаг -m указываем путь к файлу. В Gentoo этот файл зовется /etc/conf.d/in.tftpd. Находим и приводим к следующему виду строку опций запуска:

INTFTPD_OPTS=»-c -R 4096:32767 -s ${INTFTPD_PATH} -v -m /etc/conf.d/tftpd.rules»

Тут также указан еще флаг -v. Он нужен для отладки. Чтобы когда что-то пойдет не так, можно было посмотреть какие файлы были запрошены и были ли они отданы.

Настройка Samba

Первая стадия установки тянет файлы по tftp, а вторая же (которая после перезагрузки) может забирать файлы через шару, с жесткого диска или с компакт-диска. Естественно в нашем случае требуется создать шару с установочными файлами.

Добавляем в smb.conf примерно следующие строки:


comment = install files
path = /tftpboot/install
public = yes
writable = yes
guest only = yes

Важный момент. Должна быть выставлена глобальная опция: null passwords = true

И еще один важный момент — обратите внимание, что внутри шары должна быть хотя бы одна директория, в которой уже находятся установочные файлы. Если расшарить сразу папку с установочными файлами, то получим ошибку в самом начале установки.

Настройка pxelinux

Эта операция самая простая. Необходимо добавить в ваш pxelinux.cfg/default следующие строки:

label WinXP Home Install from Network
kernel install/win/startrom.0

Все. Уже можно загружаться и устанавливать.

В статье он упомянул о возможности установки «С помощью загрузки по сети (PXE boot)», благодаря чему я решил наконец написать материал по созданию сервера pxe boot.

Повествование будет вестись на примере всё той же ОС - Debian (так что пути и команды у вас могут отличаться).
Для начала - поставим tftp -сервер. Смотрим доступные варианты (apt-cache search tftp | fgrep server ):

  • atftpd
  • dnsmasq
  • tftpd
  • tftpd-hpa
Сначала я поставил tftpd-hpa, т.к. о нём рассказывалось в мануале , с которого я начинал создание сервера. Затем я перешёл на atftpd, т.к. мне потребовалось логирование. Рассмотрим оба варианта:
  • tftpd-hpa:
    Устанавливаем пакет, редактируем файл /etc/default/tftpd-hpa , дабы демон знал, что ему стоит жить:

    #Defaults for tftpd-hpa
    RUN_DAEMON="yes"
    OPTIONS="-l -s /var/lib/tftpboot"

    Создаём нужный каталог: mkdir /var/lib/tftpboot , и стартуем сервис invoke-rc.d tftpd-hpa start

  • atftpd:
    После установки обнаруживаем, что по-умолчанию этот сервис работает через inetd. Я, почему-то, не фанат этого метода, поэтому первым делом закомментировал соответствующую строку в /etc/inetd.conf . Затем редактируем /etc/default/atftpd :

    USE_INETD=false
    OPTIONS="--daemon --tftpd-timeout 1500 --no-multicast --retry-timeout 20 --logfile /var/log/atftpd.log --maxthread 100 --verbose=5 /var/lib/tftpboot"

    --tftpd-timeout - время жизни потока, при отсутствии запросов
    --retry-timeout - таймаут отдачи файла
    у меня установлены большие таймауты, т.к. сервис транслируется в городскую локальную сеть, которая периодически прогибается от обилия абонентов, и не справляется с потоком запросов.
    Ну и, как и в предыдущем пункте, - создаём нужный каталог: mkdir /var/lib/tftpboot , и стартуем сервис invoke-rc.d atftpd start

Теперь у нас есть tftp-сервер. Один шаг мы сделали:)
Далее - настройка dhcp:
  • dhcp3:
    В конфигурационный файл /etc/dhcp3/dhcpd.conf добавляем информацию о загрузке:

    Filename "pxelinux.0";
    next-server ;

    Если tftpd установлен на том же сервере, что и dhcpd - директиву next-server можно опустить. И перезапускаем dhcp3-server: invoke-rc.d dhcp3-server restart

  • dnsmasq:
    В конфиг /etc/dnsmasq.conf дописываем:

    Dhcp-boot=pxelinux.0,,

    Опять же, если сервера tftp и dhcp совпадают - последние 2 атрибута можно не заполнять. Перезапускаем: invoke-rc.d dnsmasq restart

Шаг второй пройден. Дальше - непосредственно настройка pxe-boot.
Идём на ftp.debian.org , выбираем каталог installer-* , соответствующий необходимой архитектуре. Затем переходим в директорию current/images/netboot внутри мы найдём файлы netboot.tar.gz и gtk/netboot.tar.gz - это файлы текстовой и графической установки соответственно. Выбираем понравившийся, качаем и распаковываем в /var/lib/tftpboot .
Осталось убедиться, что зазрешён доступ на 69 UDP порт, и можно пользоваться прелестями сетевой установки.

В качестве бонуса прилагаю меню, которое получилось у меня в результате нескольких дней издевательств:
В текущей конфигурации возможна установка нескольких ОС (установка Debian возможна как в текстовом, так и в графическом режиме), загрузка xUbuntu (через nfs), SystemRescueCD (через http-boot), memtest86 (через tftp). Установка всех ОС возможна для 2 архитектур - x86 и x64. Т.к. у меня лежит внутрисетевое зеркало репозиториев Ubuntu 8.10 и Debian 5.0, то установщики не предлают выбор репозитория, а автоматически сливают всё с него.
Скриншоты.

В Ubuntu подключение к сети настраивается с помощью сервиса Network Manager. Чтобы подключиться к сети, достаточно пару раз кликнуть мышкой, выбрать соединение - и готово. То же самое, и даже ещё проще, при использовании проводного соединения - тут интернет подключается автоматически, как только загрузился апплет.

Но не всегда доступен графический интерфейс: после неудачной установки драйвера или очередного обновления не запускается графическая оболочка, а на серверах она и вовсе не используется. В этой небольшой инструкции будет разобрана настройка сети Ubuntu из консоли. Мы поговорим о том, как настроить получение IP-адреса по DHCP, а также настроить работу DNS. Рассмотрим ручную и автоматическую настройку, также попробуем сделать это через системные конфигурационные файлы.

Перед тем, как перейти к самим командам, давайте немного разберёмся в теории работы сети. Это нужно, чтобы вы не просто выполнили какие-то непонятные команды, а поняли всю суть того, что мы будем делать и как выполняется настройка локальной сети Ubuntu.

Компьютеры обмениваются между собой информацией с помощью пакетов. Все данные в сети интернет передаются с помощью пакетов небольшого размера. Если не углубляться в подробности, то каждый пакет содержит адрес отправителя, адрес получателя и сами данные. Эти адреса есть не что иное, как привычные нам IP-адреса. Кроме IP, у компьютера есть физический адрес, который используется для общения между компьютерами в локальной сети. Это MAC-адрес? и задается он производителем сетевой карты.

Как только компьютер подключился к сети, независимо от того проводное это соединение или беспроводное, он может общаться только с компьютерами в локальной сети и только по физическим адресам. Для того, чтобы получить доступ в Глобальную сеть, машине в ней нужно получить IP-адрес. Для этого используется протокол DHCP. Если кратко: наш компьютер спрашивает все компьютеры в локальной сети, кто здесь DHCP-сервер, DHCP ему отвечает и выдаёт IP-адрес. Таким же образом компьютер узнаёт IP маршрутизатора, через который он может получить доступ к Сети, а затем пытается найти DNS-серверы или узнать стандартные у маршрутизатора. С теорией разобрались, перейдем к практике.

Настройка сети через терминал в Ubuntu

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Устанавливаем IP-адрес;
  • Получаем адреса DNS-серверов.

Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:

Но если хотите, можете использовать ifconfig :

В нашей системе только один интерфейс - это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.

Настройка динамического получения IP-адреса

Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:

auto enp0s3
iface enp0s3 inet dhcp

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

$ iface интерфейс inet тип

Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.

После завершения настройки сохраните файл и перезапустите сетевой сервис:

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

При настройке статического IP-адреса компьютер не будет связываться с DHCP-сервером, поэтому здесь придётся указать намного больше параметров.

Содержимое нашего конфигурационного файла будет выглядеть вот так:

auto eth0
iface eth0 inet static
address 192.168.1.7
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:

  • address - наш IP-адрес;
  • gateway - шлюз, через который будем получать доступ в интернет;
  • netmask - маска сети;
  • network - адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast - широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Как видите, network и broadcast - это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:

sudo service networking restart

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Ручная настройка сети в Ubuntu

Предыдущий вариант хорош, если вы собираетесь его использовать постоянно, но если нужно только один раз настроить сеть через терминал, то редактировать конфигурационные файлы необязательно. Мы можем всё сделать с помощью команды ip . Дальше будет рассмотрена настройка сети вручную Ubuntu.

Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.

Как и в предыдущем примере, смотрим сетевые интерфейсы:

После того, как мы узнали интерфейс, можно переходить к настройке.

Получение IP-адреса по DHCP

Сначала включаем интерфейс:

sudo ip link set enp0s3 up

Затем с помощью команды dhclient запрашиваем ip:

sudo dhclient enp0s3

Всё, настройка сети Ubuntu 16.04 завершена, у нас есть IP-адрес, и осталось только настроить DNS, но это мы рассмотрим ниже.

Настройка статического IP

Включаем интерфейс:

sudo ip link set enp0s3 up

Устанавливаем IP-адрес, маску сети и broadcast-адрес для нашего интерфейса:

sudo ip addr add 192.168.1.7/255.255.255.0 broadcast 192.168.1.255 dev enp0s3

Указываем IP-адрес шлюза:

sudo ip route add default via 192.168.1.1

Здесь 192.168.1.7 - наш IP-адрес, 255.255.255.0 - маска сети, 192.168.1.255 - широковещательный адрес. Замените эти значения на свои.

Как видите, сеть работает. Если хотите поэкспериментировать на машине с рабочей сетью, её можно сбросить командой:

sudo ip -4 addr flush dev enp0s3

Настройка DNS

Служба DNS используется для преобразования доменных имен сайтов в IP-адреса. При получении IP-адреса автоматически через DHCP мы используем правильные DNS-серверы, но если мы выбрали статический IP, то DNS можно и не получить, поэтому придётся сделать всё вручную.

Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:

dns-nameservers 8.8.8.8 4.4.4.4

Здесь 8.8.8.8 и 4.4.4.4 это IP-адреса DNS серверов, можете заменить их на свои. И можно использовать один, а не два. Дальше сохраните файл и перезапустите сеть:

sudo service networking restart

Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf

sudo vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 4.4.4.4

После сохранения файла сеть будет работать полностью так, как нужно. Но последний способ пригоден только до перезагрузки, поскольку файл /etc/resolv.conf генерируется автоматически.

В статье он упомянул о возможности установки «С помощью загрузки по сети (PXE boot)», благодаря чему я решил наконец написать материал по созданию сервера pxe boot.

Повествование будет вестись на примере всё той же ОС - Debian (так что пути и команды у вас могут отличаться).
Для начала - поставим tftp -сервер. Смотрим доступные варианты (apt-cache search tftp | fgrep server ):

  • atftpd
  • dnsmasq
  • tftpd
  • tftpd-hpa
Сначала я поставил tftpd-hpa, т.к. о нём рассказывалось в мануале , с которого я начинал создание сервера. Затем я перешёл на atftpd, т.к. мне потребовалось логирование. Рассмотрим оба варианта:
  • tftpd-hpa:
    Устанавливаем пакет, редактируем файл /etc/default/tftpd-hpa , дабы демон знал, что ему стоит жить:

    #Defaults for tftpd-hpa
    RUN_DAEMON="yes"
    OPTIONS="-l -s /var/lib/tftpboot"

    Создаём нужный каталог: mkdir /var/lib/tftpboot , и стартуем сервис invoke-rc.d tftpd-hpa start

  • atftpd:
    После установки обнаруживаем, что по-умолчанию этот сервис работает через inetd. Я, почему-то, не фанат этого метода, поэтому первым делом закомментировал соответствующую строку в /etc/inetd.conf . Затем редактируем /etc/default/atftpd :

    USE_INETD=false
    OPTIONS="--daemon --tftpd-timeout 1500 --no-multicast --retry-timeout 20 --logfile /var/log/atftpd.log --maxthread 100 --verbose=5 /var/lib/tftpboot"

    --tftpd-timeout - время жизни потока, при отсутствии запросов
    --retry-timeout - таймаут отдачи файла
    у меня установлены большие таймауты, т.к. сервис транслируется в городскую локальную сеть, которая периодически прогибается от обилия абонентов, и не справляется с потоком запросов.
    Ну и, как и в предыдущем пункте, - создаём нужный каталог: mkdir /var/lib/tftpboot , и стартуем сервис invoke-rc.d atftpd start

Теперь у нас есть tftp-сервер. Один шаг мы сделали:)
Далее - настройка dhcp:
  • dhcp3:
    В конфигурационный файл /etc/dhcp3/dhcpd.conf добавляем информацию о загрузке:

    Filename "pxelinux.0";
    next-server ;

    Если tftpd установлен на том же сервере, что и dhcpd - директиву next-server можно опустить. И перезапускаем dhcp3-server: invoke-rc.d dhcp3-server restart

  • dnsmasq:
    В конфиг /etc/dnsmasq.conf дописываем:

    Dhcp-boot=pxelinux.0,,

    Опять же, если сервера tftp и dhcp совпадают - последние 2 атрибута можно не заполнять. Перезапускаем: invoke-rc.d dnsmasq restart

Шаг второй пройден. Дальше - непосредственно настройка pxe-boot.
Идём на ftp.debian.org , выбираем каталог installer-* , соответствующий необходимой архитектуре. Затем переходим в директорию current/images/netboot внутри мы найдём файлы netboot.tar.gz и gtk/netboot.tar.gz - это файлы текстовой и графической установки соответственно. Выбираем понравившийся, качаем и распаковываем в /var/lib/tftpboot .
Осталось убедиться, что зазрешён доступ на 69 UDP порт, и можно пользоваться прелестями сетевой установки.

В качестве бонуса прилагаю меню, которое получилось у меня в результате нескольких дней издевательств:
В текущей конфигурации возможна установка нескольких ОС (установка Debian возможна как в текстовом, так и в графическом режиме), загрузка xUbuntu (через nfs), SystemRescueCD (через http-boot), memtest86 (через tftp). Установка всех ОС возможна для 2 архитектур - x86 и x64. Т.к. у меня лежит внутрисетевое зеркало репозиториев Ubuntu 8.10 и Debian 5.0, то установщики не предлают выбор репозитория, а автоматически сливают всё с него.
Скриншоты.

Публикации по теме