CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
12.02.2012

Последние комментарии

Нужны ли Linux'у пользователи? (277)
24 Декабрь, 23:02
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 Декабрь, 22:53
Kubuntu Feisty (15)
24 Декабрь, 18:42
Один на один с Windows XP (3758)
24 Декабрь, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: Zenwalk

Zenbook. Загрузка и загрузчики

http://alv.me/

Страницы: предыдущая :: 1 :: 2 :: 3 :: 4 :: 5 :: следующая

Содержание

Утилита liloconfig

Первый случай, как мы помним, имел место при установке Zenwalk'а. Можно предположить, что он собственно его инсталлятором и реализуется, но это не так. За установку и конфигурирование Lilo в этом дистрибутиве отвечает специальная утилита — liloconfig, унаследованная от Slackware. Она может быть запущена и вне инсталлятора — в любой последующий момент времени. Важно только перед этим выполнить процедуру копирования существующего конфига:

# cp /etc/lilo.conf /etc/lilo.old
Почему — будет ясно ближе к концу раздела.

Программа liloconfig запускается от лица суперпользователя одноименной командой:

# /sbin/liloconfig
после чего демонстрирует свой простой псевдографический интерфейс, основанный на библиотеке ncurces, в характерном для Slackware стиле:

Как видно на рисунке, нам предлагается на выбор два варианта установки Lilo (не считая Skip — то есть отказа от оной): простой (Simple) и экспертный. Первый — тот, к которому мы прибегли при первичной инсталляции. При выбор его у нас будет спрошено только желаемое разрешение консоли; по умолчанию предлагается 1024*768*64K через фреймбуффер, но можно выбрать и иное из списка, а также стандартную текстовую консоль с плотностью символов 80*25.

Всё остальное будет проделано автоматически: утилита отыщет загрузочный раздел Linux, а также и Windows, если таковой имеется, внесёт в меню соответствующие им пункты с некоторыми умолчальными параметрами; в частности, загружаемой системой по умолчанию окажется Windows. После чего незаметно для пользователя будет запущен /sbin/lilo с записью конфигурационных параметров в MBR диска.

Напомню, что утилита liloconfig не слишком «умная», и, обнаружив первый же раздел с FAT любого рода или NTFS, сочтёт, что он несёт на себе соответствующую ОС, даже если её там и близко не лежала, и, исходя из этого предположения, допишет в меню соответствующий пункт, сделав его умолчальным. Разумеется, загрузить через него не удастся ничего, и исправление этой не вполне удобной ситуации потребует ручного вмешательства.

Кроме того, следует помнить, что «простой» способ приемлем только в том случае, если мы твёрдо решили сделать Lilo первичным мультисистемным загрузчиком, потому что его конфигурация в этом случае безальтернативно будет записана в MBR диска.

Другое дело — экспертный вариант загрузки: тут пользователю предлагается субменю с рядом пунктов:

И в каждом придётся ответить на ряд вопросов, на основе ответов на которые и будет построен новый файл /etc/lilo.config.

Начнём с первого пункта, Begin, который обеспечивает заполнение глобальной секции этого файла.

Перво-наперво будет предложено задать параметры ядра, те самые, значения которых будут фигурировать в строке append глобальной секции конфига загрузчика:

Этот шаг можно спокойно пропустить, если вы точно не знаете, что некие параметры нужны — и точно знаете, какие именно.

Следующим будет вопрос о месте размещения Lilo — в MBR диска или на корневом разделе для Linux-системы:

Второй ответ надо выбрать в том (и только в том) случае, если у вас уже имеется какой-либо мультисистемный загрузчик, например, BSD Loader или GRUB. Впрочем, при наличии последнего, как мы увидим в следующем разделе, никакой необходимости в установке Lilo просто нет.

