< [ на главную ]

 Мультизагрузочная бутовая реанимационная восстановительная установочная флешка.

Внимание: все пути, строки запуска, актуальны для описанных ниже версий дистрибутивов. Все работы с разделами, форматированием ведутся от суперпользователя root.

Цель: сделать флешку, с которой можно:
- установить систему alt linux 5.0 (среда KDE) Desktop
- установить систему alt linux 5.0 Ark Server
- загрузить live-alt linux 5.0 (среда KDE)
- rescue-систему alt linux 5.0 (среда KDE)
- загрузить parted magic 4.8, тут есть работа с разделами, с образами, восстановление и тп, мне нравится
- несколько утилиток для тестов, проверки и тп

Что нам потребуется:

1. Выбрать и найти флешку требуемого объема. Арифметика такая
диск с альтом 5 desktop ~3,7 гигабайта
диск с альтом 5 server ~ 0,6 гига
parted magic 4.8 - 76 мегабайт
разное - что хотите, у меня масса восстановительных вещей для windows
Таким образом, под дистрибутивы нужно больше четырех гигабайт. Соответственно флешка потребуется как минимут 8 гигабайт.

2. Сделать нашу флешку загрузочной. В настоящий момент для этого используются в основном (а может и только) загрузчики syslinux, grub, grub4dos. Функционал значителен, но лучше всего я знаком с последним. Поэтому будем использовать grub4dos.

3. Поместить дистрибутивы из п.1 на флешку и прописать меню запуска.

Итак:

Будем считать, что флешка у вас есть. Лично я использовал SD-карточку на 8 гигабайт.

Замечание: так как файлы в исо десктоп и сервер организованы одинаково, папки и файлы в корне называются одинаково, флеш будем разбивать на два раздела, и сервер будет стартовать со второго раздела, по-другому никак. Кому установка серверной версии не надо, второй раздел по сути ни к чему (разве только, если первый раздел будет загрузочный, а второй под хранение данных).

Деление флешки на два раздела, форматирование

Флешку следует отформатировать в систему fat 32. Обычно они из магазина уже либо fat, либо fat32. Эмпирическим путем было выяснено, что лучше создать раздел, производить форматирование и устанавливать загрузчик из одной и той же оси (в нашем случае из linux). Поэтому удаляем раздел и делаем два своих.

Отмонтируйте флешку любым известным вам способом.
Посмотрим, какие диски у нас есть в системе, у вас они будут свои, я сконцентрируюсь на флеш-накопителе:

Код:

# fdisk -l

Disk /dev/sdc: 7908 MB, 7908360192 bytes
244 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15128 * 512 = 7745536 bytes
Disk identifier: 0x0007fd88                    

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1021     7722813    4  FAT16 <32M

Поработаем с нашей флешкой программой fdisk, произведем «захват» нашей флешки:

Код:

# fdisk /dev/sdc

Command (m for help):

Для вывода всех опций, введите m, а я нажму d — удалить раздел, указываем номер раздела, который хотим удалить, и жмем w — сохранить изменения:

Код:

Command (m for help): d
Selected partition 1  

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.                            
#

Запустим еще раз команду fdisk -l, чтобы убедиться, что раздела больше нет:

Код:

# fdisk -l

Disk /dev/sdc: 7908 MB, 7908360192 bytes
244 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15128 * 512 = 7745536 bytes
Disk identifier: 0x0007fd88                    

   Device Boot      Start         End      Blocks   Id  System

Снова производим захват флешки, теперь с целью создания раздела. Для создания раздела нам нужно нажать n:

Код:

# fdisk /dev/sdc

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)

Нам предлагается создать либо расширенный раздел, либо первичный. Мы выбираем второе и жмем p:

Код:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4):

Здесь нам следует указать номер этого самого первичного раздела. Нажимаем единицу:

Код:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1021, default 1):

Здесь следует указать, с какого цилиндра будет начинаться наш первый раздел, по умолчанию предлагается первый цилиндр, его и укажем:

Код:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1021, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-1021, default 1021):

Теперь нужно указать последний цилиндр нашего раздела. Если вы не планируете заводить второй раздел, смело указывайте последний по дефолту (у меня это 1021). У меня же будет два раздела , поэтому последний цилиндр у меня будет не 1021. Размер раздела вы можете указать номером цилиндра, высчитав его отсюда

