Initramfs ошибка при загрузке исправление загрузчика ubuntu

Пользователи, которые любят экспериментировать со своей операционной системой время от времени сталкиваются с ошибкой загрузки, когда система выводит приглашение ввода BusyBox с initramfs. Эта ошибка означает, что ядро не может загрузить корневой раздел, та файловая система, к которой у вас есть доступ из этого режима не имеет ничего общего с вашей системой. Это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки системы.

В этом режиме будет сложно что-то исправить, но можно попытаться понять где находится причина проблемы. В этой статье мы рассмотрим что делать если Linux не загружается с initramfs. Такой проблеме подвержены все дистрибутивы, но мы рассмотрим решения на примере Ubuntu.

Почему Linux не загружается дальше initramfs

Если вы столкнулись с данной ошибкой, то после нескольких десятков секунд загрузки увидите такое сообщение:

Первое, что можно попытаться сделать в таком случае — выполнить команду exit, чтобы система попыталась загрузится и тогда она покажет вам более подробное сообщение об ошибке.

1. Неверный корневой раздел в загрузчике

В данном случае она сообщает, что не может найти раздел /dev/sda10:

Alert: /dev/sda10 does not exist. Dropping to a shell

Очень часто такая ошибка возникает после манипуляций с разделами дисков, особенно изменения их размера. UUID диска меняется и ядро больше не может его найти. Вы можете посмотреть доступные в системе разделы с помощью команды:

ls /dev/ | grep sd

В этом окружении есть BusyBox, а значит есть большинство утилит Unix. Вы можете примонтировать каждый из этих разделов с помощью команды mount и узнать где находится ваш новый корневой раздел, например:

mkdir /mnt
mount /dev/sda5 /mnt
ls

Вы также можете узнать здесь же UUID данного раздела диска, для этого выполните:

blkid /dev/sda5

В данном случае, корневой раздел имеет имя /dev/sda5. Именно это имя можно передать ядру в конфигурации загрузчика Grub, а можно UUID, но если в этом нет крайней необходимости, то короткое имя использовать гораздо проще. Надо перезагрузить компьютер, в меню Grub выбрать нужную загрузочную запись и нажать клавишу E:

Далее найти пункт, начинающейся со слова linux и в нём параметр root. Его значение вместе со словом UUID надо стереть, а вместо него прописать имя корневого раздела:

После этого система загрузится, а вам останется только создать новый конфигурационный файл grub с помощью команды:

update-grub

2. Повреждённая файловая система

Подобная ошибка может появляться также при серьезных ошибках в файловой системе, которые мешают примонтировать корневой раздел. Обычно, fsck восстанавливает файловую систему автоматически, но если проблема серьезная и грозит потерей данных, утилите надо подтверждение пользователя для работы. Тогда система показывает такую ошибку:

The root filesystem on /dev/sda5 requires a manual fsck

Вы можете прямо здесь же попытаться восстановить файловую систему. Для этого выполните:

fsck -y /dev/sda5

Здесь /dev/sda5 — это корневой раздел, его нужно заменить на свой. Опция -y указывает утилите, что на все вопросы надо ли исправлять блок нужно отвечать утвердительно. После успешного восстановления надо перезагрузить компьютер и попытаться загрузить систему снова.

Выводы

В этой статье мы разобрались что делать если в Linux не загружается initramfs, как посмотреть сообщение об ошибке, а также как устранить самые распространённые причины.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

В данной статье мы рассмотрим варианты решения проблем, когда виртуальный или физический серверы на базе Ubuntu/Mint/Kali не загружаются и отваливается в busybox в момент инициализации initramfs. При этом Linux не загружается, и пользователю доступна только командная строка initramfs.

Initramfs – это начальная файловая система в ОЗУ, основанная на tmpfs, которая не использует отдельное блочное устройство. Как и initrd, она содержит утилиты и скрипты, требуемые для монтирования файловых систем перед вызовом init, который располагается на корневой файловой системе.

ошибка initramfs BusyBox в Ubuntu / Mint / Kali

Проблема с суперблоком

Если Ubuntu свалилась в busybox при инициализации initramfs, возможно на диске оказался испорченный суперблок. Linux хранит несколько копий суперблоков.

Для восстановления в случае такой проблемы, нам нужно загрузиться с образа/диска и запустить Terminal. После загрузки, в терминале вводим команду:

# sudo fdisk -l|grep Linux|grep -Ev 'swap'

Команда вернет информацию о нашем разделе:

/dev/vda2 4096 83884031 83879936 40G Linux filesystem

Запомните имя раздела и укажите его в следующей команде:

# sudo dumpe2fs /dev/vda2 | grep superblock

Команда вернет список запасных суперблоков:

dumpe2fs /dev/vda2 | grep superblock вывод всех сперблоков

Мы будем использовать второй резервный суперблок для замены поврежденного (можно выбрать любой, кроме Primary). Выполним проверку диска с использованием резевного суберблока для восстановления:

# sudo fsck -b 98304 /dev/vda2 -y

Если вы получите вывод:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 is mounted.
e2fsck: Cannot continue, aborting

Нужно отмонтировать раздел:
# umount /dev/vda2

После успешного выполнения замены суперблока, вы должны получить такое сообщение:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #231 (32254, counted=32253).
Fix? yes
 Free blocks count wrong for group #352 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #358 (32254, counted=27774).
Fix? yes
..........
/dev/vda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vda2: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks

Теперь перезагрузите компьютеры, отключив диск с дистрибутивом и все должно быть в порядке.

Ошибка диска fsck

Второй вариант ошибки, наличие следующей строки в окне терминала:

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
The root filesystem on /dev/sda1 requires a manual fsck.

busybox initramfs - UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

Если вы не видите такой ошибки, попробуйте ввести (initramfs) exit в окне терминала. Ошибка может появиться после этого..

В ошибке будет указан том, который требует запуска ручной проверки диска. В командной строке initramfs выполните:

# fsck /dev/sda1 -y

После полной проверки, нужно перезапустить сервер и проверить все ли в порядке.

Ошибка диска: /dev/sda1 does not exist

Проблема с fstab

Если при загрузке сервера вы видите ошибку:

ALERT! /dev/sda1 does not exist. Dropping to a shell.

initramfs в busybox /dev/sda1 does not exist

Скорее всего вы только что установили Linux или то на вашем сервере есть проблемы в fstab. Чаще всего проблема возникает при установке системы с usb-накопителя. Раздел на который ругается система, может быть какой угодно. Как и в первом случае, нам нужно загрузиться с образа системы и выполнить некоторые действия. Проверьте UUID диска командой:

# sudo blkid

Система выдаст что-то подобное:

/dev/sda2: UUID="36cce3d5-cbdb-46f4-adbf-3f9aaa01d729" TYPE="ext4" PARTUUID="fea4dab1-4e12-4327-85c6-76ade18f64e1"

Отсюда уже видно, что система должна загружаться с sda2, а по факту загружается с sda1.

Монтируем наш раздел в любую директорию, например:

# sudo mount /dev/sda2 /mnt

Получаем в директории /mnt весь наш раздел /dev/sda2, находим там файл /etc/fstab и изменяем строку, содержащую /dev/sda1 на:

UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1

Сохраняем файл. Отмонтируем раздел от /mnt и перезагрузимся, если проблема была связана с не неправильным адресом разделе, сервер загрузится.

Так же данный вариант можно решить, загрузившись в emergency. Перемонтируйте корень для записи:

# sudo mount -o remount,rw /

После чего измените fstab и перезапустите сервер.

Проблема с железом

На некоторых материнских платах порты SATA могут получать произвольные номера. Это также может вызвать описанную в предыдущем пункте ошибку. Для исправления ошибки нужно изменить загрузчик grub.

Загрузитесь в режиме emergency или с live-cd и измените файл /boot/grub/grub.cfg

В строке где происходит загрузка раздела, например:

Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes

Измените путь до диска на UUID:

Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes

укажите UUID диска в grub.cfg

Главная » Linux » Ubuntu » initramfs ubuntu не загружается. 10 способов решения ошибки initramfs

Опубликовано 14.03.2023

Содержание

  1. Что такое initramfs?
  2. Причины возникновения ошибки initramfs
  3. Способы решения ошибки initramfs
  4. Еще 10 способов решения ошибки initramfs
  5. Заключение

