Командная строка загрузчика


Командная строка загрузчика — это ограниченная по своим возможностям вычислительная среда, которая позволяет вносить некоторые  изменения в процесс загрузки и в переменные, которые должны быть  настроены перед началом загрузки. После выхода в командную строку загрузчика (пункт 6 в меню загрузки) вы увидите такое приглашение к вводу:

OK

Это и есть командная строка загрузчика. Слово OK выглядит вполне дружественным и ободряющим, но следует заметить, что это одна из немногих дружественных вещей в среде загрузчика. Ее нельзя рассматривать как полноценную командную строку операционной  системы, она служит лишь инструментом, который дает возможность  настроить процесс загрузки системы и не предназначена для несведущих или слабонервных пользователей. Любые изменения, которые вы  вносите в командной строке загрузчика, оказывают воздействие только на текущий процесс загрузки. Чтобы отменить изменения,  необходимо выполнить перезагрузку. (Как запоминать изменения,  произведенные в командной строке загрузчика, вы узнаете в следующем разделе.)

Чтобы увидеть перечень всех доступных команд, введите знак вопроса.

OK ?

Первые три команды загрузчика, перечисленные выше, практически бесполезны и могут пригодиться разве что разработчику. Мы же сосредоточим свое внимание на командах, которые могут использоваться для администрирования системы.

Чтобы увидеть перечень дисков, доступных для загрузчика,  используйте команду lsdev.

OK lsdev

Загрузчик проверил наличие приводов компакт-дисков (1) и не нашел ни одного. (Загрузчик может обнаружить приводы компакт-дисков только при загрузке с компакт-диска, поэтому на этот счет не стоит беспокоиться.) Он обнаружил два жестких диска, которые в BIOS  известны под именами C (2) и D (4). Далее следуют описания разделов,  обнаруженных на этих жестких дисках. Как будет говориться в главе 8, имя устройства с корневым разделом обычно оканчивается символом a. Это означает, что здесь под именем disk0s1a показан корневой раздел (3). Если бы вам пришлось столкнуться с неполадками во время загрузки незнакомой системы, это знание оказалось бы весьма полезным.

Загрузчик использует в своей работе переменные, значения которых устанавливаются ядром или берутся из конфигурационных файлов. Увидеть переменные и их значения можно с помощью команды show.

OK show

Нажатие клавиши пробела приведет к появлению следующей  страницы. Эти значения включают номера IRQ и адреса памяти для старых карт ISA, низкоуровневые параметры настройки ядра и информацию, извлеченную из BIOS. Частичный список переменных загрузчика мы увидим в разделе «Настройка загрузчика»; еще ряд значений будут встречаться на протяжении всей книги в соответствующих разделах.

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

OK set console=comconsole

К тому моменту, как загрузчик предоставит в ваше распоряжение свою командную строку, ядро уже будет загружено в память. Ядро — это сердце FreeBSD и подробно будет рассматриваться в главе 5. Если ранее вам никогда не доводилось работать с ядром, просто приберегите эти лакомые кусочки до соответствующей главы. Увидеть ядро и  модули ядра, загруженные в память, можно с помощью команды lsmod.

OK lsmod

Хотя некоторые из этих сведений имеют ценность только для  разработчиков, тем не менее много интересного они могут дать и  системному администратору. Наиболее интересная информация — это путь к  загруженному ядру (1). Это всегда должен быть /boot/kernel/kernel, если загрузчик не настроен на загрузку ядра из какого-либо другого места.

Вы также получаете список модулей, подключаемых при каждой  загрузке файла ядра (2). В данном примере приводится список модулей непосредственно из самого ядра, начиная от elink (3) и заканчивая cam (4). Загрузчик также загрузил файлы snd_via8233 (5), sound (6) и atapicam (7) с соответствующими им модулями.

Чтобы полностью стереть из памяти загруженное ядро вместе со всеми модулями, используйте команду unload.

OK unload

Никакого подтверждения успешного выполнения этой операции вы не получите, но последующая команда lsmod продемонстрирует, что  загрузчик не имеет никакой информации о файлах ядра.

Для загрузки другого ядра используется команда load.

OK load boot/kernel.good/kernel

В ответ загрузчик сообщит имя файла и выведет кое-какую  дополнительную техническую информацию.

Хотя я и коснулся здесь вопроса загрузки альтернативного ядра, тем не менее, прежде чем делать это, вы должны четко понимать, зачем это необходимо и как безопаснее это сделать. Перейдите к главе 5 и прочитайте обсуждение в разделе «Загрузка альтернативного ядра».

После того как вы загрузите систему необходимым вам способом, вам может потребоваться сохранить параметры загрузки для  последующего использования. Система FreeBSD позволяет сделать это с помощью файла /boot/loader.conf. Однако прежде чем вносить какие-либо изменения, вы должны понять, какие конфигурационные файлы  используются системой по умолчанию.

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