Далее надо установить время, отводимое пользователю на выбор операционки. Варианты — none, то есть мгновенная загрузка (целесообразно, если на машине установлена единственная ОС с единственным же вариантом загрузки), 5 и 30 секунд — выбирать в зависимости от быстроты реакции, и Forever — ожидание выбора до бесконечности.

После этого происходит возврат в экспертное меню. Теперь надо выбрать параметры для субсекций, соответствующих отдельны вариантам загрузки. Начнём с загрузки Linux. И для начала выберем раздел, на котором расположена его корневая система, из списка существующих:

В нашем случае это будет /dev/sda1 — его и вписываем в соответствующее поле ввода. Это будет значением параметра root в нашей первой субсекции.

Затем следует задать уникальное имя для субсекции — оно будет значением строки label в конфигурационном файле и названием пункта в меню Lilo при загрузке. Как явствует из рисунка, имя должно быть однословным, но всякого рода цифры, дефисы и подчёркивания в нём допукаются.

После этого мы опять возвращаемся в меню эксперта и можем продолжить добавление новых вариантов загрузки. Например, можно добавить возможность вызова ещё одного дистрибутива Linux'а, лежащего на самостоятельном разделе. Однако сделать несколько вариантов загрузки одной и той же системы не получится: liloconfig автоматически придаст параметру image значение vmlinuz, и никакое другое. Так что для экспериментов, например, с разными сборками ядра или разными параметрами, конфиг Lilo придётся всё равно править вручную.

Однако это компенсируется возможностью добавить вариант загрузки какой-либо Windows. Это делается совсем просто. Сначала выбирается раздел, несущий эту ОС, из списка разделов с подходящими файловыми системами:

В приведённом примере выбирать нечего. И, к тому же, упаси Бог вас подумать, что на нём действительно стоит Windows — он существует исключительно для обмена данными, но liloconfig об этом не догадывается, и на следующем шаге предлагает задать имя для соответствующего ему пункта:

После чего опять же вернёт нас в меню эксперта.

После того, как мы расправились со всеми пригодными для загрузки наличными операционками, нужно выполнить последнее деяние: увековечить результаты наших действий через пункт меню Install: до сих пор не было выполнено ни одного необратимого действия, и если появились сомнения в правильности настроек загрузчика, можно просто через Cancel (или через комбинацию Control+C) выйти из liloconfig без всяких последствий и без малейшего вреда для существующей конфигурации.

А вот после перехода к пункту Install всё происходит быстро и молча: старый файл /etc/lilo.conf перезаписывается сгенерированным заново, и новые параметры записываются (посредством скрытого исполнения команды /sbin/lilo) туда, куда им было предписано — в MBR диска или BR раздела. После чего liloconfig завершает свою работу с возвратом в командную оболочку, из которой он был запущен:

И теперь изменить что-либо можно, только повторив процедуру конфигурирования. И вернуться к исходной конфигурации загрузчика — выполнив обратное копирование резервной копии старого конфига (мы ведь не забыли её сделать, не так ли?):

# cp /etc/lilo.old /etc/lilo.conf
Не забыв после этого перезапустить /sbin/lilo.

Я довольно подробно остановился на работе с утилитой liloconfig потому, что она, с одной стороны, снимает у начинающего пользователя страх перед ручной правкой конфига загрузчика, с другой же — способствует понимаю того, что скрывается за строками файла /etc/lilo.conf. Но на практике к ней прибегают достаточно редко (лично я — так ни разу в жизни, за исключением тех случаев, когда она автоматом вызывается установщиком дистрибутива). Гораздо проще править конфиг Lilo вручную в любом текстовом редакторе — надеюсь, что приведённых в настоящем разделе сведений достаточно для осмысленного выполнения этой процедуры. Самое главное — не забывать после неё про необходимость перезапуска /sbin/lilo.

Можно видеть, что конфигурационный файл Lilo устроен очень просто, а сама загрузочная программа — проста в настройке и использовании (если не забывать про перезапуск /sbin/lilo). Однако у неё есть несколько... ну не столько недостатков, сколько ограничений.