Ubuntu — это один из самых популярных дистрибутивов Linux, который используется многими пользователями по всему миру. Однако, даже в Ubuntu могут возникать проблемы, связанные с загрузкой системы. Одной из таких проблем является ошибка initramfs, которая может привести к тому, что система не будет загружаться. В этой статье мы рассмотрим причины возникновения ошибки initramfs в Ubuntu и способы ее решения.

Что такое initramfs?

Перед тем, как мы начнем обсуждать ошибку initramfs, давайте разберемся, что это такое. Initramfs (Initial RAM Filesystem) — это временная файловая система, которая создается во время загрузки операционной системы Linux. Она содержит все необходимые модули и драйверы, которые позволяют ядру Linux запуститься на конкретном железе. Во время загрузки операционной системы, ядро сначала загружает initramfs, а затем использует его для загрузки оставшейся части файловой системы.

Причины возникновения ошибки initramfs

Существует несколько причин, почему может возникнуть ошибка initramfs в Ubuntu. Ниже перечислены некоторые из них:

  1. Проблемы с файловой системой. Если во время загрузки системы обнаруживается, что файловая система повреждена или имеет ошибки, это может привести к ошибке initramfs.
  2. Неправильно настроенное ядро. Если в ядре Linux отсутствуют необходимые модули или драйверы для запуска на конкретном оборудовании, это может привести к ошибке initramfs.
  3. Проблемы с оборудованием. Если оборудование, на котором работает Ubuntu, не работает должным образом, это также может привести к ошибке initramfs.
  4. Неправильная установка Ubuntu. Если Ubuntu была установлена неправильно, это может привести к ошибке initramfs.

initramfs ubuntu не загружается

initramfs ubuntu не загружается

Способы решения ошибки initramfs

Существует несколько способов решения ошибки initramfs в Ubuntu. Ниже перечислены некоторые из них:

  1. Проверьте файловую систему. Если ошибка initramfs связана с проблемами файловой системы, вам может потребоваться проверить ее на наличие ошибок. Для этого можно воспользоваться инструментом fsck. Например, чтобы проверить файловую систему на диске sda1, нужно выполнить следующую команду:sudo fsck /dev/sda1.
  2. Переустановите ядро Linux. Если ошибка initramfs связана с отсутствием необходимых модулей или драйверов в ядре Linux. То можно попробовать переустановить ядро. Для этого нужно выполнить следующую команду:sudo apt-get install --reinstall linux-image-$(uname -r).
  3. Исправьте проблемы с оборудованием. Если ошибка initramfs связана с проблемами оборудования, то необходимо исправить эти проблемы. Например, если проблема связана с жестким диском, то нужно заменить его на новый.
  4. Переустановите Ubuntu. Если ошибка initramfs связана с неправильной установкой Ubuntu, то можно попробовать переустановить ее заново. При этом следует убедиться, что вы используете правильный образ диска и правильно выполняете установку.
  5. Восстановите систему из резервной копии. Если вы регулярно создаете резервные копии системы, то вы можете попробовать восстановить систему из последней доступной резервной копии. Это позволит избежать потери данных и вернуть систему в рабочее состояние.

Еще 10 способов решения ошибки initramfs

Также Ошибка initramfs может произойти при загрузке Ubuntu и вызвать некоторые проблемы для пользователей. Однако, есть несколько способов решения этой проблемы. Вот десять способов, которые могут помочь вам решить ошибку initramfs:

  1. Перезагрузите компьютер. Иногда простая перезагрузка компьютера может решить проблему. Попробуйте перезагрузить компьютер и проверить, исправилась ли ошибка.
  2. Попробуйте загрузиться в режиме восстановления. Загрузка в режиме восстановления позволяет пользователю обойти некоторые настройки и загрузить систему в минимальном режиме. Часто это позволяет загрузить систему, которая не загружается нормально.
  3. Используйте Live CD/USB для восстановления. Если компьютер не может загрузиться даже в режиме восстановления, то можно попробовать загрузиться с Live CD или USB. Это позволит вам запустить Ubuntu с внешнего носителя и исправить проблему.
  4. Проверьте файловую систему на наличие ошибок. Ошибки в файловой системе могут вызвать проблемы при загрузке Ubuntu. Вы можете проверить файловую систему на наличие ошибок, используя утилиту fsck.
  5. Проверьте наличие свободного места на диске. Недостаточное количество свободного места на диске может вызвать проблемы при загрузке Ubuntu. Проверьте, достаточно ли свободного места на вашем диске.
  6. Попробуйте изменить параметры загрузки ядра. Вы можете изменить параметры загрузки ядра в меню загрузки Ubuntu, чтобы обойти некоторые проблемы. Например, вы можете попробовать добавить параметр nomodeset, чтобы обойти проблемы с графическими драйверами.
  7. Попробуйте переустановить ядро. Если проблема связана с ядром Linux, то переустановка ядра может помочь исправить проблему.
  8. Проверьте наличие необходимых модулей и драйверов. Если проблема связана с отсутствием необходимых модулей или драйверов в ядре Linux, то можно попробовать установить их.
  9. Проверьте оборудование на наличие проблем. Проблемы с оборудованием могут вызывать ошибку initramfs. Вы можете проверить оборудование на наличие проблем, например, с помощью программы memtest86, которая позволяет проверить оперативную память на наличие ошибок.
  10. Попробуйте восстановить систему из резервной копии. Если вы создали резервную копию системы, то можно попробовать восстановить систему из нее. Это позволит вернуть систему к состоянию, которое было на момент создания резервной копии.

