Гид по технологиям

Как вдвое сократить время загрузки Linux с помощью E4rat

• 8 min read • Linux • Обновлено 03 Dec 2025
Сократите время загрузки Linux с E4rat
Сократите время загрузки Linux с E4rat

Как вдвое сократить время загрузки Linux с помощью E4rat

Быстрые ссылки

  • E4rat и ваш Linux

  • Установка E4rat на Ubuntu

  • Сбор данных

  • Перемещение файлов при старте

  • Настройка Grub для запуска E4rat при каждой загрузке

Важно: статья была написана для Ubuntu 11.04 (Natty). Многие детали могли измениться в новых версиях. Прежде чем менять загрузку на рабочей машине, сделайте резервную копию и проверьте совместимость с вашей системой.

E4rat и ваш Linux

E4rat — утилита для радикального сокращения времени загрузки на системах с файловой системой ext4. Коротко: E4rat отслеживает, какие файлы читаются в процессе загрузки и первых действий пользователя, а затем перемещает эти файлы ближе к началу диска, уменьшая среднее время поиска головки на магнитном диске.

Ключевые ограничения:

  • Работает только с разделами ext4. На других ФС результат не гарантирован.
  • Для LVM встречаются частные случаи; возможны проблемы с конфигурацией — делайте бэкап.
  • Не используйте на SSD. SSD не выигрывают от уменьшения seek time; активные перемещения больших объёмов данных дополнительно изнашивают накопитель.

Определение в одну строку: seek time — задержка при позиционировании магнитной головки диска; E4rat уменьшает её влияние, упорядочивая часто используемые файлы.

Установка E4rat на Ubuntu

E4rat доступен в виде .deb-пакета для Ubuntu. Для других дистрибутивов придётся собирать из исходников, но общий процесс схож. Для Debian и производных проверьте совместимость перед началом.

Перейдите на страницу проекта на SourceForge и скачайте пакет, подходящий для вашей архитектуры.

Страница загрузки E4rat на SourceForge

Выберите версию (i386/amd64). На моей системе была 64-битная версия (amd64).

Выбор архитектуры для E4rat

Перед установкой вы можете столкнуться с конфликтом пакета ureadahead, который установлен в Ubuntu по умолчанию и мешает E4rat.

Конфликт с ureadahead

Удалите ureadahead и связанные минимальные метапакеты, если вы готовы обойтись без них (проверьте, что это не нарушит зависимости в вашей системе):

sudo dpkg –purge ureadahead ubuntu-minimal

Терминал — удаление ureadahead

Установите зависимости E4rat (libblkid1 и e2fslibs обычно уже установлены, но команда обновит при необходимости):

sudo apt-get install libblkid1 e2fslibs

Терминал — установка зависимостей

После этого двойной клик по .deb должен запустить установку. Иногда центр приложений показывает предупреждение — можно проигнорировать, если вы понимаете риски.

Установка .deb в Ubuntu Software Center

Перезагрузите систему, но остановитесь в меню Grub — дальше мы будем редактировать параметры загрузки.

Сбор данных

Чтобы E4rat корректно собрал информацию о файлах, нужно запустить систему с параметром init=/sbin/e4rat-collect. В меню Grub выполните следующие шаги.

  1. На экране Grub выделите вашу обычную запись загрузки.
  2. Нажмите клавишу e чтобы отредактировать параметры.
  3. Найдите строку, начинающуюся с:

linux /boot/vmlinuz…

Редактирование записи Grub — строка kernel

  1. В конце этой строки добавьте:

init=/sbin/e4rat-collect

Добавление init=/sbin/e4rat-collect в Grub

  1. Нажмите Ctrl+X (или F10) для продолжения загрузки.

После загрузки войдите в систему и в течение первых двух минут выполняйте обычные действия: открывайте браузер(ы), файловый менеджер, терминал, необходимые приложения. E4rat фиксирует доступы к файлам именно в начальном окне использования системы.

Рабочий стол — действия для записи E4rat

По завершении проверьте наличие лога:

ls /var/lib/e4rat/

