- Невозможно загрузиться в Ubuntu, появляется мигающий белый курсор
- 2 ответа
- Восстановление sh → dash Без живой среды
- Сначала выключите или перезагрузите компьютер (если можете).
- init=/bin/dash Должно сработать
- Альтернативный способ: режим восстановления может работать. Может быть.
- Проблемы с sh → zsh Процедура, которую вы пытались
- Получение zsh предоставлять /bin/sh
- Устранение неполадок при загрузке в Linux
- Понимание процедуры загрузки в Linux RHEL7/CentOS
- Передача аргементов в GRUB 2 ядру во время загрузки
- Запуск целей(targets) устранения неполадок в Linux
- Устранение неполадок с помощью загрузочного диска Linux
- Пример использования «Rescue a CentOS System»
- Переустановка GRUB с помощью аварийного диска
- Повторное создание Initramfs с помощью аварийного диска
- Исправление общих проблем
- Переустановка GRUB 2
- Исправление Initramfs
- Восстановление после проблем с файловой системой
Невозможно загрузиться в Ubuntu, появляется мигающий белый курсор
Я очень волнуюсь — поскольку мне действительно нужно восстановить свою Ubuntu — и потратил столько времени на попытки исправить это.
По сути, я просто следил за лабораторией для своего класса безопасности и столкнулся с этой проблемой.
ОК, поэтому я следовал этим командам:
Затем, когда я открыл новый терминал, это дало какую-то ошибку. Итак, я думал, что это исчезнет после перезапуска моей системы.
Но, к моему несчастью, моя система больше не могла загружаться.
Сначала он открывает менеджер загрузки grub2, затем, когда я нажимаю Enter на Ubuntu, он загружается в черный экран с мигающим курсором в левом верхнем углу.
У меня много работы и вся моя среда программирования для работы и учебы в этой системе.
2 ответа
Я не думаю, что это может привести к невозможности загрузки, но вы можете вернуться к старому sh, выполнив это, поскольку / bin / sh в любом случае является просто символической ссылкой на / bin / dash.
Загрузка, пока вы не получите мигающий курсор, затем нажмите Ctrl+Alt+F2, чтобы получить терминал, затем выполните
Тогда можно перезагрузить ( sudo reboot )
Редактировать: для любого в будущем, если вы не можете получить доступ к приглашению оболочки при загрузке, нажав Ctrl+Alt+F2, вы можете сделать одно из следующего:
Вариант 1: загрузите live cd и нажмите try, затем откройте терминал и выполните
Вариант 2: загрузите live cd и нажмите try, затем откройте терминал и выполните
Тогда можно перезагрузить ( sudo reboot )
Это должно вернуться к папке по умолчанию sh.
Не удивительно, что /bin/sh символическая ссылка на /bin/zsh вызвал проблемы, так как /bin/zsh часто не существует Я подозреваю зш не был установлен, и именно поэтому все сломалось. Это кажется особенно вероятным 2, если ошибка, которую вы видели на новом терминале, была:
Изготовление /bin/sh ссылка на dash Опять-таки (как это принято в Ubuntu по умолчанию) обычно это подходящее решение — и в вашем случае, поскольку ваша цель — восстановить вашу систему так, как она была раньше, это, безусловно, правильный путь. Это может быть достигнуто путем загрузки с живого носителя, как представлено в отличном ответе Термна 1 , и другими способами.
Но если по какой-то странной причине вы захотите использовать zsh вместо dash за /bin/sh в Ubuntu этого можно достичь, но не совсем так, как вы пытались.
Восстановление sh → dash Без живой среды
Я думаю, что использование live CD/DVD/USB — это лучшее решение этой проблемы, потому что оно менее техническое, чем другие, и, скорее всего, без проблем преуспеет.
Но если вы хотите исправить это, просто загрузившись с жесткого диска, вы можете.
Это несколько менее долго и сложно, чем может показаться на первый взгляд, так как большая часть длины связана с (а) представлением двух альтернатив и (б) скриншотами.
Сначала выключите или перезагрузите компьютер (если можете).
Это относится ко всем решениям, а не только к тем, которые пытаются решить проблему при загрузке с внутреннего жесткого диска. Но это, вероятно, не большая проблема, если вы этого не сделали.
В зависимости от того, насколько сильно сломаны вещи, Ctrl + Alt + Delete может не завершиться успешно и перезагрузить вашу систему Ubuntu. (Обычно это происходит при нажатии в текстовой виртуальной консоли.)
Если Ctrl + Alt + Delete не работает, используйте:
- Alt + SysRq + R E I S U B для повторного вызова, или
- Alt + SysRq + R E I S U O для включения O ff.
Так как проблемы вызваны пропажей /bin/sh не должно вызывать сбоев глубоко в ядре, я думаю, что эти «магические методы SysRq» всегда будут работать в этой ситуации.
init=/bin/dash Должно сработать
Удерживайте нажатой клавишу Shift во время загрузки, чтобы открыть меню GRUB.
В целом он должен напоминать этот снимок экрана, но можно ожидать, что он будет выглядеть по-разному в зависимости от того, какую версию Ubuntu вы используете.
«Ubuntu» выбран по умолчанию. Оставьте этот выбор, но нажмите e, чтобы отредактировать его.
(Не волнуйтесь, ваши правки предназначены только для этой загрузки и не будут сохранены.)
Перейти к концу строки, которая начинается linux /boot/vmlinuz-. , (Вы можете использовать клавиши со стрелками и End, чтобы добраться до конца строки.)
Введите пробел, затем init=/bin/dash , Затем нажмите F10 для загрузки этой конфигурации.
Тебе следует увидеть:
Переустановите readwrite корневой файловой системы, чтобы вы могли вносить изменения в файлы на диске:
Эта команда и те, которые следуют за ней, (как правило) не будут производить никакого вывода, когда они будут выполнены. Это нормально.
Делать /bin/sh символическая ссылка на dash вместо zsh :
Если вам нравится, вы можете проверить, что sh символическая ссылка была правильно перенастроена путем запуска ls -l sh , который должен показать что-то вроде:
( sh -> dash это ключевая часть.)
Перезапустите с reboot -f , Ваша система должна быть исправлена.
Альтернативный способ: режим восстановления может работать. Может быть.
Для режима восстановления возможно функционирование без sh , Я не получил это, чтобы работать сам и на самом деле не знаю, будет ли это когда-нибудь — я получил Ubuntu для нормальной загрузки (без графического интерфейса) с sh как сломанная символическая ссылка, но это перестало работать для меня, прежде чем я попробовал режим восстановления (который не работал для меня тоже).
Для более надежного пути вернитесь к init=/bin/dash Должен работать. (Обратите внимание, что режим восстановления вообще не является ненадежным, просто нельзя ожидать, что он будет работать без /bin/sh .)
Если вы хотите попробовать режим восстановления:
Чтобы войти в режим восстановления, зажмите Shift во время загрузки, чтобы открыть меню GRUB.
Выберите Дополнительные параметры для Ubuntu.
В меню доступных ядер нажмите ↓, чтобы переместить выбор к записи, заканчивающейся на (recovery mode) и нажмите Enter .
Если это не сработает, вы можете перезагрузиться с помощью «magic SysRq», как описано выше. Если это сработает, вы увидите меню восстановления.
В Меню восстановления нажимайте ↓ несколько раз, пока
выбран. Нажмите Enter .
Выполните шаги 5 и 6 (и необязательный шаг 7, если хотите) из init=/bin/dash Должен работать метод выше.
Бежать reboot Заново.
Вы могли бы, вероятно, бежать exit , затем выберите Продолжить. Но вместо этого я предлагаю перезагрузку, чтобы система могла загружаться чисто с доступным и работоспособным sh с самого начала. (Если вам удалось войти в режим восстановления с sh как прерванная символическая ссылка, это еще не значит, что все работало просто по пути.)
Если вы заинтересованы в создании zsh предоставлять sh (или на самом деле, или просто теоретически), читайте дальше.
Проблемы с sh → zsh Процедура, которую вы пытались
Как общая процедура, cd /bin; rm sh; ln -s /bin/zsh /bin/sh (как предписано в вашей лабораторной работе) — плохой совет по крайней мере по двум причинам:
/bin/zsh иногда не существует, даже если zsh установлено. Это зависит от того, как оно было установлено и какая ОС используется. zsh большая, сложная оболочка, которая не очень часто используется в качестве /bin/sh и, таким образом, обычно не требуется быть доступным в однопользовательском режиме или каким-либо другим образом перед отдельным /usr раздел может быть установлен. Исполняемые файлы, которые не нужны в однопользовательском режиме, обычно находятся в подкаталогах /usr ,
Убунту zsh действительно обеспечивает /bin/sh , Но в других системах это может быть /usr/bin/zsh или даже /usr/local/bin/sh (как в моей системе FreeBSD, где он установлен через pkg ).
Мотивация этого упражнения, возможно, заключалась в том, чтобы укрепить систему против «Shellshock» (или других возможных ошибок разбора, возникающих в процессе bash принимает функции оболочки, переданные в переменных среды). Но это не очень подходящий курс действий для этой цели.
Хотя многие системы GNU/Linux, такие как Fedora, RHEL и Slackware, имеют bash предоставлять /bin/sh во многих других оболочке /bin/sh , Это включает в себя Ubuntu, который использует dash , подобно zsh , dash не уязвим для «Shellshock» и не импортирует определения функций из переменных среды (или вообще) с использованием какого-либо механизма, поэтому подобная ошибка вряд ли повлияет на него.
Поэтому, в зависимости от контекста, это упражнение в том виде, в котором оно было вам представлено, могло быть ошибочным. Вы можете обсудить этот вопрос со своим профессором. Возможно, учебная программа или способ ее передачи могут быть улучшены.
В зависимости (даже в большей степени) от контекста эти соображения могут также вызывать беспокойство:
Часто, sh является символической ссылкой, жесткой ссылкой или копией другой установленной оболочки. Но в некоторых системах, особенно в некоторых Unix-подобных системах, которые не являются системами GNU/Linux, sh может быть отдельным исполняемым файлом из всего остального. За исключением случаев, когда известно, что это не так, рекомендуется проверить, прежде чем rm это! mv В этом случае может быть более подходящим.
Упражнения, которые изменяют конфигурацию системы, особенно те, которые требуют выполнения команд от имени root для выполнения необычных действий, обычно не должны выполняться на рабочих машинах. Эксперименты и исследования являются практически необходимыми и ценными. Но когда они могут привести к поломке, их лучше всего выполнять на установках, непрерывное функционирование которых не является существенным для важной работы, которую необходимо выполнить.
Другими словами, это хорошо, чтобы проверить вещи перед их развертыванием «по-настоящему». (Виртуальные машины часто хороши для этого.)
Зб убунту действительно обеспечивает копию оболочки 3 в /bin так же как /usr/bin , Но по умолчанию в Ubuntu, zsh не установлен вообще.
Символические ссылки не требуют, чтобы их цели существовали:
поскольку /bin/sh является интерпретатором многих важных скриптов, используемых для загрузки системы и выполнения других задач, она должна существовать. Если сделать ссылку неработающей, система Ubuntu не будет работать.
Получение zsh предоставлять /bin/sh
Ubuntu предназначен для использования dash за sh и не разработан или не протестирован с zsh как sh в уме. Пожалуйста, не пытайтесь сделать это в системе, которая вам нужна для критических задач. Это строго для образования / развлечения, и должно быть сделано в некритической виртуальной машине или другой некритической системе. 2
Установить зш ; по умолчанию в Ubuntu он не установлен.
точка sh в zsh вместо dash запустив cd /bin; rm sh; ln -s /bin/zsh /bin/sh (как вы сделали).
проверить sh хорошая ссылка на zsh запустив file sh (или если вы больше не в /bin использовать file /bin/sh ).
Тебе следует увидеть sh: symbolic link to `zsh’ (или же /bin/sh: symbolic link to `zsh’ ).
Перезагрузитесь и посмотрите, работает ли Ubuntu.
Источник
Устранение неполадок при загрузке в Linux
В этой статье вы узнаете, что вы можете делать, когда при загрузке сервера возникают общие проблемы. В статье описываются общие подходы, которые помогают исправить некоторые из наиболее распространенных проблем, которые могут возникнуть при загрузке Linux.
Понимание процедуры загрузки в Linux RHEL7/CentOS
Чтобы исправить проблемы с загрузкой, важно хорошо понимать процедуру загрузки. Если проблемы возникают во время загрузки, вы должны понимать, на какой стадии процедуры загрузки возникает проблема, чтобы можно было выбрать соответствующий инструмент для устранения проблемы.
Следующие шаги суммируют, как процедура загрузки происходит в Linux.
1. Выполнение POST: машина включена. Из системного ПО, которым может быть UEFI или классический BIOS, выполняется самотестирование при включении питания (POST) и аппаратное обеспечение, необходимое для запуска инициализации системы.
2. Выбор загрузочного устройства: В загрузочной прошивке UEFI или в основной загрузочной записи находится загрузочное устройство.
3. Загрузка загрузчика: с загрузочного устройства находится загрузчик. На Red Hat/CentOS это обычно GRUB 2.
4. Загрузка ядра: Загрузчик может представить пользователю меню загрузки или может быть настроен на автоматический запуск Linux по умолчанию. Для загрузки Linux ядро загружается вместе с initramfs . Initramfs содержит модули ядра для всего оборудования, которое требуется для загрузки, а также начальные сценарии, необходимые для перехода к следующему этапу загрузки. На RHEL 7/CentOS initramfs содержит полную операционную систему (которая может использоваться для устранения неполадок).
5. Запуск /sbin/init: Как только ядро загружено в память, загружается первый из всех процессов, но все еще из initramfs . Это процесс /sbin/init , который связан с systemd . Демон udev также загружается для дальнейшей инициализации оборудования. Все это все еще происходит из образа initramfs .
6. Обработка initrd.target: процесс systemd выполняет все юниты из initrd.target , который подготавливает минимальную операционную среду, в которой корневая файловая система на диске монтируется в каталог /sysroot . На данный момент загружено достаточно, чтобы перейти к установке системы, которая была записана на жесткий диск.
7. Переключение на корневую файловую систему: система переключается на корневую файловую систему, которая находится на диске, и в этот момент может также загрузить процесс systemd с диска.
8. Запуск цели по умолчанию (default target): Systemd ищет цель по умолчанию для выполнения и запускает все свои юниты. В этом процессе отображается экран входа в систему, и пользователь может проходить аутентификацию. Обратите внимание, что приглашение к входу в систему может быть запрошено до успешной загрузки всех файлов модуля systemd . Таким образом, просмотр приглашения на вход в систему не обязательно означает, что сервер еще полностью функционирует.
На каждом из перечисленных этапов могут возникнуть проблемы из-за неправильной настройки или других проблем. Таблица суммирует, где настроена определенная фаза и что вы можете сделать, чтобы устранить неполадки, если что-то пойдет не так.
Фаза загрузки | ||
POST | Железо (F2, Esc, F10, или другая кнопка) | Замена железа |
Выбор загрузочного устройства | BIOS/UEFI конфигурация или загрузочное устройство | Замена железа или использовать восстановление системы |
Загрузка загрузчика (GRUB 2) | grub2-install и редактирует в /etc/defaults/grub | Приглашение GRUB для загрузки и изменения в /etc/defaults/grub , после чего следует выполнить grub2-mkconfig . |
Загрузка ядра | Редактирует конфигурацию GRUB и /etc/dracut.conf | Приглашение GRUB для загрузки и изменения в /etc/defaults/grub , после чего следует выполнить grub2-mkconfig . |
Запуск /sbin/init | Компиляция в initramfs | init = kernel аргумент загрузки, rd.break аргумент загрузки ядра |
Обработка initrd.target | Компиляция в initramfs | Обычно ничего не требуется |
Переключение на корневую файловую систему | /etc/fstab | /etc/fstab |
Запуск цели по умолчанию | /etc/systemd/system/default.target | Запустить rescue.target как аргумент при загрузке ядра |
Передача аргементов в GRUB 2 ядру во время загрузки
Если сервер не загружается нормально, приглашение загрузки GRUB предлагает удобный способ остановить процедуру загрузки и передать конкретные параметры ядру во время загрузки. В этой части вы узнаете, как получить доступ к приглашению к загрузке и как передать конкретные аргументы загрузки ядру во время загрузки.
Когда сервер загружается, вы кратко видите меню GRUB 2. Смотри быстро, потому что это будет длиться всего несколько секунд. В этом загрузочном меню вы можете ввести e, чтобы войти в режим, в котором вы можете редактировать команды, или c, чтобы ввести полную командную строку GRUB.
После передачи e в загрузочное меню GRUB вы увидите интерфейс, показанный на скриншоте ниже. В этом интерфейсе прокрутите вниз, чтобы найти раздел, начинающийся с linux16 /vmlinuz , за которым следует множество аргументов. Это строка, которая сообщает GRUB, как запустить ядро, и по умолчанию это выглядит так:
После ввода параметров загрузки, которые вы хотите использовать, нажмите Ctrl + X, чтобы запустить ядро с этими параметрами. Обратите внимание, что эти параметры используются только один раз и не являются постоянными. Чтобы сделать их постоянными, вы должны изменить содержимое файла конфигурации /etc/default/grub и использовать grub2-mkconfig -o /boot/grub2/grub.cfg , чтобы применить изменение.
Когда у вас возникли проблемы, у вас есть несколько вариантов (целей), которые вы можете ввести в приглашении загрузки GRUB:
■ rd.break Это останавливает процедуру загрузки, пока она еще находится в стадии initramfs .
Эта опция полезна, если у вас нет пароля root.
■ init=/bin/sh или init=/bin/bash Указывает, что оболочка должна быть запущена сразу после загрузки ядра и initrd . Это полезный вариант, но не лучший, потому что в некоторых случаях вы потеряете консольный доступ или пропустите другие функции.
■ systemd.unit=emergency.target Входит в минимальный режим, когда загружается минимальное количество системных юнитов.
Требуется пароль root.
Чтобы увидеть, что загружено только очень ограниченное количество файлов юнитов, вы можете ввести команду systemctl list-units .
■ systemd.unit=rescue.target Команда запускает еще несколько системных юнитов, чтобы привести вас в более полный рабочий режим. Требуется пароль root.
Чтобы увидеть, что загружено только очень ограниченное количество юнит-файлов, вы можете ввести команду systemctl list-units .
Запуск целей(targets) устранения неполадок в Linux
1. (Пере)загружаем Linux. Когда отобразиться меню GRUB, нажимаем e ;
2. Находим строку, которая начинается на linux16 /vmlinuz. В конце строки вводим systemd.unit=rescue.target и удаляем rhgb quit ;
3. Жмем Ctrl+X, чтобы начать загрузку с этими параметрами. Вводим пароль от root;
4. Вводим systemctl list-units и смотрим. Будут показаны все юнит-файлы, которые загружены в данный момент и соответственно загружена базовая системная среда;
5. Вводим systemctl show-environment . Видим переменные окружения в режиме rescue.target;
6. Перезагружаемся reboot ;
7. Когда отобразится меню GRUB, нажимаем e . Находим строку, которая начинается на linux16 /vmlinuz. В конце строки вводим systemd.unit=emergency.target и удаляем rhgb quit ;
8. Снова вводим пароль от root;
9. Система загрузилась в режиме emergency.target;
10. Вводим systemctl list-units и видим, что загрузился самый минимум из юнит-файлов.
Устранение неполадок с помощью загрузочного диска Linux
Еще один способ восстановления работоспособности Linux использовать образ операционки.
Если вам повезет меньше, вы увидите мигающий курсор в системе, которая вообще не загружается. Если это произойдет, вам нужен аварийный диск. Образ восстановления по умолчанию для Linux находится на установочном диске. При загрузке с установочного диска вы увидите пункт меню «Troubleshooting». Выберите этот пункт, чтобы получить доступ к параметрам, необходимым для ремонта машины.
Выбрав «Troubleshooting», появится выбор из 4-х опций.
- Install CentOS 7 in Basic Graphics Mode: эта опция переустанавливает систему. Не используйте её, если не хотите устранить неполадки в ситуации, когда обычная установка не работает и вам необходим базовый графический режим. Как правило, вам никогда не нужно использовать эту опцию для устранения неисправностей при установке.
- Rescue a CentOS System: это самая гибкая система спасения. Это должен быть первый вариант выбора при использовании аварийного диска.
- Run a Memory Test: если вы столкнулись с ошибками памяти, это позволяет пометить плохие микросхемы памяти, чтобы ваша машина могла нормально загружаться.
- Boot from local drive: здесь я думаю всё понятно.
После запуска «Rescue a CentOS System» обычно требуется включить полный доступ к установке на диске. Обычно аварийный диск обнаруживает вашу установку и монтирует ее в каталог /mnt/sysimage . Чтобы исправить доступ к файлам конфигурации и их расположениям по умолчанию, поскольку они должны быть доступны на диске, используйте команду chroot /mnt/sysimage , чтобы сделать содержимое этого каталога реальной рабочей средой. Если вы не используете команду chroot , многие утилиты не будут работать, потому что, если они записывают в файл конфигурации, это будет версия файла конфигурации, существующего на диске восстановления (и по этой причине только для чтения). Использование команды chroot гарантирует, что все пути к файлам конфигурации верны.
Пример использования «Rescue a CentOS System»
1. Перезагружаем сервер с установочным диском Centos 7. Загружаемся и выбираем «Troubleshooting«.
2. В меню траблшутинга выбираем «Rescue a CentOS System» и загружаемся.
3. Система восстановления теперь предлагает вам найти установленную систему Linux и смонтировать ее в /mnt/sysimage . Выберите номер 1, чтобы продолжить:
4. Если была найдена правильная установка CentOS, вам будет предложено, чтобы система была смонтирована в /mnt/sysimage . В этот момент вы можете дважды нажать Enter, чтобы получить доступ к оболочке восстановления.
5. Ваша система Linux на данный момент доступна через каталог /mnt/sysimage . Введите chroot /mnt/sysimage . На этом этапе у вас есть доступ к корневой файловой системе, и вы можете получить доступ ко всем инструментам, которые необходимы для восстановления доступа к вашей системе.
Переустановка GRUB с помощью аварийного диска
Одна из распространенных причин, по которой вам нужно запустить аварийный диск, заключается в том, что загрузчик GRUB 2 не работает. Если это произойдет, вам может понадобиться установить его снова. После того, как вы восстановили доступ к своему серверу с помощью аварийного диска, переустановить GRUB 2 несложно, и он состоит из двух этапов:
- Убедитесь, что вы поместили содержимое каталога /mnt/sysimage в текущую рабочую среду.
- Используйте команду grub2-install , а затем имя устройства, на котором вы хотите переустановить GRUB 2. Если это виртуальная машина KVM используйте команду grub2-install /dev/vda и на физическом сервере или виртуальная машина VMware, HyperV или Virtual Box, это grub2-install /dev/sda .
Повторное создание Initramfs с помощью аварийного диска
Иногда initramfs также может быть поврежден. Если это произойдет, вы не сможете загрузить свой сервер в нормальном рабочем режиме. Чтобы восстановить образ initramfs после загрузки в среду восстановления, вы можете использовать команду dracut . Если используется без аргументов, эта команда создает новый initramfs для загруженного в данный момент ядра.
Кроме того, вы можете использовать команду dracut с несколькими опциями для создания initramfs для конкретных сред ядра. Существует также файл конфигурации с именем /etc/dracut.conf , который можно использовать для включения определенных параметров при повторном создании initramfs .
Конфигурация dracut рассредоточена по разным местам:
- /usr/lib/dracut/dracut.conf.d/*.conf содержит системные файлы конфигурации по умолчанию.
- /etc/dracut.conf.d содержит пользовательские файлы конфигурации dracut.
- /etc/dracut.conf используется в качестве основного файла конфигурации.
Вот так выглядит по умолчанию файл /etc/dracut.conf :
Исправление общих проблем
В пределах статьи, подобной этой, невозможно рассмотреть все возможные проблемы, с которыми можно столкнуться при работе с Linux. Однако есть некоторые проблемы, которые встречаются чаще, чем другие. Ниже некоторые наиболее распространенные проблемы.
Переустановка GRUB 2
Если это произойдет, вам сначала нужно запустить систему восстановления и восстановить доступ к вашему серверу из системы восстановления. После монтирования файловых систем вашего сервера в /mnt/sysimage и использования chroot /mnt/sysimage , чтобы сделать смонтированный образ системы вашим корневым образом: Просто запустите grub2-install , чтобы установить GRUB 2 на желаемое установочное устройство. Но если вы находитесь на виртуальной машине KVM, запустите grub2-install /dev/vda , а если вы находитесь на физическом диске, запустите grub2-install /dev/sda .
Исправление Initramfs
В редких случаях может случиться так, что initramfs будет поврежден. Если вы тщательно проанализируете процедуру загрузки, вы узнаете, что у вас есть проблема с initramfs , потому что вы никогда не увидите, как корневая файловая система монтируется в корневой каталог, и при этом вы не увидите запуска каких-либо системных модулей. Если вы подозреваете, что у вас есть проблема с initramfs , ее легко создать заново. Чтобы воссоздать его, используя все настройки по умолчанию (что в большинстве случаев нормально), вы можете просто запустить команду dracut —force . (Без —force команда откажется перезаписать ваши существующие initramfs .)
При запуске команды dracut вы можете использовать файл конфигурации /etc/dracut.conf , чтобы указать, что именно записывается в initramfs . В этом файле конфигурации вы можете увидеть такие параметры, как lvmconf = «no» , которые можно использовать для включения или выключения определенных функций. Используйте эти параметры, чтобы убедиться, что у вас есть все необходимые функции в initramfs .
Восстановление после проблем с файловой системой
Если вы неправильно настроили монтирование файловой системы, процедура загрузки может просто закончиться сообщением «Give root password for maintenance.». Это сообщение, в частности, генерируется командой fsck , которая пытается проверить целостность файла системы в /etc/fstab при загрузке. Если fsck терпит неудачу, требуется ручное вмешательство, которое может привести к этому сообщению во время загрузки. Убедитесь, что вы знаете, что делать, когда это происходит с вами!
Если упомянуто устройство, которого нет, или если в UUID, который используется для монтирования устройства, есть ошибка, например, systemd сначала ожидает, вернется ли устройство само по себе. Если этого не происходит, выдается сообщение «Give root password for maintenance.». Если это произойдет, вы должны сначала ввести пароль root. Затем вы можете ввести journalctl -xb , как предлагается, чтобы увидеть, записываются ли в журнал соответствующие сообщения, содержащие информацию о том, что не так. Если проблема ориентирована на файловую систему, введите mount -o remount, rw / , чтобы убедиться, что корневая файловая система смонтирована только для чтения, проанализировать, что не так в файле /etc/fstab , и исправить это.
Если вы видите подобный текст, то у вас есть проблема с /etc/fstab :
В этой статье вы узнали, как устранить неполадки при загрузке CentOS. Так же вы узнали, что происходит при загрузке сервера и в какие конкретные моменты вы можете вмешиваться, чтобы исправить неисправности. Вы также узнали, что делать в некоторых конкретных случаях.
Источник