Заключение

В заключение, ошибка initramfs может быть вызвана различными причинами, связанными с файловой системой, ядром Linux, оборудованием или установкой Ubuntu. Однако, в большинстве случаев, эта проблема может быть решена с помощью одного из вышеописанных способов. Если же вы не уверены, какой способ решения применить, то лучше всего обратиться за помощью к специалисту по Linux.

This brief guide explains how to fix Busybox Initramfs error on Ubuntu Linux. I am using Ubuntu 20.04 LTS as my daily driver on my Dell Inspiron laptop. Today I turned it ON and the boot process dropped me to the BusyBox shell and I ended up at the initramfs prompt.

As far as I can remember, I did nothing wrong. I didn’t forcibly power off the system. It was working just fine yesterday! However, today when I powered it on, I encountered an unexpected issue during the boot process. Instead of loading normally, I found myself redirected to the BusyBox shell and eventually reached the initramfs prompt.

BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) 
Enter 'help' for a list of built-in commands.

(initramfs)

I can’t get past this screen. Also it doesn’t show what exactly the problem is. All I see is just a blank busybox shell.

I wasn’t sure about what to do at this point. So I simply passed the exit command to see what happens.

And then I saw the actual error:

(initramfs) exit
/dev/sda1 contains a file system with errors, check forced.
Inode 4326476 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inodes that were part of a corrupted orphan linked list found.

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options) 
fsck exited with status code 4. 
The root filesystem on /dev/sda1 requires a manual fsck. 

BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)
Busybox Initramfs Error On Ubuntu
Busybox Initramfs Error On Ubuntu

As you can see in the above output, the /dev/sda1 partition is corrupted. The file system in this partition has some errors.

If you ever encountered with this type of problem, you need to check and repair the problematic Linux filesystems with fsck command.

Please note that sometimes you don’t see any errors after typing the exit command. In that case, try to run fsck on all filesystems.

What are Busybox and Initramfs?

For those wondering, BusyBox is software suite that provides many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc.

Initramfs is an initial ram file system based on tmpfs. It contains the tools and scripts required to mount the file systems before the init binary on the real root file system is called.

Fix Busybox Initramfs Error on Ubuntu Linux

1. To solve initramfs error on Ubuntu Linux, you need to repair the filesystem in the corrupted partition using fsck command like below:

(initramfs) fsck /dev/sda1 -y

Replace /dev/sda1 with your partition name. In your system, it could be /dev/sdb1, /dev/sdc1 etc. You can use cat /proc/partitions or blkid or lsblk commands to get your Linux partition details in Busybox. Refer this guide to list disk partitions in Linux. Don’t forget to pass the -y flag. Otherwise, you should manually type -y and hit ENTER each time to fix an error.

2. Now the fsck command will start to fix all bad blocks automatically in the filesystem.

After a couple minutes, you will see an output like below:

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda1: 497733/30531584 files (1.5% non-contiguous), ........

3. Next, type reboot and hit ENTER to restart your system!

(initramfs) reboot
Fix Busybox Initramfs Error On Ubuntu Linux
Fix Busybox Initramfs Error On Ubuntu Linux

If the reboot command doesn’t work, type exit and hit ENTER.

