Ubuntu на LiveUSB

Материал из NNLUG Wiki.

Перейти к: навигация, поиск

Содержание

Создание загрузочной USB-флешки с Ubuntu

Здесь описывается как получить загрузочный USB Flash (1 Gb или больше) с Ubuntu (Kubuntu/Edubuntu/etc.) из загрузочного (desktop) CD или DVD. Материал почерпнут из различного рода How-to и проверен на DVD Kubuntu 7.04 и накопителе Digitex Container 2 Gb. Все описанное должно быть верно и для 6.06 и 6.10, но не проверялось.

В итоге хотелось получить флэшку, с которой можно и загрузиться в Linux, и использовать в качестве обычного накопителя (как под Linux так и под Windows). При этом систему и данные хотелось иметь на разных разделах.

Подготовка накопителя

  • В дальнейшем, флэшка обозначается как sdX. Соответственно, X следует заменить на букву, назначенную накопителю в системе.

Если вы экспериментировали на этой флэшке с загрузкой других операционных систем, то вероятно стоит сначала полностью очистить MBR от лишнего мусора

dd if=/dev/zero of=/dev/sdX bs=512 count=1

Теперь нужно записать новый MBR. Для этого можно воспользоваться проектом ms-sys. Понадобится загрузить исходники с http://ms-sys.sourceforge.net/, собрать и выполнить

ms-sys -s /dev/sdX
Также было высказано замечание, что есть более простой способ - запись в MBR файла mbr.bin из поставки syslinux. У меня с ним загрузиться не получилось

Затем нужно создать в новой MBR таблицу разделов

fdisk /dev/sdX
  • Создадим новый раздел (n)
    • основной (p)
    • первый (1)
    • от начала свободного места (Enter)
    • размером ~1,2 Гб (+1200M)
  • Сменим тип раздела (t)
    • на FAT16 (6) или FAT32 (b)
  • Еще один раздел (n)
    • основной (p)
    • второй (2)
    • от начала свободного места (Enter)
    • на все свободное место (Enter)
  • Сменим тип раздела (t)
    • второго (2)
    • на FAT16 (6)
  • Сделаем активным (a)
    • второй раздел (2)

Размеры выбраны исходя из накопителя в 2Gb - для накопителя друго объема стоит изменить размер первого раздела. Стоит также учитывать, что второй (загрузочный) раздел должен быть не меньше 660 Mb. То, что первым будет раздел для данных, а загрузочный за ним, объясняется тем, что Windows увидит на флэшке только первый. Если имеется флэшка объемом 1Gb и/или нет желания создавать отдельный раздел под данные, то соответственно, создается только один активный раздел FAT16 и все дальнейшие манипуляции для sdX2 проводятся с sdX1 Введите p чтобы посмотреть результаты разбивки

 Disk /dev/sdX: 2138 MB, 2138570752 bytes
 66 heads, 62 sectors/track, 1020 cylinders
 Units = cylinders of 4092 * 512 = 2095104 bytes

   Device Boot      Start         End      Blocks   Id  System
 /dev/sdX1               1         598     1223477    b  W95 FAT32
 /dev/sdX2   *         599        1020      863412    6  FAT16

Теперь запишите изменения на флешку (w)

Убедимся, что свежесозданные разделы не замонтированы

umount /dev/sdX1
umount /dev/sdX2

Форматируем. Загрузочный раздел в FAT16 (т.к. попадались упоминания о проблемах с загрузской с FAT32), раздел с данными - по желанию

mkfs.vfat -F 32 -n usb-data /dev/sdX1
mkfs.vfat -F 16 -n usb-boot /dev/sdX2

Сделаем второй раздел загрузочным. Для этого понадобится syslinux

sudo apt-get install syslinux mtools
syslinux -sf /dev/sdX2

Подготовка загрузочного образа

Создадим два каталога. В один будет замонтирован загрузочный диск (или ISO), во втором будем подготавливать образ для переноса на флэшку

mkdir isoimg
mkdir ubuntu
# Для монтирования диска
mount /dev/cdrom isoimg
# Для монтирования образа
mount ubuntu-7.04-dvd-i386.iso isoimg -o loop

Скопируем с диска все что требуется для успешной загрузки

cd isoimg
cp -r casper doc install isolinux pics preseed ../ubuntu
cp * ../ubuntu
cd ../ubuntu

Поскольку загрузочный раздел под Windows виден не будет, удалим автозапуск rm start.* rm autorun.inf

Создадим файл syslinux.cfg

nano syslinux.cfg

со следующим содержимым

DEFAULT /casper/vmlinuz
GFXBOOT bootlogo
GFXBOOT-ACCESS-OPTIONS v1 v2 m1
APPEND  file=/cdrom/preseed/kubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
LABEL live
  menu label ^Start or install Kubuntu
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
LABEL xforcevesa
  menu label Start Kubuntu in safe ^graphics mode
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed boot=casper xforcevesa initrd=/casper/initrd.gz quiet splash --
LABEL driverupdates
  menu label Install with driver ^update CD
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed boot=casper debian-installer/driver-update=true initrd=/casper/initrd.gz quiet splash --
LABEL install
  menu label ^Install in text mode
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed initrd=/install/initrd.gz quiet --
LABEL linux
  menu hide
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed initrd=/install/initrd.gz quiet --
LABEL cdrom
  menu hide
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed initrd=/install/initrd.gz quiet --
LABEL expert
  menu hide
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed priority=low initrd=/install/initrd.gz --
LABEL server
  menu label Install a ser^ver
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz quiet --
LABEL oem
  menu label Text mode install for ma^nufacturers
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/kubuntu.seed anna/choose_modules=oem-config-udeb initrd=/install/initrd.gz quiet --
LABEL cli
  menu label Install a comm^and-line system
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/cli.seed initrd=/install/initrd.gz --
LABEL cli-expert
  menu hide
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/cli.seed priority=low initrd=/install/initrd.gz --
LABEL check
  menu label ^Check CD for defects
  kernel /casper/vmlinuz
  append  boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
LABEL memtest
  menu label ^Memory test
  kernel /install/mt86plus
  append -
LABEL hd
  menu label ^Boot from first hard disk
  localboot 0x80
  append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt

Скопируем файлы isolinux, ядро и initrd в корень будующего загрузочного раздела

cd isolinux
cp *.fnt *.jpg *.txt boot* isolinux.* splash.* en.* ..
cd ..
echo "en" > langlist
cp casper/vmlinuz casper/initrd.gz install/mt86plus ./

Удалим сетевую загрузку (она будет только мешаться) и немного подчистим за собой

rm -r install/netboot/
cd ..
umount isoimg
rm -r isoimg

Перенос образа

Остается только скопировать полученный образ на флэшку

mkdir flash
mount /dev/sdX2 flash
cp -r ubuntu/* flash
umount flash
rm -r flash

Все. С флешки можно грузиться

Customization

Дополнительная информация на LiveCDCustomization

Личные инструменты