Вопрос или проблема
Когда я запускаю sudo update-grub
, я получаю следующую ошибку:
/usr/sbin/grub-mkconfig: 2: /etc/default/grub: /boot/grub/grub.cfg.: не найдено
Я проверил и могу подтвердить, что файл /boot/grub/grub.cfg
существует и не пуст.
Я довольно нов в Linux и буду признателен за вашу помощь.
Пожалуйста, смотрите ниже выводы.
sed -n '2 p' /usr/sbin/grub-mkconfig
set -e
cat /etc/default/grub
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="video=hyperv_fb:1920x1080"
GRUB_CMDLINE_LINUX=""
Похоже, у вас есть правильные файлы на вашем системе.
“update grub” – это конкретный для Ubuntu скрипт, который вызывает grub-mkconfig. Я не могу вам с этим помочь…
Но вы можете попробовать без скрипта. grub-mkconfig начнётся с /etc/default/grub, чтобы сделать вашу систему загрузочной. Во время загрузки grub смотрит в файл grub.cfg, чтобы найти другие операционные системы.
Сначала создайте резервную копию вашего загрузочного файла:
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
Затем выполните:
sudo grub-mkconfig -o /boot/grub/grub.cfg
И посмотрите, как это пройдет…
Я не работаю на машине с Ubuntu, но мой grub-mkconfig находится в папке /bin, а не sbin, как предполагает ваше сообщение об ошибке. Вы можете узнать, выполнив этот код
which grub-mkconfig
Ответ или решение
Когда вы запускаете команду sudo update-grub
и получаете сообщение об ошибке, подобное:
/usr/sbin/grub-mkconfig: 2: /etc/default/grub: /boot/grub/grub.cfg.: not found
это указывает на то, что происходит проблема с файлом конфигурации GRUB. Давайте разберем ситуацию подробнее и найдем решение.
Анализ проблемы
-
Ошибка: Сообщение об ошибке указывает на то, что скрипт
grub-mkconfig
не может найти файл или сталкивается с неверно настроенной конфигурацией. -
Содержимое файла
/etc/default/grub
:- Ваш файл выглядит корректно на первый взгляд, но убедитесь, что строки не содержат лишних символов или пробелов, которые могут вызвать проблемы.
-
Файл
/boot/grub/grub.cfg
:- Вы подтверждаете, что файл существует и не пустой, что хорошо, но важно убедиться, что его структура корректна.
Решение проблемы
-
Создание резервной копии:
Перед внесением каких-либо изменений, всегда рекомендуется создать резервную копию файла конфигурации GRUB:sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
-
Запуск
grub-mkconfig
вручную:
Попробуйте сгенерировать новый файл конфигурации GRUB непосредственно через командуgrub-mkconfig
. Это можно сделать следующим образом:sudo grub-mkconfig -o /boot/grub/grub.cfg
Эта команда напрямую вызывает
grub-mkconfig
, минуя скриптupdate-grub
, что может помочь избежать проблемы. -
Проверка исполняемого файла:
Убедитесь, чтоgrub-mkconfig
правильно установлен на вашей системе и доступен по ожидаемому пути. Используйте команду:which grub-mkconfig
Это покажет вам путь к исполняемому файлу, чтобы вы могли убедиться, что все корректно настроено.
Дополнительные шаги
-
Если ошибка все еще возникает, откройте файл
/etc/default/grub
в текстовом редакторе и внимательно проверьте настройки на наличие синтаксических ошибок. -
Убедитесь, что все зависимости GRUB установлены и корректно работают. Вы можете использовать следующие команды для проверки:
sudo apt update sudo apt install --reinstall grub2
-
Если вы используете UEFI, проверьте, что ваш UEFI-системный разделе настроен правильно, а файлы GRUB находятся в соответствующих директориях.
Заключение
С помощью этих шагов вы должны быть в состоянии устранить ошибку, возникающую при запуске sudo update-grub
. Всегда помните о важности создания резервных копий перед внесением изменений в систему. Если после выполнения указанных шагов проблема сохраняется, возможно, стоит обратиться к сообществу поддержки Ubuntu или на специализированные форумы для более детального анализа вашей конфигурации.