Cross your fingers and wait for the system to reboot! If all went well, your system will boot normally without any problem.

These steps helped me and many others (see the comment section below) to solve Busybox Initramfs error on Ubuntu Linux operating system. If you are stuck in initramfs prompt, this guide will definitely help to fix initramfs error in Ubuntu.

Heads Up: If you keep getting this error often, probably your hard disk is getting weaker. In that case, it is recommended to backup the data and replace the hard disk as soon as possible.

This isn’t exclusively for Ubuntu OS. The initramfs error can occur on Debian, and other Ubuntu derivatives such as Pop OS, Linux mint etc. In order to fix initramfs error in Debian-based systems, simply follow the aforementioned steps.

What if I can’t Fix it from Busybox Shell? Try Rescue Mode

One of the user has commented that he/she can’t type anything in the initramfs prompt. In that case, please boot into the rescue mode and try to repair the filesystem. The following guide explains how to boot in to rescue mode in Ubuntu.

How To Boot Into Rescue Mode Or Emergency Mode In Ubuntu

If your Ubuntu system is crashed due to power failure or network connectivity issue in the middle of the upgrade process, you might end up with broken Ubuntu. In that case, you can easily fix broken Ubuntu without reinstalling it as described in the following guide.

  • How To Fix Broken Ubuntu OS Without Reinstalling It

Similar Read:

  • How To Solve Initramfs Error In Fedora

Featured image by ErfourisStudio from Pixabay.

sk

Senthilkumar Palani (aka SK) is the Founder and Editor in chief of OSTechNix. He is a Linux/Unix enthusiast and FOSS supporter. He lives in Tamilnadu, India.

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

Ubuntu также может встретить вас с подобными проблемами, и «initramfs» — одна из них. Это проблема загрузки Ubuntu, которая возникает из-за сбойных блоков или сбойных секторов в памяти, которые не позволяют загрузиться операционной системе.

Ваша система содержит много важных файлов, поэтому такая ошибка определенно может вызвать панику. Не о чем беспокоиться; В этой статье основное внимание уделяется тому, как решить проблему с initramfs и нормально загрузить Ubuntu. Итак, начнем:

Если на вашем экране отображается ошибка «initramfs», вы уже находитесь в режиме восстановления, что означает, что вы можете вводить команды и выполнять различные операции. Ошибка будет такой:

Вы можете ввести «exit», чтобы получить подробную информацию об ошибке. Обратите внимание, что вы не можете получать подробные сведения об ошибке каждый раз, когда набираете «exit». Как обсуждалось выше, эта ошибка «initramfs» возникает при повреждении загрузочного диска. Вы можете подключить несколько дисков для их проверки, используйте:

или же

Разделы можно просмотреть по имени /dev/sda,/dev/sdb или любому другому. Теперь, чтобы исправить ошибку «initramfs», мы используем   утилиту «fsck», также известную как «проверка целостности файловой системы», которая проверяет и устраняет проблемы файловой системы. Следуйте приведенному ниже синтаксису:

(initramfs) fsck [partitian name (/dev/sdXX)]

Например, если наш раздел называется «/dev/sdb», то команда будет такой:

Нажмите «Enter», команда автоматически удалит поврежденные сектора из памяти. Когда появится запрос, нажмите «y». Чтобы предотвратить появление подсказок, просто используйте опцию «-y» с командой:

(initramfs) fsck/dev/sdb -y

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

(initramfs) reboot

Если перезагрузка не работает, введите «exit». Вот так; ошибка устранена, и Ubuntu загрузится нормально.

Заключение

«Initramfs» ошибка может устрашить вас, но, к счастью, эта ошибка имеет очень простое и простое решение. Эта ошибка возникает, когда ваша память повреждена, особенно диск, содержащий операционную систему, и не позволяет ей загружаться. Чтобы исправить это, просто используйте утилиту «fsck». В этой статье подробно объясняется процесс устранения ошибки «initramfs» для нормальной загрузки Ubuntu.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Возможно, вам также будет интересно:

  • Initramfs tools ошибка при обработке пакета
  • Initminer error unable to initialize cuda miner ошибка
  • Initiates assassins creed unity ошибка 0x70000053
  • Initializing database mysql ошибка
  • Initializer string for array of chars is too long ошибка

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии