> Лекция шестая -- Досистемная загрузка и старт Linux Описывается схема разбиения жёсткого диска на разделы и последовательность загрузки Linux или другой ОС при включении компьютера. > Доситемная загрузка >> ``Вкл.'' Что дальше? После включения имеется только программа из ПЗУ (BIOS) . Загрузчик BIOS .. Определяет список устройств .. Выбирает устройство и загружает <первичный загрузчик> . Первичный загрузчик .. Работает с текущим устройством .. Загружает <вторичный загрузчик> . Вторичный загрузчик .. Работает с файловыми системами .. Загружает ядро или другой загрузчик Досистемная загрузка <не зависит> от ОС. > Разделы диска >> Как удачно разбить жёсткий диск? . @Главная таблица разделов|run://su -;; fdisk -l@ (MBR): 01 Первичный раздел (^hda1^) -- (Linux) 01 Первичный раздел (^hda2^) -- (Linux sawp) 01 Первичный раздел (^hda3^) -- (таблица-расширение) 01 Первичный раздел (^hda4^) -- _пустой_ . Таблица-расширение (используется только 2 записи): .. Дополнительный раздел (^hda5^) -- (Linux) .. Дополнительный раздел -- (таблица-расширение) . Таблица-расширение: .. Дополнительный раздел (^hda6^) -- (Linux) .. Дополнительный раздел -- (таблица-расширение) . ... > Запуск Linux >> Он сказал: ``Поехали!'' Система загрузки, принятая в Linux: . @LiLo|run://cat /etc/lilo.conf@ (или GRUB) -- первичный и ``полуторный'' загрузчики . @Стартовый виртуальный диск|run://showmkinitrd@ -- @``малая система''|run://showmkinitrd list@ . @Запуск ^init^ и основных процессов|run://egrep '^[^#].*(/rc\|getty)' /etc/inittab@ .. Определение @устройств|run://ls /dev@ с помощью @udev|run://ls /etc/udev/rules.d;;cat /etc/udev/rules.d/80-bluetooth.rules@ .. Запуск системных служб .. Начало работы с пользователем (^getty^ -- ^login^) > Запуск системных служб в Linux >> Резать или кусочком? . Схема ".d": вместо монолитного файла -- каталог (одна служба = один файл). . Настроечные файлы ".d": @для добавления и удаления не надо изменять содержимое|run://ls /etc/udev/rules.d@. . Сценарии ".d" : каждый управляет одной службой, @унификация параметров|run:///etc/init.d/crond@. . Старт-стопные сценарии: @^/etc/init.d^|run://ls /etc/init.d;;wc /etc/rc.d/rc.sysinit@, @останов|run://ps -ef \| grep cron;;/etc/init.d/crond stop@, @запуск|run://ps -ef \| grep cron;;/etc/init.d/crond start@. . Уровни выполнения (профили): 0 (останов), 1-5 (работа), 6 (перезагрузка) . @Последовательность запуска сценариев|run://ls /etc/rc3.d;;ls -l /etc/rc3.d/*8*@ .. Kill-ссылки и Start-ссылки .. Лексикографический порядок запуска, @chkconfig|run://chkconfig --list \| head@ > Многосистемный компьютер >> В тесноте, да не в обиде . Не менее одного <раздела> на систему (два для Linux) . Настройка <загрузчика>, @вызов другого загрузчика|run://man lilo.conf \| sed -n '/hda3/,/must be C/p'@ . Трудности и неприятности .. Трансляция геометрии диска .. Загрузка нестандартных ОС только из первичных разделов .. Динамическое именование разделов в нестандартных ОС .. Автоматическая запись загрузчика .. Обратная зависимость LiLo > Главы учебника +2 Omne ignotum pro magnifico est (Все неизвестное представляется величественным) +3 Тацит, _Жизнеописание Агриколы_. @Учебник ``Введение в ОС Linux''| /usr/share/doc/alt-docs/modules/LinuxIntro.george/index.html@ глава 11.