Код:

Disk /dev/sdc: 7908 MB, 7908360192 bytes
244 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15128 * 512 = 7745536 bytes

либо в таком формате +size{K,M,G}, например +5G - это будет 5 гигабайт.
Признаюсь, идея с добавлением установки alt server мне пришла после окончания работы, поэтому я уменьшил первый раздел флешки в программе gparted , а потом я уже сделал второй раздел. Gparted "отъел" 700 мегабайт с конца флешки и начало следующего раздела у меня выпало на цилиндр с номером 927. Следовательно первый у меня должен закончится на 926

Код:

Last cylinder, +cylinders or +size{K,M,G} (927-1021, default 1021): 926

Теперь установим тип раздела fat32, все возможные значения вы можете увидеть по букве l, а я пока укажу t — назначить тип раздела, и c — тип FAT32 (LBA):

Код:

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c (W95 FAT32 (LBA))

Теперь применим наши директивы и сохраним изменения, нажав w:

Код:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
#

Теперь отформатируем раздел в fat32. Проверьте, что у вас в системе установлен пакет dosfstools, если его нет, установите

Код:

apt-get install dosfstools

Форматируем, ключ -n позволяет задать метку диска (рекомендуется для удобства), обратите внимание, на флеш теперь есть раздел, поэтому указываем sdс1, а не sdс:

Код:

# mkfs.vfat -n BOOT /dev/sdc1
mkfs.vfat 2.11 (12 Mar 2005)
#

Теперь создадим и отформатируем второй раздел. Захватываем флешку:

Код:

# fdisk /dev/sdc

Начинаем создaвать новый, второй по номеру раздел, его начало это цилиндр 927, конец - 1021:

Код:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-1021, default 1): 927
Last cylinder, +cylinders or +size{K,M,G} (927-1021, default 1021): 1021

Теперь зададим id второго раздела:

Код:

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): c
Changed system type of partition 2 to c (W95 FAT32 (LBA))

И сохраним изменения:

Код:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
#

Отфоpматируем второй раздел, я задал ему метку SERVER, не перепутайте - теперь форматируем ВТОРОЙ раздел sdc2:

Код:

# mkfs.vfat -n SERVER /dev/sdc2
mkfs.vfat 2.11 (12 Mar 2005)
#

Теперь на флеш 2 раздела:

Код:

fdisk -l
Disk /dev/sdc: 7908 MB, 7908360192 bytes
244 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15128 * 512 = 7745536 bytes
Disk identifier: 0x0007fd88

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         926     6996700   c  W95 FAT32 (LBA)
/dev/sdc2             927        1021      718580    c  W95 FAT32 (LBA)

Замечание: второй раздел в windows не будет виден, ну или будет, но букву вы ему не сможете назначить, для разбиения флешек на два раздела чтобы для винды, поищите специальные программы от производителей вашей флеш.

Установка загрузчика


Потребуется пакет grub4dos, взять можно здесь http://download.gna.org/grub4dos/, интересует архив вида grub4dos-0.4.4.zip последней даты. Распакуйте этот архив, я распаковал в домашнюю папку пользователя (не root) /home/sergo/Documents/grub4dos-0.4.4/. Из под root сделайте исполняемым файл bootlace.com, который находится в этой папке

Код:

#chmod +x /home/sergo/Documents/grub4dos-0.4.4/bootlace.com


Теперь установим загрузчик в mbr флешки:

Код:

# /home/sergo/Documents/grub4dos-0.4.4/bootlace.com /dev/sdc

Disk geometry calculated according to the partition table:

        Sectors per track = 62, Number of heads = 244

Success.

#



Дополнительные опции читайте в файле README_GRUB4DOS.txt.
Теперь скопируйте на флеш файлы grldr и menu.lst из папки /home/sergo/Documents/grub4dos-0.4.4/ (ну или куда вы распаковали архив). Второй файл мы попозже подправим под себя.

ВНИМАНИЕ: ДЕЛАЕМ ВСЕ КРАСИВО: Загрузочные меню обширные, поэтому будет рассказано, как сделать вложенные меню. Для вложенных сразу сделайте в корне флешки папку menu.

Добавление дистрибутивов на флеш

Alt linux 5.0 KDE Deskop