Вы должны увидеть файл startup.log. Если его нет — повторите процедуру, убедившись, что вы дали системе достаточно действий в первые две минуты.

Проверка наличия startup.log

Перемещение файлов при старте

Когда startup.log подтверждён, снова загрузитесь в Grub и измените параметр загрузки, чтобы попасть в однопользовательский режим.

  1. В Grub выделите запись и нажмите e.
  2. В конце той же строки добавьте:

single

Добавление single для однопользовательского режима

  1. Нажмите Ctrl+X для загрузки в однопользовательский режим. Если появится меню с доп. опциями — выберите “Resume normal boot” и затем переключитесь на текстовый терминал Ctrl+Alt+F1.

Выбор опций при загрузке

  1. Войдите и выполните:

sudo e4rat-realloc /var/lib/e4rat/startup.log

Запуск e4rat-realloc для перемещения файлов

Утилита начнёт перемещать файлы на диск. Процесс может быть длительным — зависит от количества файлов и фрагментации.

Процесс перемещения файлов e4rat

Рекомендуется запустить e4rat-realloc несколько раз, пока утилита не сообщит, что больше нечего перемещать.

Результат работы e4rat — сообщения

После завершения перезагрузите систему:

sudo shutdown -r now

и войдите в графический режим для финального теста.

Настройка Grub для автоматического запуска E4rat при каждой загрузке

Чтобы E4rat автоматически предварительно загружал отмеченные файлы при каждой старте, добавьте init=/sbin/e4rat-preload в параметры GRUB.

Откройте конфигурацию:

gksu gedit /etc/default/grub

Найдите строку, начинающуюся с GRUB_CMDLINE_LINUX_DEFAULT= и внутри кавычек добавьте init=/sbin/e4rat-preload перед существующими опциями. Пример:

GRUB_CMDLINE_LINUX_DEFAULT=”init=/sbin/e4rat-preload quiet splash”

Редактирование /etc/default/grub для добавления e4rat-preload

Сохраните файл и выполните:

sudo update-grub

Обновление конфигурации Grub

Важно: не редактируйте напрямую /boot/grub/grub.cfg, иначе изменения могут потеряться при обновлении. Правильный способ — редактировать /etc/default/grub и использовать update-grub.

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

Примерный результат: у автора после процедуры netbook стал загружаться заметно быстрее — субъективно около 10 секунд. Реальные показатели будут зависеть от оборудования и конфигурации.


Когда E4rat не даёт эффекта или вызывает проблемы

  • Система на SSD: нет выигрыша, а лишние перемещения данных сокращают ресурс SSD.
  • Файловая система не ext4: E4rat непригоден.
  • Сильно фрагментированная или почти полная файловая система: перемещения займут много времени и могут не дать заметного выигрыша.
  • Динамически меняемые профили приложений (часто меняете набор программ при старте): профиль устаревает — придётся повторять процесс сбора данных.
  • Конфликты с системами инициализации: современные дистрибутивы (systemd) могут иметь другие механизмы предзагрузки; тестируйте.

Если после установки вы не можете загрузиться — удалите параметр init= в Grub вручную или загрузитесь с live-USB и восстановите /etc/default/grub.

Альтернативные подходы и инструменты

  • systemd-bootchart / systemd-analyze: анализ времён загрузки без перемещения файлов; полезно для диагностики.
  • ureadahead: аналогичная концепция, использовалась в Ubuntu, но уступала E4rat в ряде сценариев (и конфликтует с ним).
  • SSD + fstrim и оптимизации: на SSD лучше оптимизировать I/O, отключать ненужные сервисы и использовать TRIM, чем перемещать файлы.
  • Оптимизация запуска сервисов: systemctl disable/ mask для ненужных юнитов, уменьшение числа автозапускаемых приложений.

Чеклист перед началом (что проверить)

  • Сделана актуальная резервная копия системы.
  • Раздел с системой использует ext4.
  • На диске достаточно свободного места (чтобы перемещения прошли безопасно).
  • Установлены libblkid1 и e2fslibs.
  • Понимаете риски удаления ureadahead в вашей конфигурации.
  • Есть live-USB или другой способ восстановить систему в случае проблем.

