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

