Мультизагрузка мини-линухов под Windows

Это гарантированно работает под Win2k..XP — проверено; под «младшими» Окнами — тоже должно (см. скажем здесь), а вот под Windows 7/Vista — сомнительно без существенной переработки стадии подключения загрузчика Grub4dos (говорят, пригоден иной путь: используется софтина EasyBCD — см.: форум), но последнее мной пока не проверено [добавление #1 к тексту статьи].

I. Введение в тему

Настоящий Профессионал, Мастер, обустройство своего места работы, пусть — «виртуального», начинает с удобной инструментальной среды. Программист, разработчик, бета-тестер (включая и майнтайнеров) — не исключение. Поэтому данная статья-рекомендация и, своего рода, обмен опытом подпадает под вышеуказанное определение. Она наиболее полезна не только и не столько «простым пользователям», но скорее именно профи. Исходя из этого она писалась, это же следует иметь в виду и читателю…

Второе: огромное «сенькс» автору статьи "Как установить PuppyRus под Windows XP?" г-ну Азамату — спасибо как за «наводку», так и за сугубо специальную и неочевидную информацию, пригодившуюся мне как крепкая основа по основной теме данной статьи, но одновременно и за открытие для меня лично прекрасного мира мини-линухов!

Третье: в данной статье рассматривается некое универсальное «расширение» уже описанного им ранее способа. Это приёмы, позволяющие таким вот «хитрым», но в сущности простым способом установить и попеременно «юзать» линух, и не одну «копию» (версию) мини-линуха (скажем, PuppyRus), но даже несколько его версий или «клонов» сразу. При том, загружаясь не с LiveCD, без заморочек с жестким диском и конечно без переустановок ОСей.

Набор этих ОСей довольно основателен, включая оригинальные дистросы Puppy Linux 3.хх и 4.хх версий, его русские клоны - см. на сайте puppylinux.org либо «экзотические» варианты навроде Аскетика (имеется там же) или скажем можно попробовать на каком-то компьютере старенький дистрос Breeezy LINUX (но последний пока мною не отлажен для запуска в этих условиях).

Зачем это нужно? Для указанных профи иногда важно и подобное «изобилие» вариантов загрузки, версий и клонов линухов. Это бывает крайне удобно вообще, подчас — необходимо для удобства тестирования, сравнения, проверок совместимости пакетов и т.п. проф-деятельности, притом — работая с ними и не отвлекаясь на переустановки ОСей либо «прожиг» LiveCD (и не нуждаясь в двух и более компьютерах, установленных рядышком).

Перезагрузка этих ОСей здесь — в пределах одной минуты!..

В иных случаях это же может быть для кого-то просто полезно либо познавательно. Решение же подобной задачи так сказать «малой кровью» — это и есть сугубо профессиональное и потому изящное решение.

II. HowTo

Шаг 1. Скачиваем нужные нам дистрибутивы (лучше с официальных сайтов):

1.1. дистрибутив Grub4dos (на февраль-март 2009 — версии grub4dos-0.4.4) например с сайта nufans.net (это братья-китайцы :) …) или версию 0.4.3 с sourceforge (прямая ссылка). Разумеется, Grub4dos можно найти и не только там!..

1.2. все нужные именно ВАМ дистрибутивы мини-линухов.

К сведению. Лично я, как вы поймете далее, экспериментировал (на нескольких доступных мне машинах, и это лишь на сегодня), сразу с таким нехилым набором: Puppy Rus бета «Siberia 0.1» и стабильный «PuppyRus 1.20U Lite-M» + «PuppyRus 4.12» (это тоже бета) + «Ascetic 0.7 b2r» (т.е. русская бета 2 крошечного «Аскетика») — все их можно взять на официальном русском сайте см. в репозитарии: директория /pub — плюс к тому, пробуя ОСи «не наши» :) — такие версии и клоны, как: «Puppy 3.01» и «Puppy 4.12» (их «фэйс» на англ. яз.) — взять с puppylinux.org.

