Centos 7 startx не запускается

Обновлено: 04.07.2024

Я пытаюсь запустить мой графический интерфейс на своей машине с CentOS, но, честно говоря, я не знаю команд linux, и у Google не было четкого ответа.

Я предполагаю, что ssh -X и startx одинаковы, но, возможно, нет; SSH-X запускается нормально. однако startx выдает огромную ошибку. Разве они не одинаковы?

Кроме того, какова команда для запуска gnome в CentOS/ или других серверах Linux / Unix? Что насчет kde? Я попробовал startkde, и он запускается, но я не могу открыть папки или что-то еще (рабочий стол в основном не работает)

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

ssh -X должен использоваться для запуска 1-2 программ, и я понятия не имею, как он работает (он не запускает x-сервер локально, не так ли? тогда в чем разница между startx и ssh -X?).

startx должен использоваться для запуска графического интерфейса, и он работает, запуская xserver на моей локальной машине.

startx должен использоваться на уровне запуска 3. Будет ли startx генерировать ошибки при попытке запуска на уровне запуска 5? вот почему я не могу использовать startx, так как в настоящее время я нахожусь на уровне выполнения 5.

если я на пятом уровне запуска, я должен использовать xdm, за которым следует kdm/gdm (кстати, xdm и gdm ничего не делают на моем CentOS 5.3, и kdm говорит что-то о том, что только root хотел бы использовать kdm. Мой сервер сейчас хотя на уровне выполнения 5 и gnome-session, и startkde вызывают соответствующие рабочие столы, поэтому эти команды тоже работают.

правильно ли это понимание и эти шаги?

3 ответа 3

ssh -X - это не то же самое, что startx . SSH - это программа, используемая для подключения к другому компьютеру с помощью оболочки. X - программа графического отображения.

SSH можно использовать в качестве интерактивной командной оболочки, а также для переадресации портов. ssh -X перенаправляет порт локального дисплея X на удаленный компьютер и обычно устанавливает удаленную среду, чтобы при удаленном запуске графической программы он отображался локально. Обычно таким способом вы не запускаете весь рабочий стол, такой как KDE; вы просто запустите одну или две программы.

startx - это команда, используемая для локального запуска X-сервера при входе в консоль сервера, то есть на физическую клавиатуру и экран. Большинство людей избегают использовать startx, потому что это может быть угрозой безопасности, если вы оставите свой компьютер без присмотра. При запуске X создается вторая виртуальная консоль (первой была текстовая консоль, в которую вы вошли), и кто-то может переключиться обратно на текстовую консоль (CTRL-ALT-F1 или что-то подобное) и нажать CTRL-C, чтобы убить вашу консоль X, и затем они вошли как вы в вашей текстовой консоли. Но если вы не оставляете компьютер без присмотра, то может быть целесообразно использовать его иногда.

Обычный способ запустить полноценный графический рабочий стол в системе - использовать менеджер входа в систему, такой как XDM (или GDM/KDM для Gnome/KDE). На RedHat и в друзьях это обычно достигается переключением на уровень запуска 5. В командной строке вы можете набрать telinit 5 для временного переключения или отредактировать /etc/inittab чтобы установить уровень запуска по умолчанию (типичные варианты: 3 - нет X - и 5 - с X).

Что касается запуска GNOME и KDE, по умолчанию при запуске startx CentOS должен запускать один из них (возможно, GNOME). Существуют файлы конфигурации, которые вы можете изменить, чтобы переопределить настройки по умолчанию.

Если вы хотите получить удаленный доступ к полной среде рабочего стола, вам нужно настроить XDM для удаленного доступа или использовать VNC или другой протокол удаленного рабочего стола. Для полного рабочего стола я бы порекомендовал что-то вроде VNC, потому что таким образом ваша сессия остается открытой, когда вы отключены. Но вы должны учитывать, что типичный X или VNC по сети не шифруется, и вы можете настроить туннель переадресации ssh-портов для шифрования данных. Если вы просто запустите одно или два приложения с помощью ssh -X оно будет уже зашифровано.

Какой тип клиентского компьютера вы используете для подключения к этому серверу? И для ssh -X и для XDM требуется локальный дисплей X, а для чего-то вроде VNC - нет.

Редактировать: Если у вас есть X-сервер на вашем локальном компьютере, вы можете использовать ssh -X для подключения к компьютеру CentOS и запустить программу, такую как firefox, которая будет отображаться в macbook. Эта ссылка содержит информацию об использовании X в MacOS X. По умолчанию X-сервер Apple показывает каждое приложение в своем собственном окне, которое идеально подходит для запуска нескольких приложений с использованием метода ssh -X . Однако, если вы хотите запустить полностью полноэкранную графическую среду, вам необходимо подключить локальный X-сервер к XDM CentOS; Затем вы увидите (на своем MacBook) экран, похожий на тот, который вы увидели бы, если бы вы вошли в локальную консоль CentOS. Это в основном использует ваш Macbook как тупой терминал: только дисплей, клавиатура и мышь используются локально. Программы выполняются на машине CentOS. К сожалению, я не могу помочь вам настроить тупой терминал, так как прошло около 10 лет с тех пор, как я это делал в последний раз.

Если у вас нет X-сервера на локальном компьютере, вы можете настроить что-то вроде VNC (подробнее о продуктах для удаленного рабочего стола см. Здесь), чтобы сеанс X работал на сервере, на его физическом дисплее, но мог получить удаленный доступ с компьютера с помощью соответствующего клиента удаленного рабочего стола. Например, в KDE есть приложение для общего доступа к рабочему столу, которое предоставляет запущенный сеанс KDE через VNC. Вы можете войти на сервер CentOS (через XDM или text-console + startx), запустить общий доступ к рабочему столу, а затем подключиться к нему с помощью клиента VNC на Macbook.

Добрый день. Очередная проблема в использовании Centos 7. Было все норм, но перестал запускаться рабочий стол. Тоесть графическое окружение KDE Plasma стартонуло (стандартная анимированная картинка),но элементов стола нет вообще. Из того ,что я знаю, ввел цтрл альт ф2,там под рутом введ startx,но загружается какой то левый раб стол.Куда делся мой?Подскажите кто знает. Спасибо.

Нет значков на рабочем столе, а панель есть? Или нет даже панели?

По умолчанию в KDE нужно настраивать чтобы на рабочем столе отображались файлы или иконки.

под рутом введ startx,но загружается какой то левый раб стол.Куда делся мой?

Начни с самого баналоного, проверь наличие свободного места на разделе.


Чувак, ответ на поверхности: под root действительно запускается рабочий стол не от его обычного пользователя, а рабочий стол root.

Ответ очевиден, для рута есть резевр, поэтому запускается.

andytux ★★ ( 19.08.21 09:26:01 )
Последнее исправление: andytux 19.08.21 09:26:55 (всего исправлений: 1)


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

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

центос рут исп 17% сда1 исп 28% центос хоум исп 3%

все остальное тоже мало использовано

место есть, делал разметку при установке автоматическую


Попробуй тогда создать пользователя и зайти под ним, просто чтобы проверить, проблема на уровне ОС или только у твоего пользователя

от root, потом попробуй зайти под ним, как обычно ходил под своим.

черный экран с курсором,причем теперь цтрл альт ф2 не работает,только на цтрл альт L откликается- блокирует пк…


Потому что ты уже на tty2, попробуй -F3 и так далее.


Комбинация Ctrl+Alt+F(1-7) переключает меж собой tty1-tty7, при этом на 7 ранее традиционно жило GUI, но сейчас оно чаще на 1 или 2, хотя руками можно запустить где угодно. Вот в чём смысл этих команд. Ты через startx запустил GUI на tty2.

Vsevolod-linuxoid ★★★★★ ( 19.08.21 09:55:50 )
Последнее исправление: Vsevolod-linuxoid 19.08.21 09:56:24 (всего исправлений: 1)

под новым юзером пустил меня.норм рабочий стол папки настраиваются.

под старым - не хочет

замечено,что такое стало после экспериментов с темами оформления. Еще что-либо можете подсказать,как запустить старый стол?


А, ну мы всё выяснили. Ты заигрался и поломал KDE4 у своего пользователя.

Теперь открой эмулятор терминала, введи там

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

пишет - указанная цель не является каталогом…

пишет - указанная цель .kde4.old не является каталогом…

убрал пробелы ненужные и теперь пишет mv:не удалось выполнить stat для home/user/.kde4 нет такого файла или каталога


Кончай пересказывать, копипасть. Покажи вывод


смотри,я просто переключился на user и вбил команду.Терминал ничего не сказал.Просто выполнил.Ребутнул ПК,стол появился,значки из новой темы,а панель классическая,по умолчанию,двойной клик мыши тоже пропал.Это значит из-за химии с темами все пропадало?У некоторых папок значки с вопросиками стали,некоторые нормальные.Есть советы как стабилизировать Centos 7 в принципе,чтобы однажды не повторилось?Без тем не красиво) Спасибо,вроде помогло.


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

