Пользователи, которые любят экспериментировать со своей операционной системой время от времени сталкиваются с ошибкой загрузки, когда система выводит приглашение ввода 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 ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
В данной статье постараюсь рассмотреть некоторые типовые ошибки, связанные с загрузкой системы. Бывает так, что сервер с Ubuntu по какой-то причине не загружается из-за поврежденного загрузчика или еще каких-то проблем. Я покажу методику, как решать подобные проблемы с запуском, а заодно расскажу, как можно быстро восстановить систему.
Рассмотрим, с чем в первую очередь может быть связана проблема с загрузкой системы. Вот список наиболее вероятных причин:
- Первое самое очевидное — у вас сломался жесткий диск, на который установлена система. Тут все ясно и починить вряд ли что-то получится. Надо менять диск и переустанавливать на новый диск систему. Далее не буду рассматривать этот случай.
- Возникли проблемы с загрузчиком grub, который запускается перед загрузкой основной системы. Вы в него попадаете, но дальше видите какие-то ошибки, чаще всего связанные с тем, что не найден корневой раздел системы, поэтому загрузка невозможно. С этими же проблемами вы можете оказаться в режиме recovery mode, где можно выполнить какие-то действия.
- У вас поврежден загрузчик, с которого начинается загрузка системы после старта компьютера. Это небольшая область в начальных секторах жесткого диска. Если с загрузчиком проблемы, то загрузка даже не начинается и вы сразу получаете ошибку на тему того, что с данного жесткого диска невозможно загрузиться.
Далее я отдельно рассмотрю второй и третий случаи. Начнем со стандартного режима восстановления grub.
Entering rescue mode
Итак, в случае проблем с загрузкой Ubuntu вы можете оказаться в режиме grub rescue.
Machine UUID... Booting from Hard Disk... error: no such partition. Entering rescue mode... grub rescue>
Это может символизировать как простую ошибку, которую легко исправить, так и серьезные проблемы. Рассказываю, что нужно делать в таком случае и как починить загрузку системы.
Первым делом запускаем команду ls и смотрим, какие разделы у нас доступны.
> ls (hd0) (hd0,gpt3)
В моем случае доступен только один 3-й раздел, скорее всего корневой. Раздела /boot, который обычно 1-й или 2-й нет. Проверим это наверняка. Смотрим содержимое доступного раздела:
> ls (hd0,gpt3)/
По содержимому раздела видно, что это корневой. Самого раздела /boot, с которого должна начинаться загрузка ubuntu тут не видно. Если его никто специально не удалял и не затирал, то он пропал в результате какого-то сбоя или ошибки. Можно попробовать это исправить. Сделаем это отдельно ниже, а пока рассмотрим случай, когда boot раздел тут все же присутствует и имеет имя, к примеру, (hd0,gpt2). Тогда там же в консоли grub продолжаем.
> set prefix=(hd0,gpt2)/grub > set root=(hd0,gpt2)
Далее загружаем некоторые модули. Какие будут нужны, точно не известно и зависит от типов разделов диска. Показываю самые популярные:
> insmod ext2 > insmod lvm > insmod part_msdos
Можно для начала попробовать вообще без модулей, а потом добавлять по одному. В самом конце загружаем модуль normal.
> insmod normal > normal
После этого у вас должно открыться стандартное меню загрузки Ubuntu. Если это так, то вам повезло. Дальше загрузится система. Вам нужно будет в нее зайти и далее перейти в раздел по восстановлению grub в этой статье. Получилось так, что у вас сам загрузочный раздел жив, но сбились его настройки, поэтому он сам не смог загрузить основную систему. Это не трудно исправить и ниже я показываю как.
Восстановление поврежденных разделов ubuntu
Если же у вас вообще не найден раздел для загрузки, надо попробовать его восстановить. Для этого загружаемся с установочного диска Ubuntu и на первом экране инсталлятора выходим в консоль через раздел Help.
Вы окажетесь в консоли системы, которая по сути является livecd сервера. В целом, тут подойдет любой livecd дистрибутив с linux. Эта система видит все подключенные диски и вообще все оборудование. Первым делом вам надо настроить выход в интернет на сервере так же, как вы это делаете обычно. После этого нужно обновить пакеты и установить утилиту testdisk. С ее помощью мы попробуем найти исчезнувший загрузочный раздел.
sudo apt update sudo apt install testdisk
Запускаем утилиту и указываем, что будем создавать новый log файл.
Выбираем диск, на котором у нас установлена система. В моем случае это sda.
В качестве partition table type сначала укажите Intel. Если не получится ничего найти, попробуйте еще раз с другими типами.
Дальше выбираем Analyze.
И запускаем Quick Search.
У меня testdisk нашел 2 раздела, причем первый это boot раздел, который по какой-то причине исчез.
Из-за его отсутствия виртуальная машина с ubuntu не грузилась. Далее выбираю первый раздел и восстанавливаю его с помощью testdisk. Записываю изменения и выхожу в консоль. Проверяю с помощью fdisk разделы диска /dev/sda.
Появился первый загрузочный раздел. По идее я выполнил восстановление boot раздела. Теперь можно проверить, запустится ли система. Для этого отключаем установочный диск и загружаемся с основного.
В случае, если все загрузилось, вам повезло. Отделались малой кровью. Если же ubuntu не загружается, а вы опять попадаете в grub rescue, значит придется еще потрудиться над восстановлением загрузки системы. Будем восстанавливать сам grub.
Восстановление grub
Продолжаем восстановление загрузки ubuntu. Сам /boot раздел мы вернули, но загрузчик grub почему-то не работает и система не грузится. Загружаемся опять с установочного диска и переходим в консоль. Напомню, что у меня такая картина по разделам:
Device Boot Start End Sectors Size Id Type /dev/sda1 * 4096 2101247 2097152 1G 83 Linux /dev/sda2 2101248 20969471 18868224 9G 83 Linux
Первый раздел это /boot, второй корень / . Смонтируем их в /mnt, а так же добавим несколько системных директорий.
sudo mount /dev/sda2 /mnt sudo mount /dev/sda1 /mnt/boot sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
Теперь чрутимся в /mnt, чтобы оказаться в нашей системе:
sudo chroot /mnt
И уже отсюда восстанавливаю загрузчик grub:
grub-install /dev/sda sudo update-grub --output=/mnt/boot/grub/grub.cfg
По идее, ошибок получить не должны. Если получили, то гуглите их. Надо обязательно их решить, иначе система так и не начнет загружаться корректно.
Теперь выходим отсюда и перезагружаем сервер. Вынимаем установочный диск и загружаемся с основного диска. У меня пошла загрузка.
Давайте еще раз повторим все, что мы сделали:
- Мы увидели, что система не грузится и валится в grub rescue. Загрузчик не может найти раздел, с которого продолжить загрузку. Мы попробовали в rescue console посмотреть все имеющиеся разделы и не нашли там boot. Если же нашли, то сразу же загрузились с него.
- После этого загрузились с загрузочного диска ubuntu, перешли в консоль. Установили утилиту testdisk и просканировали наш диск. Нашли пропавший раздел, восстановили /boot. Если раздел не нашли, то создали вручную.
- После этого смонтировали к livecd системе локальные диски, зачрутились в эту систему и штатно восстановили grub загрузчик.
- После этого система нормально загрузилась.
Заключение
В целом, мы выполнили типовую процедуру восстановления загрузки любого linux сервера, в том числе ubuntu. Если бы раздел boot не получилось восстановить, его нужно было бы создать вручную и проделать все то же самое с восстановлением grub. Это ключевой элемент загрузки linux. Система перестает загружаться чаще всего из-за проблем с ним. Он может быть поврежден установкой рядом других систем или неправильной разбивкой диска.
Важно понимать, что если корневой раздел системы жив, то восстановление непосредственно загрузки — дело техники. Чаще все это все исправляется и система продолжает работать.
Главная » Linux » Ubuntu » initramfs ubuntu не загружается. 10 способов решения ошибки initramfs
Опубликовано 14.03.2023
Содержание
- Что такое initramfs?
- Причины возникновения ошибки initramfs
- Способы решения ошибки initramfs
- Еще 10 способов решения ошибки initramfs
- Заключение
Ubuntu — это один из самых популярных дистрибутивов Linux, который используется многими пользователями по всему миру. Однако, даже в Ubuntu могут возникать проблемы, связанные с загрузкой системы. Одной из таких проблем является ошибка initramfs, которая может привести к тому, что система не будет загружаться. В этой статье мы рассмотрим причины возникновения ошибки initramfs в Ubuntu и способы ее решения.
Что такое initramfs?
Перед тем, как мы начнем обсуждать ошибку initramfs, давайте разберемся, что это такое. Initramfs (Initial RAM Filesystem) — это временная файловая система, которая создается во время загрузки операционной системы Linux. Она содержит все необходимые модули и драйверы, которые позволяют ядру Linux запуститься на конкретном железе. Во время загрузки операционной системы, ядро сначала загружает initramfs, а затем использует его для загрузки оставшейся части файловой системы.
Причины возникновения ошибки initramfs
Существует несколько причин, почему может возникнуть ошибка initramfs в Ubuntu. Ниже перечислены некоторые из них:
- Проблемы с файловой системой. Если во время загрузки системы обнаруживается, что файловая система повреждена или имеет ошибки, это может привести к ошибке initramfs.
- Неправильно настроенное ядро. Если в ядре Linux отсутствуют необходимые модули или драйверы для запуска на конкретном оборудовании, это может привести к ошибке initramfs.
- Проблемы с оборудованием. Если оборудование, на котором работает Ubuntu, не работает должным образом, это также может привести к ошибке initramfs.
- Неправильная установка Ubuntu. Если Ubuntu была установлена неправильно, это может привести к ошибке initramfs.
Способы решения ошибки initramfs
Существует несколько способов решения ошибки initramfs в Ubuntu. Ниже перечислены некоторые из них:
- Проверьте файловую систему. Если ошибка initramfs связана с проблемами файловой системы, вам может потребоваться проверить ее на наличие ошибок. Для этого можно воспользоваться инструментом fsck. Например, чтобы проверить файловую систему на диске sda1, нужно выполнить следующую команду:
sudo fsck /dev/sda1.
- Переустановите ядро Linux. Если ошибка initramfs связана с отсутствием необходимых модулей или драйверов в ядре Linux. То можно попробовать переустановить ядро. Для этого нужно выполнить следующую команду:
sudo apt-get install --reinstall linux-image-$(uname -r).
- Исправьте проблемы с оборудованием. Если ошибка initramfs связана с проблемами оборудования, то необходимо исправить эти проблемы. Например, если проблема связана с жестким диском, то нужно заменить его на новый.
- Переустановите Ubuntu. Если ошибка initramfs связана с неправильной установкой Ubuntu, то можно попробовать переустановить ее заново. При этом следует убедиться, что вы используете правильный образ диска и правильно выполняете установку.
- Восстановите систему из резервной копии. Если вы регулярно создаете резервные копии системы, то вы можете попробовать восстановить систему из последней доступной резервной копии. Это позволит избежать потери данных и вернуть систему в рабочее состояние.
Еще 10 способов решения ошибки initramfs
Также Ошибка initramfs может произойти при загрузке Ubuntu и вызвать некоторые проблемы для пользователей. Однако, есть несколько способов решения этой проблемы. Вот десять способов, которые могут помочь вам решить ошибку initramfs:
- Перезагрузите компьютер. Иногда простая перезагрузка компьютера может решить проблему. Попробуйте перезагрузить компьютер и проверить, исправилась ли ошибка.
- Попробуйте загрузиться в режиме восстановления. Загрузка в режиме восстановления позволяет пользователю обойти некоторые настройки и загрузить систему в минимальном режиме. Часто это позволяет загрузить систему, которая не загружается нормально.
- Используйте Live CD/USB для восстановления. Если компьютер не может загрузиться даже в режиме восстановления, то можно попробовать загрузиться с Live CD или USB. Это позволит вам запустить Ubuntu с внешнего носителя и исправить проблему.
- Проверьте файловую систему на наличие ошибок. Ошибки в файловой системе могут вызвать проблемы при загрузке Ubuntu. Вы можете проверить файловую систему на наличие ошибок, используя утилиту fsck.
- Проверьте наличие свободного места на диске. Недостаточное количество свободного места на диске может вызвать проблемы при загрузке Ubuntu. Проверьте, достаточно ли свободного места на вашем диске.
- Попробуйте изменить параметры загрузки ядра. Вы можете изменить параметры загрузки ядра в меню загрузки Ubuntu, чтобы обойти некоторые проблемы. Например, вы можете попробовать добавить параметр nomodeset, чтобы обойти проблемы с графическими драйверами.
- Попробуйте переустановить ядро. Если проблема связана с ядром Linux, то переустановка ядра может помочь исправить проблему.
- Проверьте наличие необходимых модулей и драйверов. Если проблема связана с отсутствием необходимых модулей или драйверов в ядре Linux, то можно попробовать установить их.
- Проверьте оборудование на наличие проблем. Проблемы с оборудованием могут вызывать ошибку initramfs. Вы можете проверить оборудование на наличие проблем, например, с помощью программы memtest86, которая позволяет проверить оперативную память на наличие ошибок.
- Попробуйте восстановить систему из резервной копии. Если вы создали резервную копию системы, то можно попробовать восстановить систему из нее. Это позволит вернуть систему к состоянию, которое было на момент создания резервной копии.
Заключение
В заключение, ошибка initramfs может быть вызвана различными причинами, связанными с файловой системой, ядром Linux, оборудованием или установкой Ubuntu. Однако, в большинстве случаев, эта проблема может быть решена с помощью одного из вышеописанных способов. Если же вы не уверены, какой способ решения применить, то лучше всего обратиться за помощью к специалисту по Linux.
- Печать
Страницы: [1] Вниз
Тема: вылазиют ошибки при запуске системы. (Прочитано 11396 раз)
0 Пользователей и 1 Гость просматривают эту тему.
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
victor79
установил Ubuntu. Попользовался пару недель, и начали при запуске почему то вылазить ошибки: сразу «System program problem detected» и чуть погодя «Обнаружена ошибка в системной программе». Обновления устанавливал все. Прочих программ немного, ничего системного. Где смотреть что это такое, и как исправлять?
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
Totos
Там же предлагается посмотреть подробности. Нажимаете показать подробности, и смотрите. И если это Ubuntu 14.10, то вполне могут и ошибки выскакивать. А причины разные, например с видеодрайвером или с программным обеспечением… Со временем они исправляются.
| toZen |
victor79,
sudo rm -r /var/crash/*
Logout ->> Login
??
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
victor79
rm -r /var/crash/*
помогло. Получается, что когда то произошла ошибка, и она помнится, пока не отправится?
![Оффлайн](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
maxim2
Apport создает краш-файлы в каталоге /var/crash
cd /var/crash
ls
_opt_google_chrome_chrome.1000.crash
_usr_lib_chromium-browser_chromium-browser.1000.crash
_usr_sbin_ulatencyd.0.crash
_usr_share_apport_apport-gtk.1000.crash
Удалите файлы об ошибке:
sudo rm /var/crash/*
Отключаем:
gksudo gedit /etc/default/apport
замени enabled=1 на enabled=0
и останавливаем сервис
sudo service apport stop
« Последнее редактирование: 03 Января 2015, 22:11:22 от maxim2 »
- Печать
Страницы: [1] Вверх
В своей деятельности я давно убедился в стабильности операционных систем Linux. Но иногда случается что и они сбоят. При внезапном отключении электричества, да и по другим причинам может возникнуть ошибка в файловой системе. В моем случае ошибка загрузки Ubuntu случилась после внезапного отключения питания. Давайте разбираться как восстановить работоспособность системы.
При запуске система доходит до загрузки initramfs и открывается консоль, на этом загрузка заканчивается. Initramfs — это файловая система в оперативной памяти компьютера использующаяся для начальной инициализации загрузки.
Загрузка системы в режиме восстановления
Перезагружаем компьютер и ожидаем появления окна загрузчика GRUB
Обычно, GRUB появляется до начала загрузки системы и висит несколько секунд. Если меню GRUB не появилось: перезагрузите компьютер, и сразу после загрузки BIOS/UEFI удерживайте клавишу Shift (BIOS), либо нажмите клавишу Esc (UEFI).
Выбираем пункт Дополнительные параметры для Ubuntu. Попав в меню выбора ядра для загрузки системы пытаемся загрузится с самой свежей версии с припиской (Recovery Mode). Если загрузить свежее ядро не получилось, можно выбрать предыдущее.
Загрузиться операционная система не смогла и тут же описали причину: /dev/sda2 contains a file system with error
Загрузка прервана по причине ошибок в файловой системе по пути /dev/sda2. Тут же запустится initramfs.
Восстановление файловой системы
В консоли initramfs запускаем программу проверки файловой системы на ошибки
где fsck — программа проверки, /dev/sda2 — путь к сбойному разделу
Программа проверки нашла ошибки и предлагает их исправить, соглашаемся.
Если ошибок будет много, можно согласится сразу с исправлением всех
Нажимаем a чтобы исправить все найденные ошибки в файловой системе.
По завершению процесса проверки и исправления ошибок мы увидим сообщение о результатах работы программы.
Все ошибки исправлены. Можно перезагрузить компьютер и выбрать загрузку в обычном режиме.
Видео по статье