Также я пробовал (по этой схеме пока не вполне успешно) установить старую "Breeezy 2.13" и DSL (Damn Small Linux) — всё это с разной степенью приятности юзанья, а также успеха или неуспеха в каждом конкретном случае (на каком-то компьютере)…

Шаг 2. Устанавливаем Grub4dos — все файлы из архива просто распаковываем в предварительно созданный каталог c:\boot\grub. Сразу после этого имеющийся там файл grldr следует переместить в корень системного диска С.

Шаг 3. Далее вы должны добавить grub в ваш основной бут-файл Окон C:\boot.ini (Как это правильно сделать? — вы должны знать это сами: я ж пишу это отнюдь не для «чайников», и поэтому разжевывать не стану «из прынципа»!..) А конкретно говоря, там в конец прописывается одна строчка:

C:\grldr=Start GRUB :: Mini Linux's SET : Start Chooser for my Linux!

(Впрочем, обязательной и неизменной её часть является лишь это: C:\grldr=, а вот прописанное дальше знака »=», — это ваш индивидуальный выбор и возможное «творчество»; помните только, что на этой стадии загрузки системы — как и впрочем и в Grub4dos — поддержана шрифтами только латиница.)

Шаг 4. В корне диска С: создаем несколько именных папок для вашего набора мини-линухов, — именно столько, сколько вы решили попробовать их «за один раз» но, возможно, станете их и далее юзать. Скажем, я создал такие папки (они и прописаны в моём конфигурационном файле — см. ниже): puppyrus, puppyrus412, puppyrus12r, puppy3, puppy4, siberia, siberia-test, breeezy, ascetic07b2r, dsl4.4.1. Часть из них — временные варианты или для экспериментов. Кстати, в загрузочном меню всегда можно «ОТКЛЮЧИТЬ» ненужные (быть может, временно) строчки, просто поставив знак # в начале каждой из строк данной секции.

Можно даже залить и юзать две и более «копии» одной ОС — скажем, над одной «издеваться» для тестирования (скажем у меня: siberia-test), а в другой — без проблем и риска для своих данных повседневно работать.

NB. Помните: под Линухом имена файлов и директорий — регистро-чувствительные! (Потому что подчиняются стандарту Posix, в отличие от DOS/Windows.) Хотя Grub4dos возможно не использует еще на стадии загрузки «регистро-чувствительность» к именам (лишь возможно: я не проверял специально), однако лучше и надежнее учитывать этот фактор в любых конфигурационных ф-лах и писать их ТОЧНО ТАК, как вы прописали имена файлов и/или папок при их создании или копировании.

Второе: WinRAR часто не сохраняет «регистро-чувствительность»: например, лично я столкнулся с таким случаем, когда из дистроса (конкретно, ф-л «puppy-4.1.2-k2.6.25.16-seamonkey.iso») все имеющиеся там ф-лы с именами в стандарте 8.3 MS-DOS извлеклись WinRAR'ом как имена «в верхнем регистре», а это значит, что под Windows они автоматически трансформировалось в «слова», написанные как бы «с заглавной буквы», то есть, скажем архивное имя VMLINUZ стало в файловой системе Окон — Vmlinuz и т.д. Поэтому нужно обратить на это внимание и при нужде привести ВРУЧНУЮ (после распаковки) всё к нижнему регистру (т.е. поправить на vmlinuz и т.д.) и… тогда вы станете «спать спокойно» — не рискуя поймать багов там, где совсем не ждали! :)

Шаг 5. В каждую из этих папочек распаковываем вручную основные файлы дистрибутивов мини-линухов данного класса* — набор их типичен, а имена стереотипны; скажем дистрос «Паппируса» содержит такие нужные нам здесь файлы:

initrd.gz
pup_301.sfs //или что-то похожее на pup_ххх.sfs, зависит от версии!
vmlinuz
zdrv_301.sfs