Ты впервые пользуешься командной строкой, что тебя это удивляет?

стол появился,значки из новой темы,а панель классическая,по умолчанию,двойной клик мыши тоже пропал.Это значит из-за химии с темами все пропадало?У некоторых папок значки с вопросиками стали,некоторые нормальные.

Я не знаю, что именно ты делал, но ты явно сломал настройки KDE4 у себя. Если бы ты поломал что-то на уровне ОС в целом, нового пользователя бы это тоже затронуло, а этого не наблюдается.

Есть советы как стабилизировать Centos 7 в принципе,чтобы однажды не повторилось?

Проблема не в ОС, а в тебе. Она работает как и должна, это ты её ломаешь. Пока повезло — только настройки GUI у себя сломал, мог и до конца.

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

Я недавно установил CentOS 7 (минимальная установка без графического интерфейса) и теперь хочу установить в нем среду графического интерфейса.

Как я могу установить Desktop Environments на ранее установленную CentOS7 без переустановки?

1. Установка GNOME-Desktop:

Установите GNOME Desktop Environment здесь.

Введите команду как показано ниже после завершения установки:

Запустится среда рабочего стола GNOME. Для первой загрузки запускается первоначальная настройка, и вам необходимо настроить ее в первый раз.

  • Сначала выберите язык системы.
  • Выберите тип клавиатуры.
  • Добавьте онлайн-аккаунты, если хотите.
  • Наконец, нажмите «Начать использовать CentOS Linux».

