Как вдвое сократить время загрузки 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 и скачайте пакет, подходящий для вашей архитектуры.

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

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

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

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

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

Перезагрузите систему, но остановитесь в меню Grub — дальше мы будем редактировать параметры загрузки.
Сбор данных
Чтобы E4rat корректно собрал информацию о файлах, нужно запустить систему с параметром init=/sbin/e4rat-collect. В меню Grub выполните следующие шаги.
- На экране Grub выделите вашу обычную запись загрузки.
- Нажмите клавишу e чтобы отредактировать параметры.
- Найдите строку, начинающуюся с:
linux /boot/vmlinuz…

- В конце этой строки добавьте:
init=/sbin/e4rat-collect

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

По завершении проверьте наличие лога:
ls /var/lib/e4rat/
Вы должны увидеть файл startup.log. Если его нет — повторите процедуру, убедившись, что вы дали системе достаточно действий в первые две минуты.

Перемещение файлов при старте
Когда startup.log подтверждён, снова загрузитесь в Grub и измените параметр загрузки, чтобы попасть в однопользовательский режим.
- В Grub выделите запись и нажмите e.
- В конце той же строки добавьте:
single

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

- Войдите и выполните:
sudo e4rat-realloc /var/lib/e4rat/startup.log

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

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

После завершения перезагрузите систему:
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”

Сохраните файл и выполните:
sudo update-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: пошаговое руководство (схематично)
- Сохраните резервную копию.
- Скачайте .deb E4rat для вашей архитектуры.
- Удалите ureadahead: sudo dpkg –purge ureadahead ubuntu-minimal.
- Установите зависимости: sudo apt-get install libblkid1 e2fslibs.
- Установите пакет .deb и перезагрузитесь в Grub.
- Соберите профиль: добавьте init=/sbin/e4rat-collect и выполните обычные действия первые 2 минуты.
- Проверьте /var/lib/e4rat/startup.log.
- Загрузитесь в single, выполните sudo e4rat-realloc /var/lib/e4rat/startup.log пока перемещения не завершатся.
- Добавьте init=/sbin/e4rat-preload в GRUB_CMDLINE_LINUX_DEFAULT и выполните sudo update-grub.
- Перезагрузите и оцените результат.
Матрица рисков и меры смягчения
- Риск: потеря загрузки после изменения 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 и оптимизацию автозапуска сервисов.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента