Не загружается Ubuntu/Mint/Kali с initramfs в BusyBox
Не загружается Ubuntu/Mint/Kali с initramfs в BusyBox
22.11.2019
VyacheslavK
Ubuntu
комментариев 8
В данной статье мы рассмотрим варианты решения проблем, когда виртуальный или физический серверы на базе 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:
Предыдущая статья Следующая статья
Как загрузиться в режиме восстановления или в аварийном режиме в Ubuntu 20.04 / 18.04
Пользователи нередко забывают свои пароли для входа в систему или их файловая система оказывается повреждённой. В таком случае рекомендуется загрузиться в режиме восстановления или аварийном режиме и применить необходимые исправления.
Режим восстановления также называется однопользовательским режимом. Как следует из названия, режим восстановления используется, когда вы хотите спасти вашу систему от сбоя системы, например, сбоя загрузки или сброса пароля. В режиме восстановления монтируются все локальные файловые системы. Однако запускаются только важные службы. Обычные службы, такие как сетевые службы, запускаться не будут.
Аварийный режим обеспечивает минимальную загрузочную среду и позволяет восстанавливать систему Linux, даже если режим восстановления недоступен. В аварийном режиме монтируется только корневая файловая система, причём в режиме только для чтения. Как и в режиме восстановления, в аварийном режиме активируются только основные службы.
В этом руководстве вы узнаете, как загрузиться в режиме восстановления или в аварийном режиме в Ubuntu 20.04 / 18.04.
Загрузка Ubuntu 20.04 в режиме восстановления
Для начала начните загрузку или перезагрузите вашу систему. Вы получите меню grub с вариантами загрузки как показано на скриншоте.
По умолчанию выбран первый вариант. Выбрав первый вариант, нажмите клавишу «e» на клавиатуре, чтобы получить доступ к параметрам grub.
Прокрутите и найдите строку, которая начинается с «linux». Перейдите в самый конец строки, нажав ctrl+e, и удалите строку «$vt_handoff».
Затем добавьте «systemd.unit=rescue.target» в конец строки.
Чтобы загрузить систему в режиме восстановления, нажмите Ctrl+x. Продолжите и нажмите ENTER на клавиатуре, чтобы получить доступ к режиму восстановления. Оттуда вы можете выполнять такие операции, как изменение пароля пользователя. В приведённом ниже примере мне удалось сбросить пароль.
В режиме восстановления все файловые системы монтируются в режиме чтения и записи, и вы можете запускать практически любые команды так же, как и в обычном сеансе. Когда вы закончите, перезагрузите систему, чтобы сохранить изменения, используя команду:
Загрузка Ubuntu 20.04 в аварийном режиме
Как мы упоминали ранее, в аварийном режиме все файлы монтируются в режиме только для чтения. Аварийный режим особенно удобен, когда невозможно загрузиться в режиме восстановления из-за повреждения файловой системы.
Чтобы загрузиться в аварийном режиме, перезагрузите или загрузите вашу систему. В меню grub убедитесь, что выделен первый параметр, и нажмите клавишу «e» на клавиатуре, чтобы получить доступ к параметрам grub.
Прокрутите и найдите строку, которая начинается с «linux». Ещё раз перейдите к концу строки, нажав ctrl+e, и удалите строку «$vt_handoff».
Затем добавьте строку «systemd.unit=emergency.target» в конец строки.
После этого нажмите Ctrl+x для перезагрузки в аварийном режиме. Нажмите ENTER, чтобы получить доступ к корневой файловой системе. Отсюда вы можете просматривать различные файлы в вашей системе Linux. В этом примере мы просматриваем содержимое файла /etc/fstab, чтобы увидеть определённые точки монтирования.
Чтобы внести какие-либо изменения в систему, вам необходимо смонтировать её в режиме чтения и записи следующей командой.
Отсюда вы можете выполнять любые задачи по устранению неполадок, такие как изменение пароля root, как показано на скриншоте. Как только вы закончите, перезагрузитесь, чтобы изменения вступили в силу.
Это конец статьи. Надеюсь, теперь вы можете получить доступ как к режиму восстановления, так и к аварийному режиму и исправить системные проблемы в ОС Ubuntu.
Не загружается GRUB после установки Debian 10 на UEFI рядом с Windows 10
Всем привет! В этой заметке я покажу, как можно исправить ситуацию, когда после успешной установки дистрибутива Linux Debian 10 рядом с Windows 10 на компьютер с UEFI, загрузчик GRUB не загружается, а вместо него по-прежнему, как и до установки Debian, запускается Windows 10, т.е. в обход GRUB.
Зачем нужно, чтобы GRUB запускался по умолчанию?
Если Вы захотели установить на один компьютер Linux и Windows, например, дистрибутив Debian 10 и Windows 10, то Вам необходимо сначала установить Windows, а потом Debian, так как загрузчик Windows не работает с Linux, а загрузчик Debian, т.е. GRUB, умеет запускать все загрузочные системы, включая Windows.
Таким образом, если установить сначала Debian, а потом Windows, то Windows просто перепишет загрузчик GRUB, и Debian запускаться не будет.
Поэтому, для того чтобы иметь возможность по выбору запускать операционные системы на компьютере, необходимо, чтобы загрузкой управлял GRUB, т.е. запускался по умолчанию.
Почему не загружается GRUB?
Все дело в том, что по умолчанию установщик Debian устанавливает загрузчик в область UEFI согласно всем спецификациям, а Windows нет, именно это и не позволяет Debian загружаться даже после успешной установки.
В данном случае UEFI запускает загрузчик по умолчанию, т.е. Windows, а загрузчик Debian просто не запускается. В результате Вы успешно установили Debian, но по умолчанию загружается все равно Windows 10.
Поэтому, для того чтобы изначально избежать такой ситуации, установку Debian 10 необходимо производить в экспертном режиме, чтобы принудительно установить загрузчик в нужную область (removable media path), так же как это делает Windows.
Заметка! Установка Debian 10 рядом с Windows 10 на компьютер с UEFI (экспертный режим) – в материале подробно рассмотрен процесс установки дистрибутива Debian 10 на один компьютер с UEFI рядом с Windows 10 в экспертном режиме.
Некоторые другие дистрибутивы Linux, например, Ubuntu, по умолчанию устанавливают загрузчик в область removable media path, и таких проблем у них не возникает, но такой подход создает предпосылки конфликта с любыми другими установщиками, что плохо и неправильно. Вот почему в Debian не делают этого по умолчанию.
Заметка! Установка Ubuntu рядом с Windows 10 на компьютер с UEFI – в материале подробно рассмотрен процесс установки дистрибутива Linux Ubuntu на один компьютер рядом с Windows 10.
Однако если Вы все-таки установили Debian 10 в обычном режиме, и у Вас возникла такая ситуация, что вместо загрузчика GRUB загружается Windows 10, Вам необязательно переустанавливать Debian, достаточно зайти в загрузочное меню, запустить UEFI Shell и настроить загрузку UEFI. А как все это сделать, я сейчас и покажу.
Делаем загрузчик GRUB загрузчиком по умолчанию
Сейчас мы рассмотрим все действия, которые необходимо выполнить, чтобы сделать загрузчик GRUB загрузчиком по умолчанию.
Примечание! Все действия ниже предполагают наличие у Вас определенного опыта администрирования операционных систем и навыков работы с компьютером. При определенных обстоятельствах некорректные действия могут повлечь нарушение работы загрузчика компьютера.
Шаг 1 – Запускаем менеджер загрузки
Для того чтобы управлять загрузчиком компьютера, необходимо зайти в загрузочное меню, т.е. запустить менеджер загрузки.
Обычно это можно сделать клавишей F9, но иногда используются и другие клавиши (F12 и т.д.).
Итак, во время включения компьютера нажимаем клавишу F9.
Шаг 2 – Запускаем UEFI Shell
В итоге запустится загрузочное меню. Нам нужно открыть UEFI Shell. Для этого входим в «Boot Manager» (интерфейс у Вас может отличаться).
Затем выбираем пункт «EFI Internal Shell».
После чего запустится командная оболочка для работы с UEFI. В командной строке отобразится приглашение ввода команд «Shell>».
Шаг 3 – Входим в файловую систему загрузочного раздела
Вносить изменения мы будем путем определенных действий с файлами, поэтому нам необходимо открыть файловую систему загрузочного раздела UEFI.
Это делается достаточно просто, вводим команду FS0: (обычно именно такая метка у загрузочного раздела).
Шаг 4 – Переименовываем текущий загрузочный файл
Весь смысл наших действий заключается в том, чтобы заменить текущий загрузочный файл на тот, который нам нужен, т.е. на загрузчик GRUB.
Но для начала нам нужно переименовать текущий загрузочный файл, так как файл загрузчика, который мы будет потом копировать, должен быть с таким же названием (можно, конечно, его и удалить, но лучше этого не делать).
Переименовываем файл следующей командой.
Если у Вас отобразилось сообщение [ок], значит, все прошло успешно.
Таким образом, файл bootx64.efi мы переименовали в bootx64.efi_, этот файл расположен в каталоге EFIBoot.
Шаг 5 – Копирование файла загрузчика GRUB
Теперь нам нужно в каталог EFIBoot скопировать файл загрузчика GRUB, чтобы он запускался по умолчанию.
В этой статье речь идет о Debian, поэтому загрузчик лежит в одноименном каталоге EFIdebian, а файл его называется grubx64.efi.
Для копирования можно использовать следующую команду.
Как видите, файл мы копируем с новым названием, для того чтобы EFI запускала его по умолчанию.
Шаг 6 – Выход из командной строки
На этом все, теперь мы можем выйти из командной строки и попробовать запустить компьютер.
Для выхода из «EFI Internal Shell» вводим команду Exit.
Чтобы продолжить загрузку компьютера, выбираем пункт «Continue».
После вышеупомянутых операций с файлами по умолчанию у Вас должен загружаться GRUB, в котором можно будет выбрать операционную систему для загрузки, Debian или Windows.
На заметку! Новичкам рекомендую почитать книгу «Linux для обычных пользователей» – в ней подробно рассказывается про основы операционной системы Linux
- Debian GNU/Linux– это операционная система Debian;
- Windows Boot Manager (на /dev/sda2) – это Windows 10.
Если ничего не выбрать в течение нескольких секунд, по умолчанию будет загружаться Debian, однако можно сделать и так, чтобы по умолчанию загружалась Windows 10, и даже переименовать пункты меню для удобства, об этом я уже рассказывал в материале – Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB.
Первая помощь
Если не загружается ни одна из установленных операционных систем, значит проблема в начальном загрузчике. Такие проблемы могут возникнуть после установки системы, если загрузчик не установился или установился с ошибкой. При (пере) установке Windows на вашем компьютере загрузчик Linux будет перезаписан в принудительном порядке, и станет невозможно запускать Linux.
Повреждение или перезапись загрузчика никак не затрагивают остальные данные на жёстком диске, поэтому в такой ситуации очень легко вернуть работоспособность: для этого достаточно восстановить загрузчик.
Если у вас исчез загрузчик другой операционной системы или другого производителя, то внимательно почитайте соответствующее официальное руководство на предмет его восстановления. Но в большинстве случаев вам это не потребуется, так как загрузчик LILO, входящий в состав ALT Linux, поддерживает загрузку большинства известных операционных систем.
Для восстановления загрузчика LILO достаточно любым доступным способом загрузить Linux и получить доступ к тому жёсткому диску, на котором находится повреждённый загрузчик. Для этого проще всего воспользоваться восстановительным режимом, который предусмотрен на загрузочном диске дистрибутива. В ALT Linux к нему можно получить доступ, загрузившись с CD-ROM и выбрав в меню пункт «Спасательная система».
Загрузка восстановительного режима заканчивается приглашением командной строки: [root@localhost /]# . Начиная с этого момента система готова к вводу команд.
- Смонтировать корневой раздел Linux (“ / ”) командой mount /dev/hda1 /mnt (На месте /dev/hda1 должен быть указан тот раздел диска, на котором у вас находится корневая файловая система Linux). 1
- Смонтировать необходимые для восстановления загрузчика файловые системы:
- mount /proc /mnt/proc -o bind
- mount /dev /mnt/dev -o bind
- mount /sys /mnt/sys -o bind
- Объявить файловую систему на этом разделе корневой:
- chroot /mnt .
- Если на диске ничего не менялось (не установлено новых систем), восстановить загрузчик можно одной командой — lilo . В результате загрузчик будет восстановлен в той же конфигурации, что и перед повреждением.
Если на диске произошли изменения, которые должны затронуть список загружаемых систем (добавлены/удалены ОС), перед выполнением команды lilo потребуется обновить конфигурацию загрузчика: с помощью любого текстового редактора (например mcedit ) отредактировать файл lilo.conf . Подробнее см. раздел Настройка загрузки.
Проблемы при установке системы
Если в системе не произошла настройка какого-либо компонента после стадии установки пакетов, не отчаивайтесь — доведите установку до конца, загрузитесь в систему и попытайтесь теперь в спокойной обстановке повторить настройку.
- xdriver — графический установщик предпринимает попытку автоматического подбора драйвера видеокарты, но иногда это ему не удаётся. Данным параметром можно отключить «искусственный интеллект» и явно указать нужный вариант драйвера.
- instdebug — если будет присутствовать этот параметр, то перед запуском и после завершения работы графического установщика будет запущена оболочка shell. Очень полезное средство, когда требуется выяснить, почему графическая часть программы установки не запускается. Последовательность работы внутренних сценариев следующая: install2 -> xinit -> alterator-install2 -> alterator-wizard. При необходимости можно вручную загрузить Xorg (команда xinit ) и в открывшемся окне терминала запустить alterator-install2 (или alterator-wizard) вручную.
Если вы вообще не смогли установить систему (не произошла или не завершилась стадия установки пакетов), сначала попробуйте повторить попытку в режиме «Установка — безопасные параметры». Возможно также, что у вас какое-то новое или нестандартное оборудование, но может оказаться, что оно отлично настраивается со старыми драйверами. В любом случае, вы всегда можете сообщить о своих проблемах нам, написав в списки рассылки или обратившись в службу технической поддержки, и мы попытаемся вам помочь. Если вы хотите получить точный ответ, то сообщите, пожалуйста, подробный состав вашего оборудования и подробное описание возникшей проблемы.
1Для автоматизации монтирования уже установленной системы можно использовать скрипт mount-system . В этом случае обнаруженная корневая файловая система монтируется в каталог /mnt/system1 , и все дальнейшие действия необходимо предпринимать с поправкой на использование этого каталога.
Способы восстановления Grub или восстановление меню Grub
Этим прекрасным утром вы запустили свой ноутбук и БУМ! Вы получили черный экран с сообщением “Неизвестная файловая система” и сообщением о спасении grub. Теперь вы здесь, на LinuxCool, чтобы узнать, как решить эту проблему, сохранить ваши драгоценные данные и снова нормально загрузиться в Linux. Давайте обсудим некоторые команды восстановления grub.
Способы спасения или восстановления загрузчика Grub
Вы, возможно, думаете о том, что случилось с дистрибутивом. Причин может быть много. Вы могли установить какое-то программное обеспечение, могли испортить GRUB2, кто знает, вы использовали другой дистрибутив при попытке двойной загрузки и многое другое. Независимо от причины, в большинстве случаев проблема заключается в GRUB. Ниже приведены некоторые способы, которые вы можете использовать, чтобы вернуть свой дистрибутив с экрана Grub Rescue.
Способ 1 Для восстановления Grub
Введите ls и нажмите enter.
Теперь вы увидите множество разделов, которые присутствуют на вашем компьютере. [например, (hd0),(hd0,msdos1)(hd0,msdos2)]. Выберите раздел, в котором установлен дистрибутив Linux.
Предполагая, что вы установили дистрибутив во втором варианте, введите эту команду
(Совет: – если вы не помните раздел, попробуйте ввести команду с каждым вариантом. Если вы ошиблись, вы получите сообщение об ошибке. Если правильно – вы продолжите)
После того, как вы нашли диск, введите эту команду insmod normal, а затем normal.
Теперь ваш компьютер/ноутбук перезагрузится, и вы окажетесь на рабочем столе. Теперь нажмите Ctrl+Alt+T, откройте терминал и введите
sudo grub-install /dev/sda
Вас могут попросить ввести пароль; введите его, пароль останется невидимым, это нормально.
У вас может быть запрошено подключение для передачи данных, если файлы GRUB потеряны и система хочет их загрузить. Ваша ошибка исправлена, и дистрибутив восстановлен.
Способ 2 Для восстановления Grub
Возьмите флешку Live USB. Я предпочту флешку Ubuntu Live USB.
Откройте терминал после загрузки на live рабочем столе.
Смонтируйте корневой раздел, набрав /mnt и загрузитесь в /mnt/boot и нажмите enter. [например, sudo grub-install -root-directory=/mnt -boot-directory=/mnt/boot /dev/sda].
sudo grub-install -root-directory=/mnt -boot-directory=/mnt/boot /dev/sda
Вы должны заменить /dev/sda на правильный раздел или диск. Теперь обновите grub, набрав
Это может занять некоторое время, поэтому подождите. После успешного обновления перезагрузитесь, и вуаля – проблема решена.
Метод 3 для восстановления Grub
Если у вас двойная загрузка и ни один из вышеперечисленных шагов не работает, вам может пригодиться следующий способ.
Возьмите установочный DVD-диск Windows OS, одолжите его у друга или у кого-нибудь еще. (Не берите DVD с Windows XP или Vista.)
Запустите его на своем компьютере и запустите программу установки. Это можно сделать, выбрав загрузочный носитель либо нажатием F12, либо установив порядок загрузки в загрузчике. Доступ к нему можно получить, нажав F2 или Del. или любую клавишу, предложенную производителем.
После того как все файлы Windows загрузятся, выберите Восстановление ОС. Обычно эта опция появляется в нижней части диалогового окна после выбора нескольких опций.
При появлении запроса выберите ОС, затем в опции восстановления системы выберите командную строку. Теперь введите по очереди следующие команды
bootrec /fixboot
bootrec /fixmbr
Теперь завершите установку и перезагрузите компьютер/ноутбук. Окно восстановлено и переопределило GRUB.
Ваш дистрибутив Linux по-прежнему присутствует в нем. Только GRUB отменен. Вы можете вернуть его обратно, следуя методу 2, описанному выше.
Метод 4 Восстановление Grub
Возьмите USB/DVD-накопитель Ubuntu live и загрузитесь с него на рабочий стол.
Подключитесь к Интернету и откройте терминал.
Установите Boot Repair Tool, введя следующие команды –
sudo add-apt-repository -y ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
Появится инструмент восстановления загрузки. Выберите рекомендуемый вариант и выполните все шаги в точности, как там написано. Ваш ПК будет восстановлен, и ничего не будет потеряно.
Помните, что скорость восстановления зависит от вашего интернет-соединения.
Советы профи:-
Если вы задаетесь вопросом, где взять Live USB, вы можете посетить своего друга и скачать Ubuntu iso и создать загрузочный USB-накопитель с помощью Rufus и загрузочный DVD с помощью PowerISO, а также с помощью Ventoy.
Вы можете посетить общественное место, если вам нужен WiFi. Есть много мест, таких как аэропорты, железнодорожные вокзалы, больницы, где есть открытый Wi-Fi. Это поможет, только если у вас есть ноутбук.
Заключение
Наша команда LinuxCool готова помочь вам с вашим ПК. Если вы столкнулись с какими-либо трудностями, не стесняйтесь оставлять комментарии. Также, если у вас есть потрясающий способ выхода из этой ситуации, оставьте комментарий; мы с удовольствием добавим его в статью. Однако, несмотря на все ваши усилия, если вы не сможете спасти свой ноутбук или данные будут испорчены, мы в LinuxCool не будем нести ответственность за разгневанную мать, взбешенного отца, мертвого котенка или ядерную войну.