GNOME Desktop Environments запускается следующим образом.

Среда рабочего стола GNOME: начальный экран

Как использовать GNOME Shell?

Стандартный рабочий стол GNOME CentOS 7 начинается с классического режима, но если вы хотите использовать GNOME Shell, установите его следующим образом:

Вариант A: если вы запускаете GNOME с startx , установите его следующим образом.

Вариант B: установить графический вход в систему systemctl set-default graphical.target и перезагрузить систему. После запуска системы

  1. Нажмите на кнопку, расположенную рядом с кнопкой «Войти».
  2. Выберите «GNOME» в списке. (По умолчанию используется GNOME Classic)
  3. Нажмите «Войти» и войдите в GNOME Shell.

Экран входа в систему с выбранным GNOME

  1. Оболочка GNOME запускается следующим образом:

Среда рабочего стола GNOME - пример экрана

2. Установка KDE-Desktop:

Установите KDE Desktop Environment здесь.

Введите команду как показано ниже после завершения установки:

Окружение рабочего стола KDE: пример стартового экрана

3. Установка Cinnamon Desktop Environment:

Установите Cinnamon Desktop Environment здесь.

Сначала добавьте EPEL-репозиторий (EPEL-репозиторий, предоставляемый из проекта Fedora.)
Дополнительные пакеты для Enterprise Linux (EPEL)

Как добавить EPEL репозиторий?

А теперь установите Cinnamon Desktop Environment из репозитория EPEL:

Введите команду как показано ниже после завершения установки:

Cinnamon Desktop Environment запустится. Для первой загрузки запускается первоначальная настройка, и вам необходимо настроить ее в первый раз.

  • Сначала выберите язык системы.
  • Выберите тип клавиатуры.
  • Добавьте онлайн-аккаунты, если хотите.
  • Наконец, нажмите «Начать использовать CentOS Linux».

Cinnamon Desktop Environment запускается следующим образом.

Cinnamon Desktop Environment: пример стартового экрана

4. Установка MATE Desktop Environment:

Установите MATE Desktop Environment здесь (вам нужно будет добавить репозиторий EPEL, как описано выше).

Введите команду как показано ниже после завершения установки:

MATE Desktop Environment: пример стартового экрана

5. Установка среды рабочего стола Xfce:

Установите среду рабочего стола Xfce здесь (вам нужно будет добавить репозиторий EPEL, как описано выше при установке "Cinnamon").

