web-dev-qa-db-ja.com

ディスクへの休止状態は復元されませんが、RAMへのサスペンドは機能しています

私はDebian6を持っていますが、Ubuntuでもこれを見ました(どのように修正したか思い出せません)。

休止状態にすることはできますが、システムのコールドブートをオンにすると(前のセッションは復元されません)。


サスペンドは正常に機能することに注意してください。/var/log/pm-suspend.logブロックごとにsuspend suspendショーを調べましたresume suspendブロックですが、hibernate hibernate' is not followed byresume hibernate`(これが期待どおりだと思います。


インストールされたパッケージは、必要になるかもしれないと思っていたように休止状態になりましたが、違いはありませんでした。


探し始めたところ、/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linuxまたは/usr/lib/halが見つかりません。電源ファイルを検索しました(すべてありますか?:

find /usr/lib -iname "*power*"
/usr/lib/libupower-glib.so.1
/usr/lib/klibc/bin/poweroff
/usr/lib/python2.6/dist-packages/axiom/test/test_powerup.pyc
/usr/lib/python2.6/dist-packages/axiom/test/test_powerup.py
/usr/lib/upower
/usr/lib/upower/upowerd
/usr/lib/libupower-glib.so.1.0.1
/usr/lib/gnome-power-manager
/usr/lib/pymodules/python2.6/OpenGL/raw/GL/ARB/texture_non_power_of_two.pyc
/usr/lib/pymodules/python2.6/OpenGL/raw/GL/ARB/texture_non_power_of_two.py
/usr/lib/pymodules/python2.6/OpenGL/GL/ARB/texture_non_power_of_two.pyc
/usr/lib/pymodules/python2.6/OpenGL/GL/ARB/texture_non_power_of_two.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/servers/switch_power_server.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/servers/switch_power_server.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/switch_power_client.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/test/test_switch_power_client.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/test/test_switch_power_client.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/switch_power_client.py
/usr/lib/pymodules/python2.6/coherence/upnp/core/xml-service-descriptions/SwitchPower1.xml
/usr/lib/pm-utils/power.d
/usr/lib/pm-utils/power.d/sched-powersave
/usr/lib/pm-utils/sleep.d/00powersave
/usr/lib/rhythmbox/plugins/power-manager
/usr/lib/rhythmbox/plugins/power-manager/libpower-manager.so
/usr/lib/rhythmbox/plugins/power-manager/power-manager.rb-plugin
7
ctrl-alt-delor

Debian Testing(Jessie/Sid)を実行しているラップトップでこれに対処する必要がありました。

関連する可能性があります:/dev/vg1/swapのLVMボリューム(暗号化されていない)のパーティションをスワップします。

休止状態後にシステムを再開するには、/etc/default/grubを編集して変更する必要がありました

GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="resume=/dev/mapper/vg1-swap"

次に、update-grubを実行します。

GRUBメニューからリカバリオプションを選択したときにカーネルが再開イメージをチェックしないようにしたい場合は、GRUB_CMDLINE_LINUX_DEFAULTではなくGRUB_CMDLINE_LINUXを変更する必要があります。

update-grubが必要なresume=パラメータを/boot/grub/grub.cfgに単独で書き込むことを期待していましたが、これについて明示的にする必要はありませんでした。

ただし、resume=のスクリプトフラグメント内の/etc/grub.dについての唯一の言及は、OSXサポートと関係がある部分にあります。そこで何が起こっているのかわからない。

7
flabdablet

これは、Ubuntu/Debianでの休止状態とサスペンドの一般的な問題です。

uswsuspをインストールします

Sudo apt-get install uswsusp

次に、それぞれサスペンドとハイバネートについて次のことを試してください。

Sudo s2ram

Sudo s2disk

それが機能する場合は、それを永続的にすることができ、以下をバックアップします、

Sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak

Sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak

以下を編集し、

/usr/lib/hal/scripts/linux/hal-system-power-suspend-linux

#!/bin/sh
/sbin/s2ram –force

/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux

#!/bin/sh
/sbin/s2disk
3
setzamora

ハードディスクまたはパーティションテーブルを変更した場合、コンピュータはセッションを保存しますが、電源投入時にセッションを再開することはできず、休止状態ではなく再起動されたかのように動作します。

この場合、正しいパーティションuuidについてinitramfs-toolsに通知する必要があります。まず、スワップパーティションのIDをメモします。

$ ls /dev/disk/by-uuid -la

次に、ファイル/etc/initramfs-tools/conf.d/resumeを適宜編集します。

最後にinitramfsを更新します

# update-initramfs -u

それでも機能しない場合は、復元パーティションをGrubにも指定してみてください。ただし、必須ではありません。

スワップパーティションのUUIDを指定してファイル/ etc/default/grubを編集します。

GRUB_CMDLINE_LINUX="resume=UUID=6098d082-4654-4840-8937-7337d14b2c5d other-option=value"

または単にデバイスを使用する

GRUB_CMDLINE_LINUX="resume=/dev/sda1 other-option=value"

Grubを更新することを忘れないでください。

# update-grub

再起動して、休止状態を試してください。

# pm-hibernate

1
Demis Palma ツ
# update-initramfs -u

これは私の同様のケースで欠けていた部分でした。 スワップパーティションを変更した後、正常な休止状態からの再開が失敗し始めた場合。多くのアドバイスがgrubコマンドラインの修正を提案しました(以前の回答で述べたように)。

しかし、私のシステム(Ubuntu 14.04)では、スワップパーティションに変更する前は、grubにresumeパラメーターがなくてもhibernateは正常に機能していました。だから私は履歴書が処理される他の方法があるに違いないと気づきました。

スワップパーティションの変更後の休止/再開を有効にするシーケンス(blkidまたはls /dev/disk/by-uuid -laに従って、新しいUUIDがスワップパーティションデバイスに割り当てられた後):

  1. /etc/fstabを編集して、スワップの新しいUUIDに変更します
  2. /etc/initramfs-tools/conf.d/resumeを編集して、新しいスワップのUUIDを反映します
  3. update-initramfs -uを実行して、/boot/initrd.img*を再構築します
  4. リブート

@Demis Palmaに感謝します!

1
BuzzHead