Рубрики
Linux Программирование

Загрузочная флэшка Linux

Прочитано: 190

Подключить карту памяти USB к компьютеру. В работающей системе GNU/Linux USB-карта доступна с именем /dev/sdX, где «X» может быть любой буквой a-z. Чтобы определить устройство, необходимо выполнить команду:

sudo dmesg # вывод о подключенных устройствах или
sudo fdisk -l # просмотр дисков; [sudo] можно опустить, если работа идёт от имени root

Перед выполнением отключить защиту от записи. Процедура записи USB-карты уничтожит с неё все данные. Очень важно указывать точное название устройства, иначе это может привести к потере неучтённых данных.


Первый способ

Более простой способ, и недостаток в том, что система будет занимать весь диск.
Скачать любой образ Debian (CD, DVD, Live, mini). И записать его на карту памяти USB, предварительно отмонтировав (например, /dev/sdb):

umount /dev/sdX # отмонтирует устройство
sudo cp debian-live-cd.iso /dev/sdX # скопирует образ на USB-карту
sudo sync # синхронизирует, дожидает до завершения операции чтения-записи

Для копирования образов из других ОС можно использовать программу win32diskimager.


Второй способ

При таком способе предполагается в одном разделе хранить файлы загрузочной системы, а в другом — любые другие файлы и использовать как обычную курту памяти USB.
Создать два раздела на USB-карте при помощи утилиты cfdisk тип FAT16, а также один раздел под систему должен быть загрузочным (флаг bootable). Настроить MBR. (Например, /dev/sdb и /dev/sdb1)

sudo cfdisk /dev/sdX # запускает утилиту для создания разделов на карте
sudo install-mbr /dev/sdX # установит MBR (пакет Debian: mbr)
sudo mkdosfs /dev/sdX1 # создаст файловую систему (пакет Debian: dosfstools)

Установить на карту памяти USB загрузчик syslinux (Например, /dev/sdb1), предварительно отмонтировав раздел:

sudo syslinux /dev/sdX1 # поместит загрузчик в первый раздел USB-карты (пакеты Debian: syslinux и mtools) и создаст файлы ldlinux.sys и ldlinux.c32

Далее смонтировать раздел и скопировать файлы образа программы установки (можно найти здесь) на карту памяти (Например, /dev/sdb1):

mount /dev/sdX1 /mnt # монтирует раздел в mnt
cp vmlinuz /mnt # копирует файл ядра на карту
cp initrd.gz /mnt # копирует образ ramdisk на карту
echo "default vmlinuz initrd=initrd.gz vga=788" > /mnt/syslinux.cfg # создаст конфигурационный файл (для русского текста использовать кодировку "CP-866") на карте с минимальным набором инструкций для загрузчика syslinux (для выключения графического режима - удалить "vga=788")
umount /mnt # размонтирует карту


Дополнительно

Файлы для загрузчика syslinux *.c32 можно найти в каталоге «/usr/lib/syslinux/bios/».
Структура файлов может быть такой, что всё в корне одного раздела USB-карты или более разветвлённая структура файлов (usb-flash.zip):

  ldlinux.sys
ldlinux.c32
/boot ¬
vmlinuz
initrd.gz
/dos ¬
dos.ima
/livecd ¬
debian-livecd-xfce.iso
/memtest ¬
memtest.bin
/syslinux ¬
/fonts ¬
866_8x16.psf
/images ¬
bg.png
syslinux.cfg
memdisk
vesamenu.c32
menu.c32
hdt.c32
chain.c32
reboot.c32
poweroff.c32

Материалы

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

Ваш адрес email не будет опубликован.

восемь + 9 =