Введите команду как показано ниже после завершения установки:

Окружение рабочего стола Xfce: пример начального экрана

Я скачал 7-гигабайтную версию CentOS 7 и установил ее на VirtualBox, и, что удивительно, графического интерфейса нет. 7 ГБ по сравнению с 1 ГБ в Ubuntu с графическим интерфейсом. И шаг 1 в ответ дал мне ошибку «Не удается найти действительный baseurl для репо» . ну да ладно . PS Я только что обнаружил, что во время установки по умолчанию установлено значение "Минимальная установка" - вам просто нужно изменить это в GNOME или что-то еще @ 太極 者 無極 而 生 обычно ошибка базового URL возникает из-за того, что сетевой клиент не работает. Если ваша сеть виртуальных ящиков настроена правильно, просто дайте команду «dhclient» @KasiyA, не могли бы вы обновить свой ответ, указав, что он dhclient работает с виртуальной коробкой, если сетевой клиент не запущен . и yum groupinstall X11 необходим, по крайней мере, для установки XFCE . Ваш ответ очень помог, спасибо :) Я попытался установить GNOME , но он застрял после того, как gnome-session-is-accelerated: llvmpipe detected. для startx . Я использую CentOS 7 для установки epel мне нужно было yum install epel-release

Вместо того, чтобы использовать взлом startx команды в .xinitrc файле, вероятно, лучше сказать Systemd, что вы хотите загрузить графический интерфейс с терминалом.

Для этого просто сделайте следующее:

Затем просто перезагрузите компьютер.

Последний бит будет ассоциировать цель уровня запуска 5 как значение по умолчанию для Systemd.

Делаем это с Systemd

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

Понимание процедуры загрузки в 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 . Таким образом, просмотр приглашения на вход в систему не обязательно означает, что сервер еще полностью функционирует.
На каждом из перечисленных этапов могут возникнуть проблемы из-за неправильной настройки или других проблем. Таблица суммирует, где настроена определенная фаза и что вы можете сделать, чтобы устранить неполадки, если что-то пойдет не так.

Передача аргементов в 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=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". Выберите этот пункт, чтобы получить доступ к параметрам, необходимым для ремонта машины.

  • Install CentOS 7 in Basic Graphics Mode: эта опция переустанавливает систему. Не используйте её, если не хотите устранить неполадки в ситуации, когда обычная установка не работает и вам необходим базовый графический режим. Как правило, вам никогда не нужно использовать эту опцию для устранения неисправностей при установке.
  • Rescue a CentOS System: это самая гибкая система спасения. Это должен быть первый вариант выбора при использовании аварийного диска.
  • Run a Memory Test: если вы столкнулись с ошибками памяти, это позволяет пометить плохие микросхемы памяти, чтобы ваша машина могла нормально загружаться.
  • Boot from local drive: здесь я думаю всё понятно.

Пример использования "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 несложно, и он состоит из двух этапов:

  1. Убедитесь, что вы поместили содержимое каталога /mnt/sysimage в текущую рабочую среду.
  2. Используйте команду 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 .

  • /usr/lib/dracut/dracut.conf.d/*.conf содержит системные файлы конфигурации по умолчанию.
  • /etc/dracut.conf.d содержит пользовательские файлы конфигурации dracut.
  • /etc/dracut.conf используется в качестве основного файла конфигурации.

Исправление общих проблем

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

Переустановка GRUB 2

Код загрузчика не исчезает просто так, но иногда может случиться, что загрузочный код GRUB 2 будет поврежден. В этом случае вам лучше знать, как переустановить GRUB 2. Точный подход зависит от того, находится ли ваш сервер в загрузочном состоянии. Если это так, то довольно просто переустановить GRUB 2. Просто введите grub2-install и имя устройства, на которое вы хотите его установить. У команды есть много различных опций для точной настройки того, что именно будет установлено, но вам, вероятно, они не понадобятся, потому что по умолчанию команда устанавливает все необходимое, чтобы ваша система снова загрузилась. Становится немного сложнее, если ваш сервер не загружается.

Если это произойдет, вам сначала нужно запустить систему восстановления и восстановить доступ к вашему серверу из системы восстановления. После монтирования файловых систем вашего сервера в /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 .

Восстановление после проблем с файловой системой

Читайте также: