2

Время от времени мой ноутбук ломается / умирает из-за плохой / разряженной батареи, дрянного драйвера Wi-Fi или по любой другой причине.

Некоторое время я задавался вопросом, можно ли заставить Linux периодически сохранять состояние (например, снимки vmware) на диск, чтобы вы могли восстановить его с помощью, возможно, слегка устаревшей работы, но, по крайней мере, все ваши приложения были открыты в том же состоянии, что и вы оставил их.

Я не вижу смысла в необходимости постоянно загружать все с нуля, хотя KDE сохраняет ваше состояние при выходе из системы, что также не происходит периодически (по умолчанию). Было бы намного лучше восстанавливаться после сбоев, если бы оперативная память периодически записывалась на диск.

Кто-нибудь знает, есть ли системный вызов, чтобы сделать это без выключения компьютера? Даже ручная кнопка для сохранения всего состояния была бы хороша.

1 ответ1

3

Интерфейс гибернации доступен через /dev/snapshot , который описан в Documentation/power/userland-swsusp.txt. Например, вы можете написать программу, основанную на s2disk uswsusp .

Но я не уверен, что это может работать надежно, поскольку в режиме гибернации хранится только информация, хранящаяся в оперативной памяти, но не текущее состояние диска / файловой системы. Например, если вы сохранили снимок гибернации, изменили несколько файлов и перезагрузили снимок, ваш диск будет содержать новые данные и метаданные, но у снимка все еще может быть старая версия в памяти ядра снимка ...

Цитировать документацию /power /swsusp.txt:

 * BIG FAT WARNING *********************************************************
 *
 * If you touch anything on disk between suspend and resume...
 *              ...kiss your data goodbye.
 *

Если ваш ноутбук умирает из-за разряженного аккумулятора, настройте его на автоматический спящий режим при достижении 1% или около того. (Если это происходит во время приостановки работы ноутбука, попробуйте режим "приостановить в обоих" в Linux 3.6-rc1 и новее.)

Если ваш ноутбук умирает из-за ошибки в драйвере, СООБЩИТЕ ОБ ЭТОЙ ОШИБКЕ , чтобы исправить ее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .