- Ubuntu/Mint/Kali загружается в initramfs BusyBox (РЕШЕНО)
- Восстановление неработающего суперблока Ext4 в Linux
- Fsck Boot Error: Unexpected Inconsistency
- Alert! /dev/ТОМ Does Not Exist
- Проблема с Fstab
- Аппаратная проблема
- Не загружается Ubuntu/Mint/Kali с initramfs в BusyBox
- Проблема с суперблоком
- Ошибка диска fsck
- Ошибка диска: /dev/sda1 does not exist
- Проблема с fstab
- Проблема с железом
- 🧰 Как исправить ошибку Busybox Initramfs на Ubuntu
- Исправим ошибку Busybox Initramfs на Ubuntu
- 10 thoughts on “ 🧰 Как исправить ошибку Busybox Initramfs на Ubuntu ”
- Добавить комментарий Отменить ответ
- • Свежие записи
- • Категории
- • itsecforu.ru
- • Страны посетителей
- IT is good
- Оптимизация initramfs в Debian
Ubuntu/Mint/Kali загружается в initramfs BusyBox (РЕШЕНО)
В этой статье мы покажем, как решить проблемы, которые возникают, когда компьютер под управлением Ubuntu, Mint Linux или Kali Linux не загружается и во время инициализации initramfs появляется только приглашение busybox. В этой ситуации возможно получить доступ и использовать только командную строку initramfs.
initramfs — это исходная файловая система на основе tmpfs в ОЗУ, которая не использует отдельное блочное устройство. Как и initrd, она содержит инструменты и сценарии для монтирования файловых систем до вызова init, расположенного в корневой файловой системе.
Восстановление неработающего суперблока Ext4 в Linux
Если Ubuntu вылетает в busybox во время инициализации initramfs, возможно, на диске повреждён суперблок.
Несколько копий суперблока хранятся в Linux. Чтобы восстановить систему в случае возникновения этой проблемы, вам необходимо загрузиться с аварийного образа/диска Live CD и запустить терминал. После загрузки введите в терминал следующую команду:
Команда возвращает информацию о вашем томе:
Запомните имя тома и укажите его в следующей команде:
Команда покажет список резервных суперблоков:
Мы воспользуемся вторым резервным суперблоком для замены повреждённого (можно использовать любой суперблок, кроме первичного). Проверьте диск с помощью резервного суперблока:
Если вы получите такой результат:
После успешной замены суперблока вы получите такое сообщение:
Затем отключите загрузочный носитель и перезагрузите компьютер. Все должно работать исправно.
Fsck Boot Error: Unexpected Inconsistency
Второй вариант проблемы initramfs (BusyBox) включает следующее сообщение в окне терминала:
Если вы его не видите, попробуйте ввести в (initramfs)
в окне терминала. Ошибка может появиться после того, как вы это сделаете.
В сообщении будет показан том, на котором требуется выполнить ручную проверку диска. Выполните следующую команду в приглашении initramfs:
После завершения проверки диска перезагрузите компьютер и убедитесь, что Linux загружается правильно.
Alert! /dev/ТОМ Does Not Exist
Проблема с Fstab
При загрузке хоста Linux вы можете увидеть следующую ошибку:
Возможно, вы только что установили Linux или у вашего хоста возникли проблемы с fstab. Чаще всего проблема возникает при установке системы с USB-накопителя. Система может показывать ошибку любого тома. Как и в первом случае, мы должны загрузиться с загрузочного / аварийного носителя Linux и выполнить некоторые действия. Проверьте UUID диска с помощью этой команды:
Система вернёт примерно следующее:
Здесь мы видим, что система должна загружаться с sda2, но на самом деле она пытается загрузиться с sda1.
Смонтируйте том в любой каталог, например:
Когда вы увидите /dev/sda2 в каталоге /mnt, найдите там файл /etc/fstab и измените строку, содержащую /dev/sda1, следующим образом:
Сохраните файл. Отмонтируйте том от /mnt и перезагрузитесь. Если проблема связана с неправильным именем тома, сервер загрузится.
Также вы можете решить эту проблему, загрузившись в аварийном режиме. Перемонтируйте корневой каталог как чтение / запись:
Затем измените fstab и перезапустите сервер.
Аппаратная проблема
На некоторых материнских платах порты SATA могут иметь случайные числа. Это также может вызвать ошибку, описанную в предыдущем разделе. Чтобы исправить это, вы должны отредактировать загрузчик grub.
Загрузитесь в аварийном режиме или с Live CD и отредактируйте файл /boot/grub/grub.cfg.
В строке, определяющей загрузочный раздел, например:
Источник
Не загружается Ubuntu/Mint/Kali с initramfs в BusyBox
В данной статье мы рассмотрим варианты решения проблем, когда виртуальный или физический серверы на базе Ubuntu/Mint/Kali не загружаются и отваливается в busybox в момент инициализации initramfs. При этом Linux не загружается, и пользователю доступна только командная строка initramfs.
Проблема с суперблоком
Если Ubuntu свалилась в busybox при инициализации initramfs, возможно на диске оказался испорченный суперблок. Linux хранит несколько копий суперблоков.
Для восстановления в случае такой проблемы, нам нужно загрузиться с образа/диска и запустить Terminal. После загрузки, в терминале вводим команду:
# sudo fdisk -l|grep Linux|grep -Ev ‘swap’
Команда вернет информацию о нашем разделе:
Запомните имя раздела и укажите его в следующей команде:
# sudo dumpe2fs /dev/vda2 | grep superblock
Команда вернет список запасных суперблоков:
Мы будем использовать второй резервный суперблок для замены поврежденного (можно выбрать любой, кроме Primary). Выполним проверку диска с использованием резевного суберблока для восстановления:
# sudo fsck -b 98304 /dev/vda2 -y
Нужно отмонтировать раздел:
# umount /dev/vda2
После успешного выполнения замены суперблока, вы должны получить такое сообщение:
Теперь перезагрузите компьютеры, отключив диск с дистрибутивом и все должно быть в порядке.
Ошибка диска fsck
Второй вариант ошибки, наличие следующей строки в окне терминала:
В ошибке будет указан том, который требует запуска ручной проверки диска. В командной строке initramfs выполните:
После полной проверки, нужно перезапустить сервер и проверить все ли в порядке.
Ошибка диска: /dev/sda1 does not exist
Проблема с fstab
Если при загрузке сервера вы видите ошибку:
Скорее всего вы только что установили Linux или то на вашем сервере есть проблемы в fstab. Чаще всего проблема возникает при установке системы с usb-накопителя. Раздел на который ругается система, может быть какой угодно. Как и в первом случае, нам нужно загрузиться с образа системы и выполнить некоторые действия. Проверьте UUID диска командой:
Система выдаст что-то подобное:
Отсюда уже видно, что система должна загружаться с sda2, а по факту загружается с sda1.
Монтируем наш раздел в любую директорию, например:
# sudo mount /dev/sda2 /mnt
Получаем в директории /mnt весь наш раздел /dev/sda2, находим там файл /etc/fstab и изменяем строку, содержащую /dev/sda1 на:
Сохраняем файл. Отмонтируем раздел от /mnt и перезагрузимся, если проблема была связана с не неправильным адресом разделе, сервер загрузится.
Так же данный вариант можно решить, загрузившись в emergency. Перемонтируйте корень для записи:
# sudo mount -o remount,rw /
После чего измените fstab и перезапустите сервер.
Проблема с железом
На некоторых материнских платах порты SATA могут получать произвольные номера. Это также может вызвать описанную в предыдущем пункте ошибку. Для исправления ошибки нужно изменить загрузчик grub.
Загрузитесь в режиме emergency или с live-cd и измените файл /boot/grub/grub.cfg
В строке где происходит загрузка раздела, например:
Измените путь до диска на UUID:
Источник
🧰 Как исправить ошибку Busybox Initramfs на Ubuntu
П оэтому я просто передал команду «exit», чтобы посмотреть, что произойдет.
А потом я увидел настоящую ошибку:
Он обеспечивает замену большинства утилит, которые вы обычно найдете в GNU fileutils, shellutils и т. д.
Initramfs – это начальная файловая система RAM, основанная на tmpfs.
Исправим ошибку Busybox Initramfs на Ubuntu
Чтобы устранить ошибку initramfs в Ubuntu, вам необходимо восстановить файловую систему в поврежденном разделе с помощью команды «fsck»:
Теперь она начнет автоматически исправлять все ломаные блоки в файловой системе.
Через пару минут вы увидите следующий результат:
Теперь введите «reboot» и нажмите ENTER, чтобы перезагрузить систему!
Скрестите пальцы и дождитесь перезагрузки системы!
Если все прошло хорошо, ваша система загрузится без проблем.
10 thoughts on “ 🧰 Как исправить ошибку Busybox Initramfs на Ubuntu ”
Всегда рады помочь!
Помогло на Debian, но в консоле Debian не работала команда reboot.
Сегодня я включила ноутбук, и процесс загрузки начался с ubuntu, и в итоге я получила сообщение initramfs.
Насколько я помню, я не сделала ничего плохого.
Вчера все работало отлично!
после сообщения initramfs я не могу перейти на английский, что бы f не делала?
Всем привет. У меня почти тоже самое. Но после после exit выходит ошибка Warning : failed to connect to lvmetad . Falling back to internal scanning.Check cryptopts =source=bootarg:cat /proc/cmdline or missing modules ,devices :cat /proc/modules; Is /dev
Добавить комментарий Отменить ответ
• Свежие записи
• Категории
• itsecforu.ru
• Страны посетителей
IT is good
Источник
Оптимизация initramfs в Debian
Debian Linux это один из самых популярных современных дистрибутивов, являющийся кроме того «родителем» целого ряда других дистрибутивов, в частности Ubuntu, Linux Mint и проч. Популярность Debian завоевал благодаря своей дружественности к пользователю.
Однако у этой дружественности есть и ряд минусов: попытка «угодить всем» привела к тому, что далеко не все элементы системы с конфигурацией по умолчанию работают оптимально. Например образ initramfs занимает на диске почти десять мегабайт и содержит в себе практически все доступные модули, что конечно же в условиях конкретной задачи является излишним.
Далее будет предпринята попытка максимально подробно разобрать способ генерации initramfs в Debian и показать как можно его оптимизировать.
Итак, что же такое initramfs? Согласно википедии это «временная файловая система, использующаяся ядром при начальной загрузке». Проще говоря загрузчик загружает в память ядро и образ initramfs, и начальная загрузка системы происходит из этого образа. Соответственно чем меньше лишнего в этом образе — тем быстрее будет загружаться система и тем меньше она будет требовать памяти на начальном этапе.
Прежде чем продолжить нужно сделать два уточнения. Первое: все описанные здесь инструкции справедливы не только для Debian, но и для большинства его «потомков». Второе: да, конечно, если пересобрать ядро руками то можно вообще отказаться от initramfs, но не все и не всегда хотят при каждом обновлении заново пересобирать ядро. Поэтому лучше просто оптимизировать initramfs штатными средствами дистрибутива.
Образ initramfs создаётся утилитой update-initramfs. Пронаблюдать как создаётся образ для текущего ядра с настройками по умолчанию можно запустив создание этого образа командой:
Можно заметить что сначала добавляются модули, потом минимально-необходимые базовые утилиты и потом выполняются «хуки» (hooks) — модули для update-initramfs, которые добавляют в образ различные дополнительные функции. Например хук dmsetup добавляют поддержку функционала Device Mapper, а хук fuse_utils — поддержку файловых систем, доступных через fuse.
Следует отметить что если в образе initramfs отсутствует какой-то модуль то он будет загружен позже, уже с жёсткого диска (главное чтобы набор модулей в образе позволял ядру добраться до этого жёсткого диска).
Основные настройки update-initramfs расположены в директории /etc/initramfs-tools. Начнём со списка загружаемых модулей. Чтобы загружать только нужные изменим значение параметра MODULES в файле initramfs.conf:
Дальше нам нужно создать список необходимых модулей. Самое просто решение тут — просто взять список уже загруженых модулей и использовать его. Список модулей хранится в файле modules. Создадим его, получив список загруженных модулей через lsmod:
Затем пересоздадим образ initramfs, предварительно удалив старый:
Желающие могут сравнить размеры файлов /boot/initrd.img-* до и после этой команды и, так сказать, «почувствовать разницу».
С модулями вобщем-то разобрались. Переходим к хукам. Системные хуки хранятся в директории /usr/share/initramfs-tools/hooks, пользователь (вернее администратор системы) может определять свои хуки в директории /etc/initramfs-tools/hooks (по умолчанию в ней пусто).
Чтобы понять какой хук за что отвечает проще всего выяснить какому пакету он принадлежит и читать документацию на этот пакет. Получить список пакетов-владельцев хуков можно командой:
К сожалению при генерации образа initramfs нельзя указать список хуков, которые надо пропустить. Поэтому единственным способом убрать лишнее из initramfs является удаление пакета, содержащего не нужный хук. Ну или удаление файла хука (однако следует помнить что в этом случае при обновлении системы он будет создан заново).
Хуки принадлежащие initramfs-tools и udev лучше не трогать. С остальными нужно разбираться по ситуации. Например если речь о сервере то вряд ли там используются какие либо файловые системы, монтируемые через fuse, а значит хуки fuse_utils И ntfs_3g явно лишние. Освободить initramfs от них можно следующим образом:
Если речь идёт о рабочей станции то чаще всего поддержка Drive Mapper бывает ненужна. Как уже говорилось выше — за неё отвечает хук dmsetup, являющийся частью одноимённого пакета. В этом случае убрать его можно командой:
Отдельного внимания заслуживает вопрос явной пересборки образа после внесения каких либо изменений в его конфигурацию, ведь после установки/удаления пакетов, меняющих эту конфигурацию dpkg сам вызывает update-initramfs для обновления образа. Дело в том, что dpkg запускает update-initramfs командой:
Здесь опция «-k» указывает на ядро («all» — означает все ядра, имеющиеся в системе), а «-u» — указывает а необходимость обновить (но не пересоздать с нуля!) образ initramfs.
При обновлении образа может остаться какой-то не нужный мусор, поэтому лучше всё-таки собирать образ с нуля, что и делается командой:
То есть вместо «-u» указывается ключ «-c», указывающий на необходимость пересоздания образа с нуля. Для наглядности так же можно указывать ключ «-v» — в этом случае по ходу создания образа будет показана информация обо всех предпринимаемых действиях.
В конечном итоге если вдумчиво подойти к описанному выше — можно уменьшить размер сжатого образа в два-четыре раза, что позволит ускорить загрузку на несколько десятков секунд.
Источник