LINUX.ORG.RU

Виснет grub-mkconfig

 ,


0

2

Виснет grub-mkconfig. Arch Linux, все внешние диски отключены. Есть 2 HDD (Sata) и 2 SDD (Sata). В общей сложности около 12 логических дисков. На трех из них стоит linux, на одном Win.

Ждал полчаса, ничего не дождался — срубил. Никаких сообщений об ошибках не было.

Как лучше поступить в этом случае? В общем то, я готов сам заполнить grub.cfg, но делать это не рекомендуется, так как он может перегенириться при обновлении grub.

Есть /etc/grub.d/40_custom, куда я могу добавить то, что мне надо, но чтобы содержимое 40_custom переползло в grub.cfg надо запустить grub-mkconfig, а он виснет (с чего собственно все и началось).

И еще один вопрос: если придет обновление grub – оно у меня поставится? Ну, просто я подозреваю, что в ходе обновления grub запустится все тот же grub-mkconfig и все опять повиснет. Что я получу в этом случае ?

★★

Попробуй поубирать скрипты из /etc/grub.d, чтобы понять, что конкретно виснет. Потом разбираться с самим скриптом — прочесть, понять, что он делает, проделать те же действия вручную... В общем, типично подебагать.

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

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

Посмотрите в ps, какой процесс-потомок grub-mkconfig находится в состоянии D (?). Обычно скрипты в grub.d пишут много отладочной информации в syslog, что там написано?. Попробуйте запускать их руками через bash -x.

AITap ★★★★★
()

Сперва делаешь ${EDITOR} $(which grub2-mkconfig). Находишь строчку `«$i»'. Меняешь её `sh -x «$i»'. И вывод `sh -x $(which grub2-mkconfig)' в студию.

kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

И да, подразумевается, что все твои файлы в /etc/grub.d — шелловые скрипты.

kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

${EDITOR} $(which grub2-mkconfig)

Эта штука grub.cfg на экран генерит? Просто у меня оно пролетело за 4 сек, без ошибок и $i в выводе нет.

lemas ★★
() автор топика
Ответ на: комментарий от kirk_johnson

Да, проблема исчезла. Почему - не знаю, ничего не трогал. Если повторится - вернусь к этому совету.

lemas ★★
() автор топика
Ответ на: комментарий от lemas

Оу. Смотри. ${EDITOR} — твой редактор (моем случае vim). Вызов $(which grub2-mkconfig) даст тебе полный путь до grub2-mkconfig (в моем случае /usr/bin/grub2-mkconfig). После чего ты правишь скрипт таким образом, чтобы все вызываемые подпрограммы выводили в stdout/stderr весь процесс исполнения (в том числе shell'овые подстановки). Это даст практически исчерпывающую информацию для диагностики.

kirk_johnson ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.