1. Архитектура загрузки ОС и устройство файловых систем NTFS и ext4
Архитектура загрузки ОС и устройство файловых систем NTFS и ext4
Путь к профессиональному системному администрированию начинается с понимания базовых процессов. Когда вы нажимаете кнопку питания на сервере или домашнем компьютере, запускается сложная цепочка событий, превращающая набор кремния и металла в работающую систему. Чтобы уверенно управлять серверами, восстанавливать данные после сбоев и строить свой домашний стенд, необходимо досконально понимать, как операционная система загружается и как она хранит данные на физических носителях.
Анатомия загрузки операционной системы
Процесс старта компьютера можно разделить на несколько строгих этапов. Если на одном из них происходит сбой, система не загрузится, и задача системного администратора — точно определить, на каком именно шаге возникла проблема.
Аппаратная инициализация и POST
Всё начинается с подачи питания. Блок питания отправляет сигнал Power Good на материнскую плату, после чего процессор просыпается и обращается к специальной микросхеме памяти, где хранится базовая система ввода-вывода — BIOS (Basic Input/Output System) или её современный аналог UEFI (Unified Extensible Firmware Interface).
Первым делом выполняется процедура POST (Power-On Self-Test). Это быстрая проверка ключевых компонентов: оперативной памяти, процессора, видеокарты и накопителей. Если вы когда-нибудь слышали короткий писк системного динамика при включении ПК — это звуковой сигнал успешного прохождения POST.
От BIOS к загрузчику
После проверки оборудования микропрограмма должна найти операционную систему. Здесь кроется главное различие между старым BIOS и современным UEFI:
Legacy BIOS ищет загрузочный код в первом секторе жесткого диска, который называется MBR (Master Boot Record*). MBR имеет жесткие ограничения: он поддерживает диски объемом не более 2 ТБ и позволяет создать только 4 основных раздела. UEFI работает с таблицей разделов GPT (GUID Partition Table). GPT снимает ограничение в 2 ТБ и поддерживает до 128 разделов. UEFI ищет специальный скрытый раздел EFI System Partition* (ESP), отформатированный в FAT32, где лежат файлы загрузчиков.
Работа загрузчика (Bootloader)
Задача загрузчика — подготовить среду для запуска ядра операционной системы. В мире Linux стандартом де-факто является GRUB (GRand Unified Bootloader), а в Windows — Windows Boot Manager.
Загрузчик считывает конфигурационные файлы, показывает пользователю меню выбора операционной системы (если их установлено несколько) и загружает ядро ОС в оперативную память.
!Схема процесса загрузки: от кнопки питания до пользовательского интерфейса
Запуск ядра и пространства пользователя
Ядро (Kernel) — это сердце операционной системы. Получив управление, оно инициализирует драйверы устройств, настраивает управление памятью и монтирует корневую файловую систему.
Как только ядро готово к работе, оно запускает первый процесс пользовательского пространства. В современных дистрибутивах Linux этот процесс называется systemd (имеет идентификатор процесса, или PID, равный 1). Именно systemd запускает все остальные службы: сеть, графический интерфейс, веб-серверы и базы данных.
Что такое файловая система?
Когда операционная система загружена, ей нужно читать и записывать файлы. Жесткий диск на физическом уровне ничего не знает о файлах, папках или названиях. Для него существуют только магнитные дорожки или ячейки флеш-памяти, разбитые на секторы (обычно по 512 байт или 4 КБ).
Файловая система — это программный механизм, который объединяет физические секторы в логические блоки, называемые кластерами, и ведет строгий учет того, какой файл в каких кластерах находится.
> Файловая система — это картотека огромной библиотеки. Без неё жесткий диск превращается в беспорядочную гору книг, где невозможно найти нужную страницу.
Размер кластера имеет математическое значение для эффективности хранения. Если размер кластера равен 4 КБ, а вы сохраняете текстовый документ размером 1 КБ, этот файл всё равно займет весь кластер целиком. Потерянное пространство составит КБ. Если на сервере хранится 100 000 таких мелких файлов, общие потери дискового пространства составят КБ, что равно примерно 300 МБ.
!Внутреннее устройство жесткого диска: магнитные пластины и считывающая головка
Архитектура NTFS: стандарт Windows
NTFS (New Technology File System) была разработана компанией Microsoft и до сих пор является основной файловой системой для Windows. Она создавалась с прицелом на надежность и безопасность корпоративного уровня.
Главная файловая таблица (MFT)
Сердцем NTFS является MFT (Master File Table). Это реляционная база данных, в которой хранится информация о каждом файле на томе: его имя, размер, дата создания и физическое расположение кластеров на диске. Если файл очень маленький (менее 1 КБ), NTFS может сохранить его содержимое прямо внутри записи MFT, вообще не выделяя под него отдельные кластеры.
Журналирование транзакций
NTFS является журналируемой файловой системой. Это значит, что перед внесением любых изменений на диск, система сначала записывает свои намерения в специальный лог (журнал).
Пример из жизни: вы копируете большой видеофайл, и внезапно отключается электричество. В старых системах (например, FAT32) это привело бы к повреждению структуры диска. NTFS при следующей загрузке просто прочитает журнал, увидит незавершенную операцию и отменит её, сохранив целостность файловой системы.
Безопасность и скрытые потоки
NTFS поддерживает ACL (Access Control Lists) — списки контроля доступа, позволяющие гибко настраивать права на чтение и запись для разных пользователей.
Ещё одна уникальная черта — ADS (Alternate Data Streams, альтернативные потоки данных). Эта функция позволяет прикрепить к файлу скрытую информацию, которая не влияет на его видимый размер. Этим часто пользуются антивирусы для пометки проверенных файлов, но также могут пользоваться и злоумышленники для скрытия вредоносного кода.
Архитектура ext4: надежность Linux
В мире Linux правит бал семейство файловых систем Extended File System. Текущим стандартом для большинства дистрибутивов (Ubuntu, Debian, CentOS) является ext4.
Иноды (Inodes)
Вместо единой таблицы MFT, ext4 использует иноды (Index Nodes). Инод — это структура данных, которая хранит метаданные файла: права доступа, владельца, размер и указатели на блоки данных.
Интересный факт: инод не хранит имя файла. Имя файла хранится в файле каталога (папки), который просто связывает текстовое имя с номером инода. Именно поэтому в Linux можно создать жесткую ссылку (hard link) — два разных имени файла в разных папках, которые указывают на один и тот же инод и, соответственно, на одни и те же физические данные.
Количество инодов задается при форматировании диска. Если вы исчерпаете лимит инодов (создав миллионы крошечных файлов), вы не сможете создать новый файл, даже если на диске остались сотни гигабайт свободного места.
Экстенты (Extents)
В старых версиях (ext2/ext3) система хранила список каждого отдельного блока, принадлежащего файлу. Для больших файлов этот список становился огромным.
В ext4 внедрили экстенты. Экстент — это непрерывная область физических блоков. Вместо того чтобы записывать "файл занимает блоки 10, 11, 12, 13, 14", ext4 записывает "файл занимает 5 блоков, начиная с 10-го". Это кардинально снижает фрагментацию и ускоряет работу с большими файлами.
Сравнение и применение на домашнем стенде
Для наглядности сопоставим ключевые характеристики систем:
| Характеристика | NTFS | ext4 | | :--- | :--- | :--- | | Родная ОС | Windows | Linux | | Структура метаданных | MFT (Единая таблица) | Inodes (Иноды) | | Максимальный размер файла | эксабайт | терабайт | | Журналирование | Да | Да | | Чувствительность к регистру | Нет (File.txt = file.txt) | Да (File.txt file.txt) |
Старые системы, такие как FAT32, ограничивают размер файла значением байт (около 4 ГБ), что делает их непригодными для современных задач. NTFS и ext4 лишены этого недостатка.
Практика для домашней лаборатории
Если вы собираете домашний сервер из старого компьютера, начните с установки Linux (например, Ubuntu Server).
/, отформатировав его в ext4.Понимание того, как загружается система и как она управляет битами на магнитном диске, — это фундамент, на котором строится весь дальнейший траблшутинг и архитектура IT-инфраструктуры.