Берем образ тут ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p5/iso/desktop/
Вставьте диск с Alt linux 5.0 KDE Deskop в привод, или возьмите образ такого диска, и скопируйте с него в корень первого раздела флешки, такие папки (очень удобно распаковывать iso прямо в mc, а не через графические обозреватели):
ALTLinux со всем содержимым (собственно дистрибутив)
docs со всем содержимим (не обязательно, но это документация...)
Metadata со всем содержимым
alt0 со всем содержимым (она находится в папке исо/syslinux)
файлы:
altinst
live
rescue

ВНИМАНИЕ!В процессе копирования выяснилось, что следующие файлы

kernel-modules-virtualbox-addition-std-def-3.0.10-alt1.132638.15
branding-altlinux-kdesktop-kde4-settings-5.0.0-alt28.M51.1.noarc
branding-altlinux-kdesktop-bootloader-5.0.0-alt28.M51.1.noarch.r
branding-altlinux-kdesktop-bootsplash-5.0.0-alt28.M51.1.noarch.r
installer-feature-network-shares-client-stage3-0.6-alt1.noarch.r
branding-altlinux-kdesktop-alterator-5.0.0-alt28.M51.1.noarch.rp
branding-altlinux-kdesktop-indexhtml-5.0.0-alt28.M51.1.noarch.rp
kernel-modules-fglrx-std-def-1.0.8.68.1-alt0.1.132638.15.i586.rp

скопировались в таком виде (такими они и были в исо-образе), однако при установке было сообщение об ошибке - не хватает этих_файлов.rpm, так что проверьте, что все файлы из каталога
исо/ALTLinux/RPMS.main имели расширение .rpm (после того, как оказались на флешке), если это не так, переименуйте

Теперь дайте команду blkid, она укажет вам uuid вашей флешки

Код:

blkid
/dev/sdc1: LABEL="BOOT" UUID="4B79-5F7F" TYPE="vfat"
/dev/sdc2: LABEL="SERVER" UUID="4B7A-AADA" TYPE="vfat"

Запомните эти числа  4B79-5F7F и 4B7A-AADA (у вас разумеется оно будет другим, уникальным для вашей системы и вашей флешки), они нам пригодятся ниже.

Теперь пропишем меню запуска. Скопируйте из корня флешки файл menu.lst в папку menu и переименуйте в altd.lst, а затем файл altd.lst приведите к такому состоянию:

Код:

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
#timeout 30
default /default

title 00 - install Alt Linux 5.0 KDE \n * Install Alt Linux 5.0 KDE Desktop
kernel /alt0/vmlinuz lowmem  changedisk ramdisk_size=65536 lang=ru_RU automatic=method:disk,uuid:4B79-5F7F vga=0x314 splash=silent splashcount=17 xdriver=auto showopts
initrd /alt0/full.cz

title 01 - install Alt Linux 5.0 KDE failsafe \n * Install Alt Linux 5.0 KDE Desktop failsafe mode
kernel /alt0/vmlinuz lowmem changedisk ramdisk_size=65536 lang=ru_RU automatic=method:disk,uuid:4B79-5F7F showopts noapic pci=nomsi acpi=off noload=ahci
initrd /alt0/full.cz

title 02 - Alt Linux 5.0 KDE live \n * Load Alt Linux 5.0 KDE live mode
kernel /alt0/vmlinuz lowmem lang=ru_RU automatic=method:disk,uuid:4B79-5F7F fastboot splash=silent splashcount=17 stagename=live showopts
initrd /alt0/full.cz

title 03 - Alt Linux 5.0 KDE rescue \n * Load Alt Linux 5.0 KDE rescue mode
kernel /alt0/vmlinuz lowmem automatic=method:disk,uuid:4B79-5F7F ramdisk_size=65536 fastboot stagename=rescue showopts
initrd /alt0/full.cz

title 04 - Back ==>
configfile (hd0,0)/menu.lst

title commandline
commandline

title reboot
reboot

title halt
halt

Сюда uuid:4B79-5F7F вы подставляете ваш uuid


Parted Magic

Parted Magic берем на странице проекта в разделе загрузка http://partedmagic.com/download.html, я скачал версию для USB, это zip-архив. Здесь все просто, из архива копируем в корень первого раздела папку pmagic со всем содержимым. Также скопируйте из корня флешки файл menu.lst в папку menu и переименуйте в partm.lst, а затем файл partm.lst приведите к такому состоянию:

