休止状態の後は再開できません


8

Ubuntu 16.04でhibernateを問題なく使用してきましたが、突然正しく動作しなくなりました。電源メニューから休止状態にするか、を使用するかに関係sudo pm-hibernateなく、コンピューターの電源がオフになりますが、再度電源をオンにしてgrubメニューからUbuntuを選択すると、画面が真っ黒になります。私はいくつかの解決策を試しましたが(以下にリストされています)、どれもうまくいきませんでした

私が使用するすべてのUbuntuリリースで、通常、休止状態(ラップトップが異なる)で同様の問題が発生していることに本当にがっかりしています。

PS:Windows 10でデュアルブートを使用していますが、Hibernateは長い間完全に動作していました。

うまくいきませんでした:


私のラップトップでも同じ問題があります。休止状態から戻ると、黒い画面になります。私にとって、それは決して機能しませんでした。私のラップトップの "回避策"は、Alt + Ctrl + F1キーを押し、数秒待ってからAlt + Ctrl + F7キーを押すことです。それはそれを(私のラップトップで)生き返らせます。
Vanessa Deagan

提案をありがとう、私のためにうまくいきませんでした。
Karim Sonbol

ふたを閉めて、もう一度開けてみませんか?(試してみる価値があります!)
Vanessa Deagan

@VanessaDeaganに感謝しますが、それでも何も起こりませんでした。
Karim Sonbol

1
まだ見ていない場合:bugs.launchpad.net/bugs/1743094
Steve

回答:


9

同じ問題がありました。16.04の最新のカーネルにはバグがあります。ここに私が行った明確なステップがあります。最初の手順を実行し、問題が解決した場合は、そこで停止してください。そうでない場合は、続けます。

1.以前のカーネルで起動するようにコンピュータを設定します

皮切りに:

ウナメ-r

鉱山は4.13と言います...それから:

grep -i "menuentry '" /boot/grub/grub.cfg

grubにさまざまなメニューエントリが表示されます。私の場合、「Ubuntu、with Linux 4.13 ...」と一緒に、以前のカーネルで起動するメニューオプションがありました。それは、Linux 4.10.0-28-genericを搭載したUbuntuと述べた。同じ行に「gnulinux-4.10.0-28-generic-advanced ...(ここに一連の文字)」のようなテキストがあります。そのテキストをコピーしてから、デフォルトでそのカーネルでブートするようにgrub2に指示する必要があります。

sudo cp / etc / default / grub /etc/default/grub.back

sudo gedit / etc / default / grub

次に、この行を挿入しました:

GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954-55648888a31d"

この行をそのままコピーしないでください。前述のgrepコマンドの出力を使用してください。次に保存して、

sudo update-grub

次に再起動して、「uname -r」の出力が古いカーネル(私の場合は4.10 ...)であることを確認します。今は休止状態にできるかもしれませんし、できないかもしれません。そうでない場合は、次の手順に進みます。

2.デフォルトのものとは異なるものを休止状態にインストールします。

私の場合、古いカーネルを使用すると死の黒い画面が表示されなくなり、休止状態から再開できるようになりましたが、ディスクイメージの内容は消去されていました。つまり、休止状態ではなく再起動と同じでした。だから私は別の方法で冬眠するたわごとをインストールしました:

sudo apt-get install uswsusp

次に、ターミナルを閉じて再度開き、次のように入力します。

sudo s2disk

これはコンピューターを休止状態にするためのものです。再開した後、すべてが元通りだった場合は、問題は解決しています。しかし、ステップ4に進んで、Ubuntuにデフォルトで新しいものを使用すること、およびアプリケーションで休止状態にするオプションが必要であることを伝える必要があります。

3. grub 2にスワップパーティションの場所を伝えます。

それでもうまくいかなかったので、grubにスワップパーティションの場所を伝えなければなりませんでした。

猫/ etc / fstab

私はそこに「#インストール中に/ dev / sda2にスワップがあった」と読むことができたので、もう一度grubを編集しました。

sudo gedit / etc / default / grub

そして追加:

GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = disable resume = / dev / sda2"

重要な部分は "resume = / dev / sda2"ですが、他の理由により前のもの(インテルblablabla)が存在しています。さて、次のステップは:

sudo update-grub

再起動して、次のようにいくつかのことを行って(たとえば、vlcで映画を開く)休止状態にしてみてください。

sudo s2disk

再開しても問題が解決しない場合は、問題は解決しています。

