Это гарантированно работает под Win2k..XP — проверено; под «младшими» Окнами — тоже должно (см. скажем здесь), а вот под Windows 7/Vista — сомнительно без существенной переработки стадии подключения загрузчика Grub4dos (говорят, пригоден иной путь: используется софтина EasyBCD — см.: форум), но последнее мной пока не проверено [добавление #1 к тексту статьи].
Настоящий Профессионал, Мастер, обустройство своего места работы, пусть — «виртуального», начинает с удобной инструментальной среды. Программист, разработчик, бета-тестер (включая и майнтайнеров) — не исключение. Поэтому данная статья-рекомендация и, своего рода, обмен опытом подпадает под вышеуказанное определение. Она наиболее полезна не только и не столько «простым пользователям», но скорее именно профи. Исходя из этого она писалась, это же следует иметь в виду и читателю…
Второе: огромное «сенькс» автору статьи "Как установить PuppyRus под Windows XP?" г-ну Азамату — спасибо как за «наводку», так и за сугубо специальную и неочевидную информацию, пригодившуюся мне как крепкая основа по основной теме данной статьи, но одновременно и за открытие для меня лично прекрасного мира мини-линухов!
Третье: в данной статье рассматривается некое универсальное «расширение» уже описанного им ранее способа. Это приёмы, позволяющие таким вот «хитрым», но в сущности простым способом установить и попеременно «юзать» линух, и не одну «копию» (версию) мини-линуха (скажем, PuppyRus), но даже несколько его версий или «клонов» сразу. При том, загружаясь не с LiveCD, без заморочек с жестким диском и конечно без переустановок ОСей.
Набор этих ОСей довольно основателен, включая оригинальные дистросы Puppy Linux 3.хх и 4.хх версий, его русские клоны - см. на сайте puppylinux.org либо «экзотические» варианты навроде Аскетика (имеется там же) или скажем можно попробовать на каком-то компьютере старенький дистрос Breeezy LINUX (но последний пока мною не отлажен для запуска в этих условиях).
Зачем это нужно? Для указанных профи иногда важно и подобное «изобилие» вариантов загрузки, версий и клонов линухов. Это бывает крайне удобно вообще, подчас — необходимо для удобства тестирования, сравнения, проверок совместимости пакетов и т.п. проф-деятельности, притом — работая с ними и не отвлекаясь на переустановки ОСей либо «прожиг» LiveCD (и не нуждаясь в двух и более компьютерах, установленных рядышком).
Перезагрузка этих ОСей здесь — в пределах одной минуты!..
В иных случаях это же может быть для кого-то просто полезно либо познавательно. Решение же подобной задачи так сказать «малой кровью» — это и есть сугубо профессиональное и потому изящное решение.
Шаг 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 минут (а вот описывал и документировал я для вас этот процесс в десятки раз большее время).
Теперь нам осталось перезагрузиться и испытать всё!
Старт происходит в два этапа:
Итак, успехов и НАСЛАЖДЕНИЯ желаю я вам, которое ДОЛЖНО прийти от общения с чудесными созданиями человеческого гения — мини-линухами — притом, обязательно «хорошими и разными»!..
ВНИМАНИЕ! Для тех, кто впервые сталкивается с подобными ОСями либо с подобным способом их загрузки, советую прочесть: Часть III. Примечания и пояснения
Успехов!
Автор: Abnormal Terminate, написано вчерне 20-23 марта 2009 г.
Редакция для форума ПаппиРуса от 01.04.2009 г.