- вот их и распаковываем туда. (Заметьте: из загруженного с сайта образа .iso берем ф-лы просто WinRAR'ом.)

*Примечания:

5.1. имейте в виду, что дистросы Siberia, Breeezy и Puppy 4.12 (список не исчерпывающий!) НЕ СОДЕРЖАТ файла zdrv_301.sfs — последний является РАСШИРЕНИЕМ (подгружаемым динамически) и характеризует индивидуальный набор расширений каждого дистрибутива линухов этого класса; конкретно, он есть в дистросе PuppyRus-1.20U-Lite-M (и -R);

5.2. в некоторых клонах, скажем в дистросе Breeezy (breeezy_Dec31_updated_Feb01_2008.zip) основной его файл (pup_213.sfs) следует извлечь из архива в корень диска С: это особенность загрузчика у этой уже устаревшей версии ОСи — он «не понимает» местонахождение файла в «домашней» папке, впрочем, как и прочие некоторые иные, здесь не рассмотренные клоны мини-линухов;

5.3. вполне возможно, что сходным образом можно загружать из-под Grub4dos и иные «живые» ОС, включая и иные мини-линухи — навроде DSL (Damn Small Linux) и, возможно, некоторые другие. Но Автор на момент написания статьи еще не до конца разобрал этот вопрос, тем более что иные дистросы «не хотят» запускаться в том случае, когда на компьютере имеется лишь файловая система Окон (fat, ntfs), но нет никакой файловой системы Линуха (ext2, ext3, swap…) — нет ни на одном из разделов диска или дисков…

(Скажем, Автор неоднократно юзал «Малого Чёрта» (DSL) — в основном в технологических целях и лишь в «классическом» виде LiveCD загружаемого линуха. Понимая, что он из одного «класса» с основными здесь рассматриваемыми, хотя и другого назначения и основного состава ПО, включил-таки и его в состав своей личной перспективной программы экспериментов. ;) Однако тот несколько видоизмененный способ попытки подключения Breeezy показывает и возможный иной путь, и общее направление поиска путей приспособления каких-либо иных мини-ОСей);

5.4. все дистросы указанных ОСей имеют в себе 4-5 неиспользуемых нами файлов, типично это: 8×16.psf, boot.bat, boot.msg, isolinux.bin, isolinux.cfg — именно ИХ нам НЕ НУЖНО копировать в папочки наших линухов, что мы создавали в корне диска С:!

Шаг 6. Перезаписываем имеющийся в Grub4dos файл menu.lst (сохранив на вский случай оригинал как menu.lst.bak — он лежит у нас в папке C:\boot\grub\), ЗАМЕНИВ его таким содержимым (конечно, это МОЙ пример и моя надобность — у вас может быть свой, написанный «по образу и подобию»):

# 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 black/cyan yellow/cyan
timeout 10
default /default

title Start Siberia 0.1.42 eeePC :: Frugal install: http://puppyrus.org/
rootnoverify (hd0,0)
kernel   /siberia/vmlinuz psubdir=siberia
initrd   /siberia/initrd.gz

title Start Siberia (TEST) eeePC :: Frugal install: http://puppyrus.org/
rootnoverify (hd0,0)
kernel   /siberia-test/vmlinuz psubdir=siberia-test
initrd   /siberia-test/initrd.gz

title Start PuppyRUS 1.20U LiteM :: Frugal install: http://puppyrus.org/
rootnoverify (hd0,0)
kernel   /puppyrus/vmlinuz psubdir=puppyrus
initrd   /puppyrus/initrd.gz

#title Start PuppyRUS 1.20 Retro :: Frugal install: http://puppyrus.org/
#rootnoverify (hd0,0)
#kernel   /puppyrus12r/vmlinuz psubdir=puppyrus12r
#initrd   /puppyrus12r/initrd.gz

title Start PuppyRUS 4.12 b :: Frugal install: http://puppyrus.org/pub/
rootnoverify (hd0,0)
kernel   /puppyrus412/vmlinuz psubdir=puppyrus412
initrd   /puppyrus412/initrd.gz

