Комментарии

Галерея

Опрос

Из каких стран идет больше всего спама, попыток взлома на ваши серверы?:

Создание загрузочной флешки SystemRescueCd с использованием extlinux

     

UPD: Новая версия статьи

SystemRescueCD — дистрибутив Linux, основанный на Gentoo. Распространяется в виде загрузочного LiveCD-образа. Предназначен для обслуживания и выполнения административных задач. Содержит инструменты для работы с жестким диском: разбивка на разделы, диагностика, сохранение и восстановление разделов.
Цель работы: получить загрузочную флешку с отдельным разделом под SystemRescueCD и с возможностью переносить данные на первом разделе, отформатированным в fat32.

В качестве загрузчика выбран extlinux (в комплекте с syslinux), способный загружать с ext2/ext3. Можно применить Grub, но для этого нужно переписывать конфигурационные файлы и меню, идущие с iso-образом.
На момент написания хелпа использовались следующие версии:
SystemRescueCd 2.2.0
syslinux 4.04

Создание разделов и форматирование
Вначале создаём таблицу разделов msdos, затем форматируем (Способов множество. Я использую Gparted). Первый раздел содержит fat32 (data), на втором будет наша загрузочная система в ext2/3 (512Мб будет достаточно). Нужно установить флаг загрузки на второй раздел. Для этого подойдёт fdisk (вместо /dev/sdf впишите своё)

fdisk /dev/sdf
Команда (m для справки): m
Действие команды
   a   переключение флага загрузки
   b   редактирование метки диска bsd
   c   переключение флага dos-совместимости
   d   удаление раздела
   l   список известных типов файловых систем
   m   вывод этого меню
   n   добавление нового раздела
   o   создание новой пустой таблицы разделов DOS
   p   вывод таблицы разделов
   q   выход без сохранения изменений
   s   создание новой чистой метки диска Sun
   t   изменение id системы раздела
   u   изменение единиц измерения экрана/содержимого
   v   проверка таблицы разделов
   w   запись таблицы разделов на диск и выход
   x   дополнительная функциональность (только для экспертов)
 
Команда (m для справки): a
Номер раздела (1-4): 2
 
Команда (m для справки): p
 
Disk /dev/sdf: 15.3 GB, 15300820992 bytes
255 heads, 63 sectors/track, 1860 cylinders, всего 29884416 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d22f0
 
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdf1            2048    28835839    14416896    b  W95 FAT32
/dev/sdf2   *    28835840    29884415      524288   83  Linux
 
Команда (m для справки): w
Таблица разделов была изменена!
 
Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.

Установка загрузчика
Ставим из портежей последнюю версию:

emerge -q sys-boot/syslinux

Копируем загрузочный сектор на флешку:

dd if=/usr/share/syslinux/mbr.bin of=/dev/sdf
0+1 записей считано
0+1 записей написано
 скопировано 440 байт (440 B), 0,0118753 c, 37,1 kB/c

Монтируем флешку и устанавливаем на неё extlinux:

mkdir /mnt/usb
mount /dev/sdf2 /mnt/usb
mkdir /mnt/usb/extlinux
extlinux --install /mnt/usb/extlinux

Копируем модули:

cp /usr/share/syslinux/*.c32 /mnt/usb/extlinux

А также:

cp /usr/share/syslinux/memdisk /mnt/usb/extlinux
cp /usr/share/syslinux/pxelinux.0 /mnt/usb/extlinux

Копирование содержимого образа SystemRescueCD

mount -o loop,exec /your/path/systemrescuecd-x86-2.2.0.iso /mnt/cdrom
rsync -a /mnt/cdrom/* /mnt/usb --exclude=/isolinux
cp /mnt/cdrom/isolinux/isolinux.cfg /mnt/usb/extlinux/extlinux.conf
cp /mnt/cdrom/isolinux/rescue* /mnt/usb/extlinux
cp /mnt/cdrom/isolinux/altker* /mnt/usb/extlinux
cp /mnt/cdrom/isolinux/initram.igz /mnt/usb/extlinux
cp /mnt/cdrom/isolinux/*.msg /mnt/usb/extlinux
cp -r /mnt/cdrom/isolinux/maps /mnt/usb/extlinux

Проверка в qemu
С KVM:

modprobe kvm-intel
qemu -m 1024 -localtime -hda /dev/sdf -boot once=c,menu=off -enable-kvm

Без KVM:

qemu -m 1024 -localtime -hda /dev/sdf -boot once=c,menu=off

Это всё. При загрузке не забудьте включить USB Legacy в BIOS. Затем можно выбрать USB-флешку по F8.

Аватар пользователя isn

SystemRescueCd пожалуй один из лучших LiveCD для диагностики и восстановления.
Особенно интересно наличие gdisk (gptfdisk) - аналог линуксового fdisk для работы с GPT разметкой. В отличие от многих других утилит, позволяет конвертировать MBR в GPT и обратно без потерь данных.