4. Ubuntuに対して、デフォルトの代わりにインストールした新しい休止状態のものを使用するように指示します。

ここで、Ubuntuに、デフォルトで提供されるものの代わりにs2diskを使用して休止状態にするように指示する必要があります。

sudo gedit /etc/pm/config.d/00sleep_module

そしてそこに挿入します:

SLEEP_MODULE = "uswsusp"

ファイルを保存して閉じます。次に:

sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla

そしてそこに挿入します:

[upowerでデフォルトで休止状態を再度有効にする]

Identity = unix-user:*

Action = org.freedesktop.upower.hibernate

ResultActive = yes

[logindでデフォルトで休止状態を再度有効にする]

Identity = unix-user:*

Action = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; org.freedesktop.login1; org.freedesktop.login1.hibernate-multiple-sessions; org.freedesktop.login1.hibernate-ignore-阻害する

ResultActive = yes

再起動してもう一度お試しください。

5.手順4を実行したsudo systemctl hibernate後、次を使用して休止状態にできない場合

手順4では、Ubuntu 18.10をuswsuspに切り替えるだけでは不十分です。

ハイバネーションサービスを編集する

sudo systemctl edit systemd-hibernate.service

そして、以下を追加します

[Service]
ExecStart=
ExecStartPre=-/bin/run-parts -v -a pre /usr/lib/systemd/system-sleep
ExecStart=/usr/sbin/s2disk
ExecStartPost=-/bin/run-parts -v --reverse -a post /usr/lib/systemd/system-sleep

systemdを更新する

sudo systemctl daemon-reload

次のコマンドを実行してセットアップをテストします

sudo systemctl hibernate


おかげで、私はブートメニューから古いカーネルを選択し、Hibernateはそれで動作します。他の更新手順は後で確認しますが、現在のカーネルがすぐに修正されることを願っています。
Karim Sonbol

実際、私は古いカーネルをgrubメニューから一度選択し、その後休止状態にしました。もう一度開いて、詳細オプションなしで通常の「Ubuntu」オプションを選択すると、私の選択を思い出して古いカーネルを使用します。幸いにも、開いているすべてのアプリが用意されています。
Karim Sonbol

新しいカーネルを単にアンインストールして古いものに固執しない特別な理由はありますか?
lrkwz

3

@karim私がここで同じ問題を抱えていたのは、それがどのように修正されたかです:

RESUMEパラメータで代わりにそれの取り付け点のスワップパーティションのUUIDを使用してresume=UUID=#、両方で/etc/default/grub/etc/initramfs-tools/conf.d/resume

このような/etc/fstab マウントポイントなしでスワップパーティションのエントリを作成します

# Entry for Swap : 
UUID=# none  swap    sw              0       0

/etc/default/grub、私は休止状態を再開するための個別のエントリを使用しました

# FOR HIBERNATION 
GRUB_CMDLINE_LINUX="resume=UUID=..."

@Mephistoで説明されているように、地方自治体(pkla)でポリシーキットを作成します。

initramfsとGRUBを更新する

sudo update-initramfs -u -k all
sudo update-grub

再起動し、いくつかのアプリを開いてsystemctl hibernate(sudoなしで)使用して、機能するかどうかを確認します


'sudo update-initramfs -u -k all'を除いてすべてをセットアップしましたが、問題が解決したようです。ありがとうございました。
ザミコール2018

2

私もこの問題に悩まされていました...そして何度も試した後の修正はUbuntu 18.04を再インストールすることでしたが、現在は完全に機能しています。以前はNvidiaが原因だったので、私はNvidiaの「テスト済み」ドライバーも使用しています。

おそらく、「sudo add-apt-repository ppa:graphics-drivers」ppaが「追加」のスタッフや396ドライバーをインストールしたことが、私のラップトップの休止機能を台無しにしたのかもしれません。どちらの方法でも、NVidiaの390でテストされたドライバーを使用してこの時点で問題なく動作します。Nouveauドライバーに切り替える前に動作しました。


2

ご回答ありがとうございます。この問題はカーネル4.15で解決されました。私は今それを試しました、そしてそれはうまくいきます。どうやらHWEカーネルが修正しました(linux-generic-hwe-16.04 package)。

Ubuntu 16.04を使用している場合は、最新のアップデートをインストールしてカーネルをアップグレードするだけです。詳細については、こちらご覧ください

現在のカーネルバージョンは4.15.0-33-genericです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.