Я установил новые 16.04 LTS. Я испытывал некоторые проблемы с ошибкой дисплея апплета Wi-Fi (после того, как резюме от Приостановит), и с резюме спящего режима. Я включил спящий режим в меню с помощью метода, показанного здесь. Теперь резюме спящего режима не работает периодически. Иногда это хорошо работает, другие времена, это отображает текст на резюме, которое говорит что-то о 'очистке осиротевшего inodes', и система просто загружается снова без предшествующего состояния памяти.
Вот некоторая информация:
$ sudo blkid
/dev/sda1: LABEL="System Reserved" UUID="50921EE4921ECE7A" TYPE="ntfs" PARTUUID="dda192f8-01"
/dev/sda2: LABEL="Primary Disk" UUID="765E305F5E3019F7" TYPE="ntfs" PARTUUID="dda192f8-02"
/dev/sda3: LABEL="Secondary Disk" UUID="E2D42C6AD42C42E1" TYPE="ntfs" PARTUUID="dda192f8-03"
/dev/sda5: UUID="dbaad068-46da-4637-9c45-5c32c20d3cfe" TYPE="swsuspend" PARTUUID="dda192f8-05"
/dev/sda6: UUID="31385b29-f351-4a10-9dcf-c92efd58334b" TYPE="swap" PARTUUID="dda192f8-06"
/dev/sda7: UUID="1f734f56-7328-4029-88a0-fa995426d4d2" TYPE="ext4" PARTUUID="dda192f8-07"
$ cat /etc/initramfs-tools/conf.d/resume
RESUME=UUID=31385b29-f351-4a10-9dcf-c92efd58334b
Ну, я удивлен, что никто не предложил это, поскольку у меня была эта проблема в течение достаточно долгого времени. Ответ, которым это казалось, смотрел прямо в моей поверхности. По-видимому, мой раздел подкачки был примерно тем же размером как моя память. Кроме того, я не добавил ссылку к своему разделу подкачки UUID в моем файле личинки. После увеличения размера раздела подкачки для удвоения размера памяти и добавления ее UUID в файле личинки, резюме спящего режима работает обычно в течение прошедших нескольких дней. Хотя, резюме от спящего режима берет немного бита дольше, но я не жалуюсь.
необходимо удостовериться, что раздел подкачки определяется в следующих файлах:
/etc/initramfs-tools/conf.d/resume
/etc/default/grub
ОБНОВЛЕНИЕ
Используя низкоуровневый интерфейс uswsusp
как значение по умолчанию, бывшее в спящем режиме, механизм решительно улучшил мое время резюме менее чем до минуты!!!
sudo apt-get install uswsusp
Создают файл /etc/pm/config.d/00sleep_module
и добавляют следующую строку:
SLEEP_MODULE="uswsusp"
Я просто "решил" ТОЧНО ту же проблему и таким образом предоставлю мое решение здесь, даже если Ваша проблема отличается.
Я сначала выполнил итерации через by-uuid
проблемы (когда я удалил systemd, я думал sysvinit, могли заставить порядок устройства быть испорченным, как предложено в другом месте, и uuid ссылка должна была решить проблему. Или таким образом, я думал.
Это, казалось, было хорошо в течение недели, или даже два, затем это запустилось снова.
После этого я помнил то, что беспокоится, я имел с хинду, где я должен был явно установить resume=/dev/disk/by-uuid/{}
в grub.cfg иначе это не возобновилось, несмотря ни на что. Там, это решило мою проблему. Я даже установил dracut для управления моим initramfs. Это снова работало некоторое время, затем это не сделало.
Затем я попробовал другой материал как понижение ядра, установка bootlogd
, но ничто не предложило ничего специального.
На данном этапе я начал искать больше справки. Я схватил весь - не совсем читаемый - информация здесь по kernel.org. Я попробовал это, и что, я не совсем помню то, что я сделал точно, но эй.
Снова это иногда работало, с другой стороны это не сделало.
Теперь это - то, куда я на самом деле пошел параноидальный, ища скрытые модули в ядре и предусмотрев атаки с холодной загрузкой, полагая, что кто-то, вероятно, получил мой BIOS assword, резюме от спящего режима, затем сбрасывает компьютер и выводит память, загружающуюся от некоторой внешней системы обработки изображений. (Обратите внимание на то, что все это абсолютно не неправдоподобно, просто - как оказалось, - абсолютно не связанный.)
В этих поисках - сегодня вечером - мне удалось найти этот сайт: https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues. Отсюда, я добавил параметры в 2,1 initcall_debug, 2,3 ignore_loglevel и 2,4 динамических отладках к моему grub.cfg как параметры начальной загрузки ядра.
Затем это произошло, снова.
Но теперь я был более внимательным. Я заметил, что мой "осиротевший inode" материал происходит из-за "Суперблока, прошлое время записи находится в будущем". Я провел несколько часов, находя что случилось тогда, приблизительно за половину года до этого, снова напрасно. Я просто предположил, что это связано с отсутствием systemd и моей привычкой к использованию localtime как hwclock (из-за случайной двойной загрузки с W7), таким образом, это должно быть в интервале 6-10 минут (неточный источник часов) максимум к 2 часов (я нахожусь в DST GMT+1).
Как бы не так.
Это так произошло, что теперь, с ignore_loglevel добавленным параметром ядра, нелегальный выпуск содержал Точную дату, в которой были мои часы во время начальной загрузки, а также время изменения.
Мои часы были на самом деле установлены до 06 июня 2013, который является, по-видимому, датой выпуска BIOS или чем-то подобным. Вот в чем разница трех лет (97 010 350,488716 секунды согласно ntpdate).
По сути, я наконец выяснил, что моя батарея CMOS арестована. Это могло бы быть отчасти заряжено - даже, что это не является перезаряжающимся - и когда я оставил компьютер на в течение длительных периодов, это, возможно, взяло заряд достаточно для "выживания" в течение 1-2 дней - или это была, возможно, просто температура, кто знает. (Это не мой основной компьютер, таким образом, он сделал пошел несколько дней подряд, неприводимых в действие раз в две недели.)
tl; доктор:
Тем не менее я или рекомендую выгрузить Вашу батарею CMOS, или - если это - портативный компьютер или подобный - затем
(дополнительный при использовании установки по умолчанию Гостеприимных 16.04 Вам не нужно это), устанавливают и настраивают bootlogd, так, чтобы Вы нашли свой нелегальный выпуск в/var/log/boot. (С systemd Вы просто работаете journalctl -b
получить нелегальный выпуск.)
Отредактируйте Ваш /boot/grub/grub.cfg
файл, и добавляет initcall_debug ignore_loglevel
в конце первой строки, запускающейся с linux /boot/vmlinuz...
под первой строкой, запускающейся с menuentry
.
Перезагрузите теперь. Это очень важно, так, чтобы Вы были в спящем режиме с новыми активированными настройками.
Будьте в спящем режиме, оставьте машину для значительного количества времени, как часы, по крайней мере, затем возобновитесь.
Наконец, любое выполнение journalctl -b > /var/log/boot
если Вы не помнили удалить что-то позвонившее systemd
и/или установка чего-то позвонившего upstart
, openrc
, или sysvinit
.
Для всех этих шагов необходимо быть корнем, таким образом, рекомендуется запустить с a sudo -s
команда после каждого перезапуска и установки что-то как Полуночный Командующий (apt install mc
или Центр программного обеспечения) сначала и использование это (mc
) работать с конфигурациями и журналами.
Теперь у Вас есть журнал в /var/log/boot
, в котором можно искать события при начальной загрузке как фактическая причина для "осиротевшего inodes". Если Вы находите "время изменения в будущей" проблеме со многими часами или больше различием, то Вам определенно разрушили Вашу батарею CMOS/RTC также и должны будете заменить ее.