これか?
richblのやり方だと起動時にカーネルパニックおこしたわ
crysmanのやり方は、わしの16.04のハイバネートとほぼ同じだが、画面が暗くなって反応しなくなった。
したがって、16.10はわしの環境だと、できないということなのかぁ。
/etc/initramfs-tools/conf.d/resume に RESUME=UUID=91ccfcbe-de30-457e-9998-953ea78588c6 に変更
/etc/default/grubの
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0 quiet splash resume=UUID=91ccfcbe-de30-457e-9998-953ea78588c6"
変更してみた
sudo update-initramfs -u
sudo update-grub
これでもだめだ
https://help.ubuntu.com/community/PowerManagement/Hibernate
これか?
Platform is the default and recommended mode of hibernation. Unfortunately, the “platform” mode of hibernation does not work on some systems with a broken BIOS. In such cases the “shutdown” mode of hibernation might work.
http://askubuntu.com/questions/768136/how-can-i-hibernate-on-ubuntu-16-04
ここにも書いてあるが
結果;うまく動かない
これは?
$sudo apt-get install hibernate パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: uswsusp 提案パッケージ: 915resolution 以下のパッケージが新たにインストールされます: hibernate uswsusp
これもだめ
https://ubuntuforums.org/showthread.php?t=2306178
これは?
http://d.hatena.ne.jp/kakurasan/20080421/p1
これは?
だめだな
Edit /etc/systemd/logind.conf to set HandleLidSwitch=hibernate (optional: permits hibernate to start on lid close)
やってみたどうだ?だめだった。HandleLidSwitchは、ラップトップとかで、そのキーが押された時の動作のようだ。
環境によってカーネルが動作できてない。
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1566302
結論 カーネル次第
inxi -GCS
これが原因か
http://askubuntu.com/questions/76488/system-wont-boot-unless-i-type-exit-at-initramfs-prompt
Boot Degraded RAID
Modify /etc/initramfs-tools/conf.d/mdadm
BOOT_DEGRADED=true
Update initram
sudo update-initramfs -u
Reboot
これか?
だめだった
http://opensuse.opensuse.narkive.com/IOLnQHP2/configuring-a-working-suspend-to-disk-method
これか?
→関連
関連投稿;Ubuntu16.04のサスペンド、ハイバネート
結末として。17.04 zestyに夢を託して、いじってみたが、やはりハイバネート失敗。
LTSに戻すしか方法はなさそうだ。
ちょっと待った!
17.04で遂にハイバネートできそう!
何度もテストをしていたが。ヒントを掴んだ気がする。
grubが関係してたのだ!
grub-installをした、システムでない、他のパーティションのシステムから起動させた、17.04でハイバネートができるようになった。しかし、grub-installを行ったシステムでは、ハイバネートできない。
これ大きなヒントになりそうですね。もう少し探ってみるか。
recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd1,msdos7' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos7 --hint-efi=hd1,msdos7 --hint-baremetal=ahci1,msdos7 14949105-0ead-4826-aab5-155b9042af46 else search --no-floppy --fs-uuid --set=root 14949105-0ead-4826-aab5-155b9042af46 fi echo 'Linux 4.10.0-19-generic をロード中...' linux /boot/vmlinuz-4.10.0-19-generic root=UUID=14949105-0ead-4826-aab5-155b9042af46 ro resume=UUID=47ef2af5-e4cd-4f23-9f64-1466b3540905 echo '初期 RAM ディスクをロード中...' initrd /boot/initrd.img-4.10.0-19-generic
grub起動時ここの1行から5行目まで削除してコントロールXで起動して、ハイバネートして。再起動時にも同様に行うと、ハイバネート起動に成功することができた。
ただ、毎回、削除するのも面倒だし。消して保存を考えないとならない。
という訳で、設定を保存するためには、どこをいじろうかな。
/etc/grub.d/10_linux にload_video,gfxmodeがあるんで、ここを編集した。
でも、ハイバネートからの起動に失敗することあるんだよね。
diff /etc/grub.d/10_linux ./10_linux.org
145,155c145,158 < # if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then < # echo " load_video" | sed "s/^/$submenu_indentation/" < # else < # if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then < # echo " load_video" | sed "s/^/$submenu_indentation/" < # fi < # fi < # if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \ < # ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then < # echo " gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/" < # fi --- > if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then > echo " load_video" | sed "s/^/$submenu_indentation/" > else > if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then > echo " load_video" | sed "s/^/$submenu_indentation/" > fi > fi > if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \ > ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then > echo " gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/" > fi > > echo " insmod gzio" | sed "s/^/$submenu_indentation/" > echo " if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/" 157,159d159 < # echo " insmod gzio" | sed "s/^/$submenu_indentation/" < # echo " if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/" < #
ハイバネートからの復帰に失敗することがあり、何とかならないものかと。
amdgpuが自分の環境だと、失敗の原因のようだ。
/etc/modprobe.d/blacklist.conf
#blacklist radeon blacklist amdgpu
でblacklistにしとく。radeonだけkmsでロードされるようにする。
GRUBでradeon.modeset=1 radeon.dpm=0と記述することにより、ハイバネートが成功するようになった。
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=47ef2af5-e4cd-4f23-9f64-1466b3540905 radeon.modeset=1 radeon.dpm=0 "
/etc/grub.d/10_linux はオリジナルのものにしたが問題なくハイバネートと復帰ができた。
これで、継続してハイバネートできればよいが。
その後、一日数回ハイバネートしてるが、8日は無事に復帰できている。
$uptime 22:38:46 up 8 days, 14:14, 2 users, load average: 0.89, 0.50, 0.49
つづく
ピンバック: Ubuntu16.04のサスペンド、ハイバネート | ここからの旅立ち