Команда update-grub не найдена

8

Я пытаюсь обновить конфигурацию Grub на сервере Ubuntu 12.04.3, чтобы включить GRUB_RECORDFAIL_TIMEOUTпеременную, как описано здесь: https://help.ubuntu.com/community/Grub2 .

Процедура говорит «запусти update-grubпосле внесения изменений, но, похоже, это не в моей системе». Как я могу установить это?

Энди Арисменди
источник

Ответы:

11

Я бы переустановил grub, выполнив следующую команду:

sudo apt-get update; sudo apt-get install --reinstall grub
jhilmer
источник
1
я потерял update-grub после do-release-upgrade. Это сработало для меня.
boredcoding
2
Я также сделал do_release_upgrade, но не знаю, потерял ли я его после этого. если я запускаю приведенную выше команду, это то, что я получаю: Package grub is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: grub2-common
nurp
17

Команда update-grubбыла создана для упрощения - это просто скрипт оболочки /usr/sbin/:

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

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

sudo nano /usr/sbin/update-grub

Сохраните с помощью Ctrl+ Oи выйдите с помощью Ctrl+ X.

Затем запустите эти:

sudo chown root:root /usr/sbin/update-grub
sudo chmod 755 /usr/sbin/update-grub

И теперь вы должны быть в состоянии бежать update-grub. :-)

Уилф
источник
Спасибо, так как он отсутствовал, я переустановил grub. Не уверен, что что-то еще могло пропасть.
Энди Арисменди
2
Это спасение жизни, если переустановка grub невозможна из-за поломки системы.
Plok
Да, действительно, спасатель. Команда update-grub была у меня в системе, но выдает ошибку / cow, эта не выдает ошибок.
Quidam
Знаете ли вы, как восстановить grub.cfg из живого сеанса?
Quidam
@Quidam askubuntu.com/q/145241/178596 . Также такие инструменты, как Boot Repair AFAIK, могут это сделать. Режим восстановления, если вы можете получить к нему доступ, также является опцией (переход к приглашению корневой оболочки, который может запускать команды после монтирования разделов)
Уилф,
0

вам нужно запустить его с корневыми привилегиями, запустите: sudo update-grub. Если вы не удалили его, его там в системе.

Бхавин Доши
источник
2
Это определенно пропало, не знаю, как это пропало. Переустановил личинку, вернул ее обратно.
Энди Арисменди