ハイバネーションオプションを取り戻したが、ハイバネートから再開できない


10

私のUbuntu 12.04では、休止状態オプションは適切に機能していました。しかし、最近、別のパーティションにDebianをインストールしましたが、もう一度Ubuntuを起動しようとすると、起動スプラッシュ画面に次のメッセージが表示されました。

/のディスクドライブはまだ準備ができていないか、存在しません。待ち続ける。または、sを押してマウントをスキップするか、Mを押して手動でリカバリします。

Ubuntuにログインした後、休止状態オプションがなくなったことがわかりました。

とにかく休止状態のオプションを回復する方法はありますか?

編集:私はディスクドライブの問題を解決し、休止状態のオプションを取り戻しました。「sudo pm-hibernate」を実行すると、システムが休止状態になりました。ただし、再度電源を入れると、正常に起動するため、休止状態の影響はありませんでした。

どうすればこれを修正できますか?

EDIT1:システム-Lenovo ideapad s10-2。

ここに画像の説明を入力してください

EDIT2:/ etc / fstab

ここに画像の説明を入力してください

EDIT3:私のハードディスクのスクリーンショット。

ここに画像の説明を入力してください

回答:


12

Debianを独自のスワップパーティションとして使用する方法でインストールしたと思います。そうでない場合は、そうすることをお勧めします(別のスワップパーティションを作成し、/etc/fstabそれに応じてファイルを変更します)。同じスワップパーティションに書き込むオペレーティングシステムが多すぎると、他のOSによってパーティションに保存されている休止データが破棄される場合があるためです。

次に、休止状態を使用するOS(通常は両方)が正しいパーティションに書き込むことを確認する必要があります。これは/etc/initramfs-tools/conf.d/resumeファイルで設定されます。正しいスワップパーティションのUUIDをそこに置く必要があります(sudo blkid /dev/$device_nameUUIDを取得するために使用)。最後に、初期RAMディスクを更新する必要があります。

sudo update-initramfs -u -k all

それで解決するはずです。


1
これは完全にうまくいきました。ありがとう、冬眠を取り戻しました。:)
harisibrahimkv 2012

1
私も休止状態からの復帰に問題がありました。スワップパーティションのUUIDを何らかの方法で変更した後、どうやったように見えてもシステムが再開しませんでした。/etc/initramfs-tools/conf.d/resumeを修正するには、UUIDをコピーアンドペーストしsudo blkidて問題を修正したようです。
TSJNachos117 2014年

2

残念ながら、休止状態は多くの場合機能しません。そのため、コンピューターを再びオンにしたときにドキュメントとアプリケーションが再び開くと予想される場合、データが失われる可能性があります。したがって、休止状態はデフォルトで無効になっています。

休止状態が機能するかどうかをテストする

休止状態に入る前に必ず作業内容を保存してください。
何か問題が発生し、コンピュータを再びオンにしたときに開いているアプリケーションやドキュメントを回復できない場合に備えて、コンピュータを休止状態にする前にすべての作業内容を保存してください。

コマンドラインを使用して、コンピューターで休止状態が機能するかどうかをテストできます。

  1. Ctrl+ Alt+を押すTか、ダッシュでターミナルを検索してターミナルを開き ます。

  2. sudo pm-hibernate端末に入力してを押し Enterます。
    プロンプトが表示されたらパスワードを入力します。

  3. コンピュータの電源を切った後、電源を入れます。開いているアプリケーションは再開しましたか?

hibernateが機能しない場合は、スワップパーティションが使用可能なRAMと少なくとも同じかどうかを確認してください。

休止状態を有効にする

休止状態テストが機能する場合は、休止状態にしsudo pm-hibernateたいときに引き続きコマンドを使用できます。

メニューで休止状態オプションを有効にすることもできます。これを行うには、お好みのテキストエディタを使用してを作成します/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla。以下をファイルに追加して保存します。

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate; org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

再起動して休止状態に戻りました!

またはkillall unity-panel-service、メニューをリセットするだけで実行できます。

その後、一部のユーザーはsudo update-grub、電源メニューで休止状態オプションを使用できるようにするために実行する必要があります。一部のユーザーは、(右上の)電源メニューに表示するために、少なくともログアウトしてからログインする必要がある場合もあります。

出典Ubuntu Docs-Power Hibernate

ソースUbuntu Wiki-カーネルHibernateのデバッグ


0

次のようなnobootwaitオプションをに追加してみてください/etc/fstab

/dev/sda1 / ext4 rw,nobootwait 0 1


はっきりさせていただけますか?/ etc / fstabには、スワップパーティション用の次のエントリがあります。 nobootwait」?
harisibrahimkv 2012

スワップではなく、ルートマウントポイントに追加する必要があります。完全なfstabを投稿してください。更新されたバージョンを投稿します。
Frantique 2012

質問に追加しました。
harisibrahimkv 2012

1
errors = remount-ro、nobootwait
Frantique '18

0

休止状態に入ると、RAMの完全なイメージがスワップにコピーされます。したがって、ほとんどの場合、休止状態が機能しないという問題が発生し、スワップが小さすぎます。

少なくともRAMと同じ量のスワップが必要です。RAMが大量にある場合は、swappiness = 0を設定します。したがって、8 GBのRAMがある場合は、8.5または9 GBのスワップを使用します。4GBのRAMがある場合、6GBのスワップが適切な数です。


1GBのRAMと1.95GBのスワップ領域があります。ハードディスクのスクリーンショットで質問を更新しました。
harisibrahimkv 2012

0

私の知る限り、Ubuntuを含むLinuxには、スワップスペースの2倍のRAMがインストールされているはずです。

一部のカスタムビルドコンピューター構成では、十分なスワップ領域以上の休止状態を使用できません。 画像

あなたのスワップがあなたを遅くしていると思うなら、あなたは私がインターネットで見つけたこのスクリプトを使うことができます。スワップを消去します。

#!/bin/bash

free_data="$(free)"
mem_data="$(echo "$free_data" | grep 'Mem:')"
free_mem="$(echo "$mem_data" | awk '{print $4}')"
buffers="$(echo "$mem_data" | awk '{print $6}')"
cache="$(echo "$mem_data" | awk '{print $7}')"
total_free=$((free_mem + buffers + cache))
used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"

echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
if [[ $used_swap -eq 0 ]]; then
    echo "Congratulations! No swap is in use."
elif [[ $used_swap -lt $total_free ]]; then
    echo "Freeing swap..."
    swapoff -a
    swapon -a
else
    echo "Not enough free memory. Exiting."
    exit 1
fi

2xの使用可能なスワップ領域があります。提案ありがとうございます。
harisibrahimkv 2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.