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