После включения компьютера, происходит выполнение специального кода начальной загрузки. На персональных компьютерах данной код представлен в виде базовой подсистемы ввода-вывода - BIOS (Basic Input/Output System). Коду BIOS известно почти все об устройствах, расположенных на материнской плате, в частности контроллере жестких дисков, плате сетевого адаптера, контроллере клавиатуры и других устройствах. В настройках BIOS возможно выбирать с какого устройства следует начинать загрузку ОС. Когда подсистема BIOS определила, с какого устройства ей следует загружать ОС, считываются первые 512 байт данного устройства. Эта часть диска называется загрузочной записью (MBR - Master Boot Record). В данной записи храниться программа первичной загрузки (stage 1) , которая сообщает компьютеру о том, в каком разделе диска расположена программа вторичной загрузки (stage2 - непосредственный загрузчик ОС). В курсе в качестве загрузчика рассматривается GRUB. Помимо программы вторичной загрузки существует еще дополнительная программа (stage 1.5), помогающая загрузчику ОС определить некоторые параметры файловой системы, и используемая в случае, если программа вторичной загрузки не была установлена непосредственно в загрузочную запись MBR. После того, как управление передастся программе вторичной загрузки ОС (stage2), загрузчик GRUB приступит к своей основной обязанности - загрузке ОС. Если среди опций загрузки ядра отсутствует параметр quiet, то в процессе загрузки система будет отображать служебную информацию на экран. Данную служебную информацию можно просмотреть не только в процессе загрузки ОС, но и используя команду dmesg, или файл /var/log/dmesg. Вывод служебной информации существенно зависит от оборудования, на котором установлена ОС Linux, в данной информации можно выделить следующие основные показатели:
Версия ядра ОС;
Количество распознанной оперативной памяти; -
Количество процессоров (CPU0, СРU1 и т.д.);
Статус режима работы механизма SELinux;
Параметры загрузки ядра ОС;
Количество свободной памяти отданной под начальный диск памяти (initramfs);
Жесткие диски и соответствующие им разделы (например, /dev/sda);
Сетевые платы (например, ethO);
Смонтированные файловые системы (например, ext3);
Разделы подкачки и их размер.
Анализ данной информации может помочь вам в случае возникновения проблем загрузки ОС Linux.