- Не загружается Ubuntu/Mint/Kali с initramfs в BusyBox
- Проблема с суперблоком
- Ошибка диска fsck
- Ошибка диска: /dev/sda1 does not exist
- Проблема с fstab
- Проблема с железом
- Восстанавливаем свалившийся в busybox из-за ошибки initramfs Linux
- 🧰 Как исправить ошибку Busybox Initramfs на Ubuntu
- Исправим ошибку Busybox Initramfs на Ubuntu
- 10 thoughts on “ 🧰 Как исправить ошибку Busybox Initramfs на Ubuntu ”
- Добавить комментарий Отменить ответ
- • Свежие записи
- • Категории
- • itsecforu.ru
- • Страны посетителей
- IT is good
- Что делать если при запуске выскакивает надпись BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (Bash) Enter ‘help’ for a list of built-in commands
- Если раньше система работала, а потом перестала
- Если система не загружается сразу после установки
- что такое busybox? и как им пользоваться.
Не загружается 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 Linux
Недавно при включении компьютера, Ubuntu меня «порадовала» тем, что решила не загружаться и «свалилась» в busybox в момент инициализации пользовательского пространства (userspace) оно же initramfs. Немного ошарашенный начал разбираться. Оказалось, что мой старенький жёсткий диск дал небольшой сбой, и подпортил суперблок файловой системы. Впрочем, оказалось что это не смертельно, и проблема эта, довольно просто и быстро решается.
Суперблок — это часть на диске, отведенная под служебную информацию файловой системы. В нем хранится информация о разделе: тип файловой системы, размер, статус и информацию о других структурах метаданных. В случае потери информации с суперблока, велик риск потерять всю информацию с раздела. Поэтому Linux хранит несколько копий этой информации — т.е. несколько суперблоков.
Перед тем, как продолжить, я должен предупредить, что не обязательна причина в суперблоке. Такая проблема может возникать и по другим причинам, установить которые можно только имея определенный опыт, либо опытным путем. В любом случае, вся суть проводимых ниже действия, лишь в проверке диска на ошибки, поэтому как минимум ничем не повредит.
Для восстановления нам понадобится загрузочный диск или флэшка с Linux. Загружаемся, и запускаем терминал. В терминале пишем:
В результате выполнения команды, будет выведен список всех разделов:
В моем случае это был один раздел. В этом списке нужно найти нужный раздел, и запомнить его. Он понадобится нам дальше. Далее посмотрим список доступных запасных суперблоков:
В команде выше, /dev/sda2 необходимо заменить на полученный ранее, нужный раздел. В результате выполнения команды, будет выведен список всех суперблоков:
Из списка запасных суперблоков, выбираем любой кроме Primary и запускаем проверку диска с указанием запасного суперблока:
Параметр -y необходим для того, чтобы fsck не спрашивал что делать с каждой найденной ошибкой, а вместо этого ее автоматически исправлял если это возможно. После того, как fsck закончит, результат выполнения будет примерно таким:
После этого перезагружаемся, отключаем флэшку/вынимаем диск из привода, и всё должно работать. 🙂
Источник
🧰 Как исправить ошибку 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
Источник
Что делать если при запуске выскакивает надпись BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (Bash) Enter ‘help’ for a list of built-in commands
Вопрос: Что делать если при запуске выскакивает надпись BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (Bash) Enter ‘help’ for a list of built-in commands
Проблема в том, что не получается смонтировать корневую файловую систему. Чтобы лучше понять причину, нужно ответить на вопрос: До этого система работала или эта ошибка сразу после установки?
Если раньше система работала, а потом перестала
Если раньше система работала, а потом перестала, значит по каким-то причинам повредилась файловая система — нужно выполнить проверку диска.
Для этого в консоли наберите
После этого будет показано что-то вроде:
The root filesystem on /dev/sda1 requires manual fsck.
После этого используйте следующую команду:
Обратите внимание, что если у вас другое имя раздела или его номер, то замените данные на свои. Например на /dev/sdb1 или /dev/sdc1.
Если система не загружается сразу после установки
Если система не загружается сразу после установки, значит в загрузчики просто неправильно указано название диска.
Установить правильный диск можно изменив параметры загрузки ядра, но для этого нужно знать, какой именно диск указывать.
Для этого наберите
и посмотрите, какой диск система пытается загрузить.
Затем измените параметры загрузки ядра. Для этого:
1. Начните перезагружать систему.
2. Чтобы прервать загрузку GRUB (первый шаг) во время запуска компьютера нажмите и удерживайте клавишу SHIFT.
3. Затем нажмите клавишу «e» и вы перейдёте к редактированию настроек загрузки.
4. Если на экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux.
5. Найдите строку, содержащую root=/dev/sdxX. В этой строке sdxX должна быть вашим /, то есть корневым разделом. Вам нужно исправить текущее значение на верное, которое мы узнали чуть ранее. Если вы совершенно не представляете, какая буква и какой номер у вашего раздела, то попробуйте варианты:
- root=/dev/sda1
- root=/dev/sdb1
- root=/dev/sdc1
- root=/dev/sdd1
- root=/dev/sda2
- root=/dev/sdb2
- root=/dev/sdc2
- root=/dev/sdd2
6. Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.
После успешной загрузки в систему поменяйте имя загружаемого диска. Например, в моём случае имя диска оказалось /dev/sdс1 (с буквой c). Тогда команда для изменения загрузочного диска будет выглядеть так:
Вместо /dev/sdc подставьте имя вашего диска или флэшки.
Источник
что такое busybox? и как им пользоваться.
здравствуйте.просветите пожалуйста,что такое BusyBox?я понял что это набор основных утилит linux вроде как,а как им пользоваться,как установить или что с ним вообще можно делать?заранее извиняюсь,если че-то не так написал.
busybox ps
busybox rm -rf /
и так далее.
Либо ln -s `which busybox` ps, те оно определит, какую утилиту запускать по cmdline.
Я так предположу, что man apt-get.
ну я вот скачал файл busybox-1.17.3.tar.bz2 с сайта busybox.net,открыл его посмотрел..и что с ним делать надо?
как-то его видимо установить надо что ли?
Это ты зря, тред теперь затянется..
Какая у вас система(дистрибутив)?
Это для очень маленьких инсталляций, где каждый килобайт на вес золота. Также часто используется в initrd. Для десктопа/полноценного сервера не нужно. Если вы не понимаете, зачем оно надо, вам оно не надо.
>ну я вот скачал файл busybox-1.17.3.tar.bz2 с сайта busybox.net,открыл его посмотрел..и что с ним делать надо?
вот смотри. распакуй его. там есть такой файлик README. в переводе на наш язык «ЧИТАЙМЕНЯ». В нем есть все инструкции. А большими буквами он написан для того, чтобы такие как ты его не пропускали, но походу там откуда вы приходите ни глаза, ни внимательность не выдают.
зы там есть еще файлик INSTALL
после выполнения команд make menuconfig (создал,настроил что надо) и команды make мне в этой же директории откуда я запускал эти команды создался файлик busybox. я понимаю что могу его использовать для выполнения разных команд в формате,например: ./busybox uname -a и напишется мне версия ядра..а как вообще его этот файлик надо в дальнейшем использовать правильно? он по сути может заменить содержимое папки bin? (ну если ссылаться на него всегда?)
Введите
busybox —help
Оно покажет, какие команды(утилиты) доступны.
>по сути может заменить содержимое папки bin?
Встроенные в busybox утилиты малофункциональны по сравнению с coreutils, так что не совсем.
не соглашусь насчет «малофункциональны», они скорее минимально-необходимо функциональны )
они предельно упрощены и не включают многие опции, в отличие от их полнофункциональных аналогов из coreutils, util-linux и других пакетов, но все же типичные ключи использования там есть , для типичного применения их вполне хватает.
>может заменить содержимое папки bin
частично, хотя в типичном дистрибутиве в /bin можно найти гораздо больше чем предоставляет busybox
cфера применения — в системах где мало памяти и дискового пространства (роутеры, embedded) , второй вариант — если вы в системе что-то поломали, то для восстановления можно использовать альтернативный вариант в виде busybox , особенно если он слинкован статически.
Интересно бывают десктопные дистры с busibox на борту? и уж тогда и uGlibc (правильно назвал?) Может для большинства пользователей уже busibox достаточно?
Даже в слаке init-скрипты написаны с использованием башизмов,
те, в busybox они не отработают.
Ну и тд.
uclibc не полностью способна заменить glibc для всех приложений,
интересно бы было узнать. а удавалось ли кому собрать полнофунциональный десктоп на uClibc, с кде, гномом и прочими делами ? в генте есть профиль для uClibc , для желающих экспериментировать.
дистры бывают, особенно минималистичные типа tinycore, «большие» дистрибутивы тоже могли бы использовать, но если дистр при установке занимает 3 Gb и около 200-300 мб в памяти после загрузке, то нет смысла экономить на мелочах типа coreutils или util-linux, там уже ставятся полные версии.
башизмы это отдельная тема вообще )
кстати slackware rescue (12-13.0) базировалась на busybox , что доставляло определенные неудобства, например с tar, который в busybox не совсем корректно сохраняет права доступа
Источник