Мини‑SOP: пошаговое руководство (схематично)

  1. Сохраните резервную копию.
  2. Скачайте .deb E4rat для вашей архитектуры.
  3. Удалите ureadahead: sudo dpkg –purge ureadahead ubuntu-minimal.
  4. Установите зависимости: sudo apt-get install libblkid1 e2fslibs.
  5. Установите пакет .deb и перезагрузитесь в Grub.
  6. Соберите профиль: добавьте init=/sbin/e4rat-collect и выполните обычные действия первые 2 минуты.
  7. Проверьте /var/lib/e4rat/startup.log.
  8. Загрузитесь в single, выполните sudo e4rat-realloc /var/lib/e4rat/startup.log пока перемещения не завершатся.
  9. Добавьте init=/sbin/e4rat-preload в GRUB_CMDLINE_LINUX_DEFAULT и выполните sudo update-grub.
  10. Перезагрузите и оцените результат.

Матрица рисков и меры смягчения

  • Риск: потеря загрузки после изменения GRUB. Митигирование: тестовое изменение, резервный live-USB.
  • Риск: повреждение данных при ошибках в перемещении. Митигирование: резервная копия перед e4rat-realloc.
  • Риск: снижение срока службы SSD. Митигирование: не использовать E4rat на SSD.
  • Риск: несовместимость с новыми релизами Ubuntu/Systemd. Митигирование: тестирование в виртуальной машине или на отдельном разделе.

Короткая галерея краевых случаев

  • Сценарий: ноутбук с гибридным разделением (LVM + ext4) — возможна работа, но требуется внимательная проверка и тест в безопасной среде.
  • Сценарий: система с шифрованным root — e4rat может не иметь доступа для прямого перемещения; требуется дополнительная настройка.
  • Сценарий: часто обновляемые приложения — профиль устаревает, повторяйте сбор данных раз в несколько месяцев.

Краткий глоссарий (1 строка)

  • E4rat — утилита для переупорядочивания часто используемых файлов на ext4 чтобы уменьшить seek time.
  • seek time — время позиционирования головки магнитного диска.
  • init= — параметр ядра, указывающий, какая программа запускается первой.

Советы по совместимости и миграции

  • Перед обновлением дистрибутива пересоздайте профиль E4rat: выполняйте сбор данных и e4rat-realloc заново после крупного обновления.
  • При переходе на SSD — отключите E4rat и верните стандартный загрузчик: удалите init=/sbin/e4rat-preload из /etc/default/grub и выполните update-grub.

Критерии приёмки

  • Система успешно загружается без ручного вмешательства.
  • В каталоге /var/lib/e4rat/ присутствует актуальный startup.log.
  • После перезагрузки приложения, включённые в профиль, запускаются быстрее по субъективной оценке.
  • Отсутствие ошибок в логах файловой системы после операции realloc.

Резюме

E4rat — полезный инструмент для старых машин с механическими дисками и ext4, когда требуется реальное сокращение времени загрузки. Для SSD и современных систем с systemd чаще стоит использовать диагностику (systemd-analyze) и оптимизацию сервисов. Всегда делайте резервную копию и тестируйте изменения в безопасной среде.


Если у вас есть дополнительные приёмы ускорения загрузки — поделитесь в комментариях.

Короткое объявление (100–200 слов)

E4rat помогает существенно снизить время загрузки Linux на системах с файловой системой ext4. Инструмент работает по простому принципу: сначала фиксирует, какие файлы читает система при старте и первых действиях пользователя, а затем перемещает эти файлы ближе к началу диска для более быстрого доступа. В руководстве описан пошаговый процесс: установка пакета, сбор профиля с параметром init=/sbin/e4rat-collect, перемещение файлов командой e4rat-realloc и автоматическая предварительная загрузка через init=/sbin/e4rat-preload в GRUB. Главное ограничение — E4rat не подходит для SSD и других ФС, только для ext4. Перед началом обязательно сделайте резервную копию и проверьте совместимость вашей конфигурации. Альтернативы включают анализ загрузки с помощью systemd-analyze и оптимизацию автозапуска сервисов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро