S/Key идеален для этого сценария, но необходимо сделать немного больше работы.
Создайте специальные счета на каждый чрезвычайный конверт. Те учетные записи добавляются к sudoers и могут принять корень. Это дает Вам журнал аудита, который Вы должны иметь (одна учетная запись на конверт, один конверт на пользователя) и гибкость, в которой Вы нуждаетесь.
После чрезвычайной ситуации администратор должен возвратить конверт для следующего пароля, который дает Вам журнал аудита.
Ваше предыдущее обновление, вероятно, не обновило личинку. Если Вы получили новое ядро как часть обновления, личинка не может находить, что что-то загружается, особенно если старое ядро было удалено как часть обновления. (Я не знаю, делает ли Ubuntu это; я знаю, что RH-семейство не делает.)
Что я обычно делаю, когда Grub становится недовольным (предположение, что мой grub.conf настраивается правильно, и ядро находится в правильном месте):
rescue# grub
> device (hd0) /dev/sda
> root (hd0,0)
> setup (hd0)
(blah blah blah)
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2
/boot/grub/grub.conf"… succeeded
Done.
> quit
Затем синхронизация и перезагрузка. Разделы не должны быть смонтированы, чтобы это работало.
Вещи знать, не делали ли Вы никогда этого прежде:
Это должно жаловаться, не может ли это найти то, что это ищет и не должно быть пагубно вредно (это не должно поливать из шланга Вас немного тяжелее, чем Вы политы из шланга теперь). Обычно это означает, что любой Ваш диск не может быть найден (можно протестировать это путем монтирования его), или Вы указали неправильный раздел как "корневой" объем.