Первое вытекает из положения конфига этого загрузчика внутри какой-либо из нативных файловых систем Linux. Так что для изменения его конфигурации из другой ОС необходимо иметь доступ к той файловой системе, на которой лежит корень инсталлированного Linux'а, причем в режиме записи. И если примонтировать Ext2fs/Ext3fs к файловой системе, например, FreeBSD в режиме read/write можно без проблем, то доступ из любой ОС BSD-семейства к разделам с ReiserFS или XFS в настоящее время возможен только для чтения (и неизвестно, будет ли возможен в обозримом будущем).

Конечно, можно взять за правило размещать корневую систему Linux только на разделе с Ext2fs/Ext3fs. Однако второе ограничение — необходимость перезапуска /sbin/lilo — этим не обходится, ведь эта программа предназначена для работы в родной ОС, сиречь Linux (интересно, а пробовал ли кто-нибудь запустить /sbin/lilo под FreeBSD в режиме Linux Compability?). И, соответственно, непременное условие для переконфигурирования Lilo — возможность запуска Linux в каком-никаком виде, хотя бы — с rescue-дискеты или LiveCD.

Есть и третье ограничение, не столь важное: относительно слабые интерактивные возможности. Конечно, Lilo позволяет в режиме командной строки вмешиваться руками в ход загрузки — но только загрузки Linux же (например, передавать параметры ядру). Да и то — в ограниченном объеме. Возможности же вмешательства в ход загрузки чужой ОС вообще заканчиваются в момент выбора соответствующего ей варианта.

И ещё: вся информация о конфигурации загрузчика записывается в MBR, объем которого, как мы помним, далеко не безграничен. И потому втиснуть в меню Lilo можно только конечное число вариантов загрузки, а именно — 16. Впрочем, практическое значение этот лимит имеет только для коллекционеров операционных систем (есть и такое хобби), а для их целей более пригоден будет GRUB.

Раз уж речь зашла об ограничениях Lilo, то, пользуясь случаем, подчеркну: прочие ограничения, на которые можно натолкнуться в литературе, как то: невозможность загрузить ядро Linux с области диска, лежащей за пределами первых 1024 его цилиндров, или с логического раздела в разделе Extended DOS, или с раздела с файловой системой ReiserFS, смонтированной в режиме тайлинга, — давно потеряли силу. И пользователь любого современного дистрибутива о них может смело забыть.

Тем не менее, основная сфера применения Lilo — это работа преимущественно (или исключительно) в Linux, при эпизодическом использовании какой-либо другой ОС. Причем рискну предположить, что под другой ОС будет выступать, скорее всего, какая-либо из версий Windows. Экспериментирование же с многочисленными операционками разных семейств — это, по моему мнению, прерогатива GRUB.




Страницы: предыдущая :: 1 :: 2 :: 3 :: 4 :: 5 :: следующая

Комментарии

Алексей Федорчук, Пнд 06 Апр 2009 09:57:22:
2 Дмитрий
Да, Вы правы. Я тут вычитал, что 2-й GRUB вообще не следует настраивать руками, а только каким-то своим конфигуратором.
Грустно...
Дмитрий, Пнд 06 Апр 2009 08:39:39:
В grub время ожидания задается в секундах.
Кстати, насчет отсутствия принципиальных изменений в настройке 1-й и 2-й версий. По-моему они таки есть. Я второй груб видел один раз в жизни и по старинке настроить его и поставить не получилось.
Юрий, Срд 18 Фев 2009 21:24:27:
Это было про страницу http://citkit.ru/articles/1239/2.html
Юрий, Срд 18 Фев 2009 21:23:23:
Не стыковочка.
В тексте "время ожидания выбора вариантов загрузки — timeout=##, где ## — время в миллисекундах;"

А в фрагменте файла "# Время ожидания выбора (в секундах)
timeout = 50"

Так в секундах или в миллисекундах всё таки? :)

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds