Случилась однажды неприятность: windows 7 перестала уходить в режим гибернации. Монитор гас на три секунды, затем опять загорался и ОС продолжала работать, как ни в чем не бывало. Режим гибернации важен для меня, так как у меня постоянно запущена куча программ, начиная от банальных торрентов, DC, IRC и занканчивая виртуальными машинами с серверами, и запускать все это богатство при каждом старте системы очень не хотелось. Это все равно что в ЦУПе, готовить шаттл к запуску, но не так весело, а весьма и весьма уныло.

Первым делом я попробовал включить гибернацию из командной строки. Нажимаем клавиши start + r пишем cmd, запускается командная строка. В ней пишем команду powercfg /h on После чего перезагрузился, попробовал уйти в гибернацию, но не смог. Однако, не помогло!

Вторым делом была проведена проверка устройств, которые могут препятствовать уходу в сон. В командной строке вводим команду:

powercfg /DEVICEQUERY wake_from_any

 Это покажет все устройства, которые могут блокировать уход ОС в гибернацию

undefined

А по команде

powercfg /DEVICEQUERY wake_armed 

мы увидим устройства, которые уже «заряжены» на пробуждение системы. В моем случае, артачилось это устройство

"Realtek PCIe GBE Family Controller"

Его и надо научить уму-разуму. Делается это следующей командой

powercfg /DEVICEDISABLEWAKE "Realtek PCIe GBE Family Controller"

У вас устройства могут быть другими, но порядок действий остается таким же, главное в кавычках вписать ваш девайс.

Мне не помогло, поэтому я продолжил поиски. После долгих копаний, стало ясно, что windows7 корректно уходит в гибернацию только в том случае, если загрузка ОС происходит с диска, на котором win7 установлена.

В моем случае:

/dev/sda1 - скрытый раздел в 100mb, который win7 создает при установке себя любимой.

/dev/sda2 - собственно раздел с win7 (в винде зовется диском C:)

/dev/sdf1 - boot (linux ext3)

/dev/sdf2 - swap (linux swap)

/dev/sdf3 - root (linux ext4)

Если у вас (как у меня) стоит ОС на ядре linux, то в менеджере загрузок в bios нужно выставить загрузку с того диска, на котором стоит windows. Однако, как видно из вышенаписанного, у меня все линуксовое хозяйство не имеет никакого отношения к диску с виндой, а grub автоматически записался в mbr диска /dev/sdf так что пришлось отбросить лопату, пересесть в экскаватор и рыть дальше. И наконец-то я нашел третий способ:

Невозможность ухода в гибернацию, так же может быть спровоцирована разделом в 100mb, которую windows создает для своих нужд. Его просто нужно сделать скрытым. Качаем hirens boot cd грузимся с него.

Выбираем: "программы dos" Далее разбивка дисковParagon hard disk manager.

Выделяем раздел 100mb и через меню (вызывается клавишей F9)выбираете пункт - раздел, изменить параметры, скрыть

undefined

undefined

ждем пару секунд окошка, подтверждающего, что операция завершилась успешно и перезагружаемся

undefined

И вот с этого момента, гибернация наконец-то должна заработать! Но! Если вдруг не помогло, как мне (а такое тоже бывает) я сделал тройной финт ушами, и сейчас объясню как:

1 Выставляем приоритет загрузки в bios с диска с win7 т.е /dev/sda

2 Загружаемся в windows7

3 Уходим в гибернацию (а уйти должна, ибо мы выполнили все требования, для этого, а именно загрузились с диска, на котором стоит win7)

3 Опять лезем в bios и ставим загрузку с диска на котором живет линух т.е /dev/sdf

И вот с этого момента моя win7 стала уходит в гибернацию! Конечно, если кого-то данный способ не устраивает, то он может вручную устаноить grub в диск с win7, ибо всяческие убунты\\дебианы считают, что они сами с усами в этом вопросе и
grub ставится автоматически и только туда, куда хочет OS.

P.S. По истичении какого-то времени, windows 7 опять перестала уходить в гибернацию. И я намерен объяснить, почему.

OS перестает уходить в гибернацию, если пресловутый раздел в 100 мб или раздел с установленной OS, не является активным. Лезем в control panel, administrative tools, computer management, disk management и нажав правой кнопкой по разделу в 100 mb или разделу с os windows, в выпадающем меню выбираем mark partition as Active. 

undefined

Перезагружаемя и радуемся.

Вам ведь не нужно напоминать, что вы все делаете на свой страх и риск, и автор статьи не несет ответственности за возможный причиненный ущерб? ;-) Экспериментируйте, ведь дорогу осилит идущий.