Мультизагрузочная бутовая
реанимационная восстановительная установочная флешка.
|
Внимание: все пути, строки запуска, актуальны для описанных ниже версий дистрибутивов. Все работы с разделами, форматированием ведутся от суперпользователя 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
Отфоpматируем второй раздел, я задал ему метку SERVER, не перепутайте -
теперь форматируем ВТОРОЙ раздел sdc2: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. # Код: # mkfs.vfat -n
SERVER /dev/sdc2
Теперь на флеш 2 раздела:mkfs.vfat 2.11 (12 Mar 2005) # Код:
fdisk -l
Замечание:
второй раздел в windows не будет виден, ну или будет, но букву вы ему
не сможете назначить, для разбиения флешек на два раздела чтобы для
винды, поищите специальные программы от производителей вашей флеш.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) Установка загрузчика Потребуется пакет 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.
Сюда uuid:4B79-5F7F вы подставляете ваш uuid# 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 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 |
< [ на главную ] |