Код:

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
#timeout 30
default /default

title 00 - Parted Magic version: 4.8 (C) 2010, Patrick Verner \n * Default settings (Runs from RAM / Ejects CD), \n * http://www.partedmagic.com\n * Disclaimer: Author excluded from any liability.
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 loglevel=0 max_loop=256 keymap=ru
initrd /pmagic/initramfs
map --unmap=0:0xff

title 01 - Parted Magic Live with default settings (media not usable)\n Live mode intended for 128-192MB based systems.\n The Live CD medium must remain in the drive.
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw loglevel=0 vga=791 livemedia noeject max_loop=256 keymap=ru
initrd /pmagic/initramfs
map --unmap=0:0xff

title 02 - Parted Magic Live with low RAM settings\n Disables most daemons and other RAM-exhausting\n processes. The preferred Live option for systems\n with minimal memory (128MB of RAM).
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal lowram livemedia noeject nogpm nolvm nonfs nofstabdaemon nosmart noacpid nodmeventd nohal nosshd nosound nobluetooth loglevel=0 xvesa max_loop=256 keymap=us
initrd /pmagic/initramfs
map --unmap=0:0xff

title 03 - Parted Magic Do not eject CD (*emulators)\n Same as option 2 except for the noreplace-paravirt\n parameter, which is needed for some emulators.
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 noeject noreplace-paravirt livemedia loglevel=0 max_loop=256 keymap=ru
initrd /pmagic/initramfs
map --unmap=0:0xff

title 04 - Parted Magic Alternate graphical server\n Same as option 1. except Xvesa is used by default\n instead of Xorg. (Try this option if Xorg fails.)
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 xvesa loglevel=0 max_loop=256 keymap=ru
initrd /pmagic/initramfs
map --unmap=0:0xff

title 05 - Parted Magic Safe Graphics settings (vga=normal)\n Disables splash screen and console frame buffer support.
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=0 max_loop=256 keymap=ru
initrd /pmagic/initramfs
map --unmap=0:0xff

title 06 - Parted Magic Failsafe settings\n vga=normal, , noapic, nolapic, nopcmcia, noscsi,\n nogpm, nosmart, & boots to console.
kernel /pmagic/bzImage acpi=off edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal  nolapic nopcmcia noscsi nogpm consoleboot nosmart keymap=ru nosshd nosound max_loop=256
initrd /pmagic/initramfs
map --unmap=0:0xff

title 07 - Parted Magic Console (Boots to the shell)\n Normal vga, verbose kernel messages, and\n no automatic graphical environment.
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal consoleboot max_loop=256 keymap=ru
initrd /pmagic/initramfs
map --unmap=0:0xff

title 08 - Back ==>
configfile (hd0,0)/menu.lst

title commandline
commandline

title reboot
reboot

title halt
halt

Так же из архива Pmagic возьмем утилиту Hardware Detection Tool и memtest86, для этого скопируем в папку флеш/pmagic файлы hdt.gz, memtest и memdisk из папки архив/boot/syslinux. Пути запуска добавим позже в основное меню.

Alt linux 5.0 Ark Server

Берем образ тут ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p5/iso/ark/
Монтируем куда нибудь второй раздел флешки.
Переносим аналогичным способом. Вставьте диск с alt linux 5.0 Ark server в привод,
или возьмите образ такого диска, и скопируйте с него в корень второго раздела такие папки (очень удобно распаковывать iso прямо в mc, а не через графические обозреватели):
ALTLinux со всем содержимым (собственно дистрибутив)
docs со всем содержимим (не обязательно, но это документация...)
Metadata со всем содержимым
alt0 со всем содержимим (она находится в папке исо/syslinux)
файлы:
altinst
rescue

Теперь пропишем меню запуска. Скопируйте из корня флешки файл menu.lst в папку menu и переименуйте в alts.lst, а затем файл alts.lst приведите к такому состоянию (с учетом uuid второго раздела, у меня это 4B7A-AADA):

Код:

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
#timeout 30
default /default

