Установка десктопных дистрибутивов с USB-накопителей обычно не вызывает особых проблем, UNetBootin есть и под Windows и под Linux, кроме того, есть ещё несколько способов изготовления загрузочных “флешек”. Для серверного дистрибутива Ubuntu этот способ не подходит. Программа установки запускается, всё проходит гладко до монтирования привода CD-ROM и на этом заканчивается. Ни ручное монтирование привода, ни использование стандартных драйверов не помогает, что в общем-то естественно, CD-ROM’а-то нет. В итоге, выход нашёлся на официальном help’е Ubuntu.
И вот, что в итоге нам понадобитсья для создания “правильно” установочной “флешки” для Ubuntu Server:
- Собственно сам ISO-образ Ubuntu Server (ссылка на образ 8.10 84_64)
- initrd.gz (для него же, от HDD-установщика)
- vmlinuz (аналогично)
- Flash-накопитель от 1 Гб и больше
Если будете ставить другую версию или другую целевую платформу, то ссылки будут другие.
Ещё нам понадобится небольшой скрипт:
# Replace “sdx” with “sdb” or whatever your flash drive is
# – If unsure which device is your flash drive then
# run “sudo fdisk -l | less” in order to identify it
ISOIMAGE=ubuntu-9.04-server-amd64.iso
sudo apt-get install syslinux mtools mbr
echo “Use fdisk to manually create a 1GB bootable FAT16 partition.”
read -p “Press [Enter] to start the fdisk program…”
sudo fdisk /dev/sdx
sudo mkfs -t vfat /dev/sdx1
sudo mkdir -p /mnt/flash
sudo mount -t vfat /dev/sdx1 /mnt/flash
sudo syslinux -s /dev/sdx1
sudo mkdir -p /mnt/iso
sudo mount -o loop $ISOIMAGE /mnt/iso
sudo cp -R /mnt/iso/isolinux/* /mnt/flash
sudo mv /mnt/flash/isolinux.cfg /mnt/flash/syslinux.cfg
sudo mkdir -p /mnt/flash/install
sudo cp vmlinuz /mnt/flash/install
sudo cp initrd.gz /mnt/flash/install
# clear pool directory, which is unnecessary for installation
# that enables installation on 1G flash; remove if installing on
# bigger devices and you run into problems
sudo rm -rf /mnt/flash/pool
sudo cp $ISOIMAGE /mnt/flash
sudo install-mbr /dev/sdx
sudo umount /mnt/flash
sudo umount /mnt/iso
Копируем его, вставляем в любимый текстовый редактор. Переменной $ISOIMAGE присваеваем имя ISO-образа, а все упоминания sdx заменяем на имя устройства флешки (обычно sdb, если у Вас один физический винчестер). Сохраняем полученный файл в директории, куда сохранили скачанные файлы и добавляем права на выполнения скрипта:
user@ubuntu:-$ sudo chmod +x script
И выполняем его:
user@ubuntu:-$ sudo ./script
Во время работы скрипта запустится fdisk. В нём необходимо будет удалить все разделы с флешки и создеть единственный раздел с меткой загрузки. Ещё несколько минут на копирование образа на флешку и вы имеете установочный накопитель для Ubuntu Server.
Важно
В процессе тестирования данного способа выяснено, что работает он на Ubuntu Server 8.10 и более ранних, на 9.04 уже не работает, просто отказывается загружаться. Выходом из ситуации является применение стандартной утилиты в Ubuntu 9.04 Desktop для создания загрузочных “флешек”, где в качестве ISO-образа необходимо выбрать образ серверной версии ОС. Обязательно отформатировать перед этим накопитель, желательно средствами самой утилиты.