Нижеприведенная последовательность действий позволяет перезагружаться в другую операционную систему после перехода в гибернацию (suspend-to-disk).
Работа данного решения проверена на openSUSE-11.4, openSUSE-12.1 и openSUSE-12.2.
Скорее всего данная последовательность действий может быть применена для других дистрибутивов Linux.
Открываем на редактирование файл
/usr/lib/pm-utils/sleep.d/99Zgrub (действие нужно производить от имени суперпользователя):
sudo $EDITOR /usr/lib/pm-utils/sleep.d/99Zgrub
Переходим в конец файла и находим следующие строки:
###### main()
if [ "$1" = hibernate ] || [ "$1" = suspend -a "$2" = suspend_hybrid ]; then
prepare-grub
fi
if [ "$1" = thaw ] || [ "$1" = resume -a "$2" = suspend_hybrid ]; then
grub-once-restore
fi
Меняем файл, чтобы его содержимое выглядело так:
###### main()
if [ "$1" = hibernate ] || [ "$1" = suspend -a "$2" = suspend_hybrid ]; then
# prepare-grub
fi
if [ "$1" = thaw ] || [ "$1" = resume -a "$2" = suspend_hybrid ]; then
# grub-once-restore
fi
Источник:
Boot another OS after hibernate (workaround).