Назад | Перейти на главную страницу

Обновить Grub в другой файловой системе

Мой облачный сервер, размещенный в Rackspace, перестал работать после того, как я установил какое-то приложение с графическим интерфейсом в Ubuntu 12.04, которое автоматически установило его пакет зависимостей ubuntu-desktop (или какой-либо другой аналогичный (GUI) пакет).

Собственно, это произошло 2 недели назад.

Но сегодня я впервые перезагружаю свой сервер после того, как был установлен ubuntu-desktop (или аналогичный пакет), и я понял, что веб-сервер не может загрузиться, так как у него недостаточно оперативной памяти для загрузки графического интерфейса (и у него нет графическое устройство тоже) - Он зависает после печати «Загрузка экрана загрузки» (или чего-то подобного) в терминал.

Чтобы исправить это, у меня есть доступ к режиму восстановления в Rackspace, где я могу получить доступ к файловой системе моего сервера, фактически не загружая его, поэтому я могу настраивать конфигурации здесь и там, прежде чем включать его.

Я провел небольшое исследование и увидел, что могу принудительно изменить конфигурацию Grub в консольном режиме с GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск" на GRUB_CMDLINE_LINUX_DEFAULT = "text". Но это изменение требует запуска update-grub чего я не могу, потому что я могу получить доступ только к файловой системе сервера, но не могу войти в нее для выполнения команд.

Вы понимаете мою проблему? Я достаточно ясно? Извините за плохой английский, я все еще учу его.

Итак, вот мой вопрос:

Как я могу обновить grub, не входя на сервер? Это вообще возможно? Если нет, есть ли другой способ принудительно загрузиться в текстовом режиме, только настроив файлы конфигурации и, таким образом, не имея необходимости входить на сервер?

Спасибо.

Ура!

Я заставил его работать, вручную отредактировав /boot/grub/grub.cfg в смонтированной файловой системе и заменив единственное вхождение «тихий всплеск» на «текст». Туда, update-grub был не нужен.

Это не изящное решение, но оно сработало.

Теперь я снова могу нормально подключаться к моему серверу через SSH. Я позже побегу update-grub так что я могу убедиться, что это ручное редактирование файла не будет иметь побочных эффектов.

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

Хммм ..... Является ли режим восстановления однопользовательской корневой оболочкой Linux? Если да, попробуйте запустить программу из смонтированной файловой системы. Я предполагаю, что ваш смонтированный диск содержит / boot область.

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

В худшем случае обратитесь в Rackspace за советом.

Можете ли вы войти в систему в однопользовательском режиме? Это должно прервать попытку графического интерфейса и дать вам возможность отредактировать grub.conf и запустить update-grub.

Также проверьте свой /etc/inittab, если ваша ОС использует эту функцию. Вы можете установить для уровня запуска по умолчанию значение, отличное от GUI. Видеть Раздел 10.4.2 Руководства по установке RHEL6 для одного примера.

Удачи!