title 00 - install Alt Server 5.0 ark \n * Install Alt Linux Server 5.0 Kovcheg
hide (hd0,0)
unhide (hd0,1)
kernel (hd0,1)/alt0/vmlinuz lowmem  changedisk ramdisk_size=65536 lang=ru_RU automatic=method:disk,uuid:4B7A-AADA vga=0x314 splash=silent splashcount=17 xdriver=auto showopts
initrd (hd0,1)/alt0/full.cz

title 01 - install Alt Server 5.0 ark failsafe \n * Install Alt Linux Server 5.0 Kovcheg failsafe mode
hide (hd0,0)
unhide (hd0,1)
kernel (hd0,1)/alt0/vmlinuz lowmem changedisk ramdisk_size=65536 lang=ru_RU automatic=method:disk,uuid:4B7A-AADA showopts noapic pci=nomsi acpi=off noload=ahci
initrd (hd0,1)/alt0/full.cz

title 02 - Alt LServer 5.0 ark rescue \n * Load Alt Linux Server 5.0 Kovcheg rescue mode
hide (hd0,0)
unhide (hd0,1)
kernel (hd0,1)/alt0/vmlinuz lowmem automatic=method:disk,uuid:4B7A-AADA ramdisk_size=65536 fastboot stagename=rescue showopts
initrd (hd0,1)/alt0/full.cz

title 03 - Back ==>
configfile (hd0,0)/menu.lst

title commandline
commandline

title reboot
reboot

title halt
halt

Все, теперь нам осталось оформить файл menu.lst, который лежит в корне первого раздела флешки. По плану, там будут пункты загрузки альт линукс десктоп, альт линукс сервер, parted magic, а также тестовые утилиты, для примера включим на нашу флеш прекрасную утилиту для проверки жестких дисков mhdd 4.6, берем тут http://www.mhdd.ru/download.shtml, качаем образ дискеты, и кладем ее в папку флеш/pmagic, у меня это mhdd.img. Файл menu.lst получился вот таким:

Код:

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default

title 00 - Alt Linux 5.0 KDE Desktop ==> \n * install, live, rescue
configfile (hd0,0)/menu/altd.lst

title 01 - Alt Linux 5.0 Ark Server ==> \n * install, rescue
configfile (hd0,0)/menu/alts.lst

title 02 - Parted Magic 4.8 ==> \n * partition, reanimation, recovery tools
configfile (hd0,0)/menu/partm.lst

title 03 - Hardware Detection Tool (HDT) \n * interactive hardware analyzer by Erwan Velu.
map --mem /pmagic/hdt.gz (fd0)
map --hook
root (fd0)
chainloader (fd0)+1

title 04 - Memtest86+ \n Check system RAM for errors.
kernel /pmagic/memtest
map --unmap=0:0xff

title 05 - Mhdd \n hard test tool
find --set-root /grldr
kernel /pmagic/memdisk
initrd /pmagic/mhdd.img

title Boot from cd-rom
cdrom --init
map --hook
chainloader (cd0)

title Boot from floppy
chainloader (fd0)+1
rootnoverify (fd0)
savedefault --wait=2

title commandline
commandline

title reboot
reboot

title halt
halt

Все, проверяем в работе.

В заключении о еще одной красивости: grub4dos позволяет использовать фоновую картинку для меню. Делается все достаточно просто. Берете вашу любимую обоину (лучше выбрать такую, где цветовые переходы не плавные, а порезче, так как картинка сжимается, будут некрасивые квадратности), открываете ее в Gimp.
Меняете ей разрешение до 640х480, затем меняете ей режим индексирования до 14 цветов (Изображение ->Режим ->Индексирование) и сохраняете обоину в формате xpm. Затем этот файл архивируете в формат gz. Получается файл вида splash.xpm.gz. В корне флешки создаем папку, например image и кладем туда этот файл, а в menu.lst вверх добавляете строку для вызова картинки, а строку с цветом проще закомментировать, либо почитать про настройку цвета в файле README_GRUB4DOS.txt

Код:

splashimage (hd0,0)/image/splash.xpm.gz
#color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default

Причем вы можете сделать свою картинку для каждого меню.

Самый ценный ресурс по созданию мультизагрузочной флешки находится здесь http://greenflash.su. ATF, дружище, думаю плоды работы твоего проекта пригодятся кроме меня еще кому-нибудь !!!

Спасибо.

greyzy 02/2010
< [ на главную ]




Hosted by uCoz