====== загрузка linux ====== {{glossary:gnu_linux:bios-vs-uefi-600x307.png}} ===== Legacy boot ===== - BIOS (базовая система ввода/вывода) выполняет POST или самотестирование((если POST провален, загрузка прерывается)) при включении питания, обнаружить и инициализировать аппаратные компоненты системы. Она же отвечает за аппаратные прерывания. - BIOS определяет местонахождение главных загрузочных записей MBR((MBR (главная загрузочная запись) расположена в первом секторе загрузочного диска, обычно /dev/hda или /dev/sda. Его размер составляет менее 512 байт, и он состоит из трех компонентов. Информация основного загрузчика в первых 446 байтах, информация таблицы разделов в следующих 64 байтах и проверка MBR в последних 2 байтах.)) на всех подключенных загрузочных устройствах. Первый обнаруженный загрузочный сектор, содержащий действительную загрузочную запись, загружается в ОЗУ, а затем управление передается коду boot-loader'у, который был загружен из загрузочного сектора. - TPL, он же третичный загрузчик, он же boot loader (например GRUB2), начинает поиск в vmlinuz, который представляет собой сжатый образ ядра Linux, и загружает его в память, а затем извлекает содержимое образа initramfs. Обычно этот файл хранится в /boot и путь к образу можно прочитать командой: ''cat /proc/cmdline''. Там же указывается и UUID корневой файловой системы, которую надо смонтировать. Управление передается ядру. - Ядро: Так как файловые системы еще не смонтированы, ядро при запуске использует временную файловую систему из файла initrd.img, для того чтобы загрузиться полностью. Затем монтирует корневую файловую систему, как указано в параметре «root=» в grub.conf, затем выполняет программу ''/sbin/init''. ===== UEFI boot ===== - Компьютер включается, выполняется power-on self-test (POST). - После POST UEFI инициализирует аппаратуру, необходимую для загрузки (диск, контроллеры клавиатуры и т.д.). - Прошивка считывает загрузочные записи из NVRAM, чтобы определить, какое EFI-приложение необходимо запустить и откуда (т.е. с какого диска и раздела). - Загрузочной записью может быть просто диск. В этом случае прошивка ищет системный раздел EFI на этом диске и EFI-приложение на резервном пути загрузки \EFI\BOOT\BOOTx64.EFI (в системах с 32-битным UEFI — BOOTIA32.EFI). Именно так UEFI работает со съёмными загрузочными устройствами. - Прошивка запускает EFI-приложение. - Это может быть загрузчик или, при использовании EFISTUB, непосредственно ядро Arch Linux. - Это также может быть и какое-то другое приложение, например, командная оболочка UEFI или менеджер загрузки вроде systemd-boot или rEFInd. Если включён режим Secure Boot, аутентичность двоичного EFI-файла будет проверена по его подписи.