title Start Puppy Linux 4.12 :: Frugal install: http://puppylinux.org/
rootnoverify (hd0,0)
kernel   /puppy4/vmlinuz psubdir=puppy4
initrd   /puppy4/initrd.gz

#title Start Ascetic 0.7 b2 Rus :: Frugal install: http://puppyrus.org/
#rootnoverify (hd0,0)
#kernel   /ascetic07b2r/vmlinuz psubdir=ascetic07b2r
#initrd   /ascetic07b2r/initrd.gz

#title Start Puppy Linux 3.01 :: Frugal install: http://puppylinux.org/
#rootnoverify (hd0,0)
#kernel   /puppy3/vmlinuz psubdir=puppy3
#initrd   /puppy3/initrd.gz

#title Start Breeezy 2.13 (retro) :: Frugal install: http://minipc.org/
#rootnoverify (hd0,0)
#kernel   /breeezy/vmlinuz psubdir=breeezy
#initrd   /breeezy/initrd.gz

#title Start Damn Small Linux 4.4.1 (http://www.damnsmalllinux.org/)
#rootnoverify (hd0,0)
#kernel   /dsl4.4.1/linux24 psubdir=dsl4.4.1
#initrd    /dsl4.4.1/minirt24.gz

title Find and load NTLDR of Windows NT/2K/XP
fallback 1
find --set-root /ntldr
chainloader /ntldr
savedefault --wait=2

title Find and load CMLDR of Windows NT/2K/XP
fallback 2
find --set-root /cmldr
chainloader /cmldr
savedefault --wait=2

title Find and load IO.SYS of Windows 9x/Me
fallback 3
find --set-root /io.sys
chainloader /io.sys
savedefault --wait=2

title Find and boot Linux with menu.lst already installed
fallback 5
find --set-root /sbin/init
savedefault --wait=2
configfile /boot/grub/menu.lst

title Break to commandline
savedefault --wait=2
commandline

title Start with a floppy (fd0)
chainloader (fd0)+1
rootnoverify (fd0)
savedefault --wait=2

title Back to DOS
savedefault --wait=2
quit

title Reboot
savedefault --wait=2
reboot

title Halt
savedefault --wait=2
halt

(За образец взят приложенный к Grub4dos одноимённый файл, несколько сокращенный согласно личным надобностям и дополненный несколькими секциями, описывающими набор ОСей, нужных лично мне и подключенных по «рецепту» Азамата. Первой секцией в нём стóит включить ту вашу ОС, которая должна стартовать дефолтно.)

Вуаля! Мы создали в 6 шагов свою собственную МУЛЬТИЗАГРУЗОЧНУЮ систему. На это ушло (не считая времени скачивания дистосов) всего 5-10 минут (а вот описывал и документировал я для вас этот процесс в десятки раз большее время).

Теперь нам осталось перезагрузиться и испытать всё!

Старт происходит в два этапа:

  1. Старт Оконного загрузчика - там вам нужно выбрать:
    Start GRUB :: Mini Linux's SET : Start Chooser for my Linux!
    (Или что вы там сами прописали.)
  2. Старт уже самого GRUB — там выбираем нужную нам в данный момент копию (версию) мини-линуха.

Итак, успехов и НАСЛАЖДЕНИЯ желаю я вам, которое ДОЛЖНО прийти от общения с чудесными созданиями человеческого гения — мини-линухами — притом, обязательно «хорошими и разными»!..

ВНИМАНИЕ! Для тех, кто впервые сталкивается с подобными ОСями либо с подобным способом их загрузки, советую прочесть: Часть III. Примечания и пояснения

Успехов!


Автор: Abnormal Terminate, написано вчерне 20-23 марта 2009 г.
Редакция для форума ПаппиРуса от 01.04.2009 г.

 
setups/mini-linux.txt · Последние изменения: 01.03.2016 в 18:18 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki