
Ubuntu日本語フォーラム

ログインしていません。
こんばんは。kazuomiさんの投稿も拝読しましたが、状況が異なるようなので別立てでご相談いたします。「shutdownできない」という相談は過去にubuntuの幾つかのバージョンで投稿されています。私はこれまで14.04と16.04を使用してきましたが、今回初めてこのような症状に出会いました。
具体的には、rebootやshutdownを選ぶと通常通りブラックアウトの後にsplash画面に移行するのですが、Lubuntuのロゴの下にあって順番に色が白く変わっていく5つの点(丸)のうち2つ目とか3つ目でフリーズしてしまい、rebootもshutdownも不可能になるというもので、電源ボタンを長押しして強制終了するしか方法がありません。端末から命令しても同じ症状です。
私の場合は、18.04をクリーンインストールすると使えないソフトウエアがある(conky-managerその他)ため今まで使ってきた16.04からアップグレードするかたちで18.04を導入しました(sudo do-release-upgrade -d)。アップグレード後に行った作業は2つ。pulseaudio-equalizerの使用を継続するための修正(https://askubuntu.com/questions/1031916/pulse-audio-equaliser-not-working-in-ubuntu-18-04,)と、これもやはりアップグレードによって一時的に使用不能となったpulseaudio-volume-controlの再インストールです。
今回症状が出たのはNEC Lavie LL800KG という古いノートパソコンです。ここ(問題のパーティション)にはlubuntu-desktopのほか,lxde-common,openbox,xfce4,e17を入れてあります。今後ほかのパーティションやパソコンでも同様に16.04からアップグレードするかたちで18.04を導入していこうと考えています。どうかよろしくお願いいたします。
(追記)ちなみに、/etc/default/grub の記述は下記のとおりです。
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT="saved"
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_SAVEDEFAULT="true"
解決策を探して、意味を理解しないまま、
GRUB_CMDLINE_LINUX="" を
GRUB_CMDLINE_LINUX="reboot=pci"
GRUB_CMDLINE_LINUX="reboot=efi"
などと書き換え、それぞれgrubをupdateしてみましたが効果はありませんでした。
NEC Lavie LL800KGでは、18.04LTSをクリーンインストールした場合でも、rebootもshutdownもできない(スプラッシュ画面がフリーズする)ことが判りました。LL800KGは2台所有していますが、2台とも同じ症状が起こります。この問題は16.04から手動でアップグレードしたことに原因があるのではなく、ハードウエアに起因するようです。試みにおなじNECの Lavie LL850H/J にもクリーンインストールしてみましたが、こちらは問題なくrebootもshutdownもできます。DELL Latitude E5400 でも大丈夫です。どいういう部品や機構に起因するかなど、もちろん私には見当もつきません。
検索してみると、<xubuntu - Ubuntu 18.04 stuck at shutdown - Ask Ubuntu>、<Ubuntu 18.04 Server Beta 2 - restart / reboot not working - Stack ...>、<System hang at "shutdown" or "restart" - Ubuntu 18.04 daily build ...>など、困っている人は他にも大勢いそうです。ハードウエアにも詳しい方々からのご提案を期待して待つほかありません。
なお、Kernelが 4.15.0_24になっても症状に変化はありません。
直接の解決策は持ちあわせていませんが:
上記の情報だけでは実機を持っていないと原因にたどり着くのは困難だと思います。
kernel が shutdown/reboot に必要とする機能は boot 時に初期化されます。/var/log/dmesg (1000行位あります)に関係ありそうなエラーが記録されていませんか?特に ACPI 回りは要注意です。
user space でのログは /var/log/syslog, /var/log/syslog.1, /var/log/syslog.2.gz 以下に保存されます。かなり前のものまで残っていますが、タイムスタンプを参考にして直近の立ち上げ以降で関係ありそうなエラーが記録されていませんか?
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" だと console メッセージが見えなくなってしまいます。
GRUB_CMDLINE_LINUX_DEFAULT="nosplash"
にして grub.cfg を再構成するか boot 時に grub の command line editor で当該部分を上記のように書き換えてから boot してください。何か関連の有りそうなエラーメッセージは表示されませんでしたか?立ち上がったら CLI に切り替えてログインして shutdown を実行して下さい。途中で止まってしまうと思いますが、最後に何が表示されていますか?そこまでは処理が進んでいるので、その次に実行されるはずの部分が怪しそうです。
確認ですが、#1 には「shutdown が止まった後電源ボタン長押ししか効かないと」ありますがその時点で magic sysrq も効かないということでしょうか?(老婆心ながら試す場合は CLI からログインして、必ず sync, R/O-remountしてから power-off や re-boot を試みて下さい。事前に magic sysrq が有効になっていることの確認もお忘れなく。)
なお、私は Lavie GL1841 を使っています。Live USB から ubuntu を試すで 18.04 を起動したところ、shutdown/reboot はできましたが、全ての cpu core の稼働率が 100% 近くになってしまいました。/var/log/dmesg には ACPI 関連のエラーがじっくり考えてみないと分からないくらい多数検出されていました。18.04 になってから ACPI に対する要件が 16.04 よりきつくなったようです。結局 18.04 の使用は断念しました。
オフライン
taka.zoo.nさん、アドバイスをありがとうございます。現在他のマシンを使っているので近日中にLL800KGを取り出してlogをチェックしてご報告します。取り急ぎ御礼まで。
(知識が足りないなため、taka.zoo.nさんはじめ熟達のユーザーの皆さまにはお手数をおかけしますことを、どうかお許しください。)
①端末からrebootを試みても症状は変わりません。
②コード:GRUB_CMDLINE_LINUX_DEFAULT="nosplash"にして grub.cfg を再構成したのちに、コマンドラインからrebootを試みました。 症状は変わらずスプラッシュ画面の途中でフリーズ(Lubuntuロゴの下の小さな丸2つめでストップ)したため強制終了し、再度立ち上げました。なにやらたくさんの文字列が次々に現れたあとに正常に18.04が立ち上がりましたが、文字列の流れが早いので何らかのエラーメッセージが表示されたのかどうかさえ判りません。
③ CLI に切り替えてログイン
(以下のように表示されました)
Ubuntu 18.04 LTS *****(私のユーザーネームです)-PC-LL800KG tty 1
*****-PC-LL800KG login:*****
Password:
Last login:Tue Jul 10 09:54:47 JST 2018 on tty 1
Welcome to Ubuntu 18.04 LTS (GNU/LINUX 4.15.0-24-generic x86_64)
*Documentation:https://help.Ubuntu.com
*Management:https://landscape.canonical.com
*Support:https://ubuntu.com advantage
Canonical Livepatch is avalable for installation.
-Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
0 packages can be updated
0 packages are security updates
*****@*****-PC-LL800KG:~$
④shutdown を実行
(フリーズしました。おしまいの3行は以下のとおりです。)
[ OK ] Reached target Unmount All Filesystems.
[ OK ] Reached target Final Step
Starting Power Off ...
⑤最後にアドバイスいただいた内容「CLI からログインして、必ず sync, R/O-remountしてから power-off や re-boot を試みて下さい。事前に magic sysrq が有効になっていることの確認もお忘れなく。」についてはやり方がわからずにおります。
Sys Rq が有効になっているかどうかもわからなかったので、試みに、Alt + SysRq + B と入力しました。rebootも何も起こりませんでした。
⑥ ①〜⑤を試したあとに、/var/log/syslog, /var/log/syslog.1, /var/log/syslog.2.gzに保存されている内容をgeditで開きました。
(sudo gedit /var/log/syslogのさいごの記述)
Jul 10 10:43:21 *****-PC-LL800KG dbus-daemon[2471]: [session uid=0 pid=2469] AppArmor D-Bus mediation is enabled
Jul 10 10:43:21 *****-PC-LL800KG dbus-daemon[2471]: [session uid=0 pid=2469] Activating service name='ca.desrt.dconf' requested by ':1.0' (uid=0 pid=2464 comm="gedit /var/log/syslog " label="unconfined")
Jul 10 10:43:21 *****-PC-LL800KG dbus-daemon[2471]: [session uid=0 pid=2469] Successfully activated service 'ca.desrt.dconf'
(sudo /var/log/syslog.1の最後の記述)
Jul 10 09:10:23 *****-PC-LL800KG systemd[1]: Reloading.
Jul 10 09:10:23 *****-PC-LL800KG systemd[1]: Stopping LSB: Record successful boot for GRUB...
Jul 10 09:10:23 *****-PC-LL800KG systemd[1]: Stopped LSB: Record successful boot for GRUB.
Jul 10 09:10:24 *****-PC-LL800KG systemd[1]: Reloading.
Jul 10 09:10:42 *****-PC-LL800KG systemd[1]: message repeated 2 times: [ Reloading.]
Jul 10 09:10:43 *****-PC-LL800KG systemd[1]: Starting LSB: Record successful boot for GRUB...
Jul 10 09:10:43 *****-PC-LL800KG grub-common[2223]: * Recording successful boot for GRUB
Jul 10 09:10:43 *****-PC-LL800KG grub-common[2223]: ...done.
Jul 10 09:10:43 *****-PC-LL800KG systemd[1]: Started LSB: Record successful boot for GRUB.
Jul 10 09:10:43 *****-PC-LL800KG systemd[1]: Reloading.
Jul 10 09:11:18 *****-PC-LL800KG anacron[455]: Job `cron.daily' started
Jul 10 09:11:18 *****-PC-LL800KG anacron[4754]: Updated timestamp for job `cron.daily' to 2018-07-10
(sudo gedit /var/log/syslog.2.gz は空っぽで何も表示されませんでした。ディレクトリを開いたところファイルが見当たりませんでした。)
アドバイスを頂いて、現在ご報告できるのは以上の内容です。
お付き合い下さり有難うございました。
なにかの手がかりが有るようでしたら、ぜひまたご教示ください。
よろしくお願いいたします。
magic sysreq が有効になっているかどうかを調べるには端末から
cat /proc/sys/kernel/sysrq
を実行します。0 なら全機能が無効、1 なら全機能が有効、 それ以外だと有効になっている機能と無効になっている機能がある状態です。何が有効になっているかは例えば
sysrq の kernel documentの表をみて判断します。例えば 176 なら 176=128+32+16 なので reboot/poweroff, R/O remount, sync のみが有効になっています。
bayou による投稿:
shutdown を実行
(フリーズしました。おしまいの3行は以下のとおりです。)
[ OK ] Reached target Unmount All Filesystems.
[ OK ] Reached target Final Step
Starting Power Off ...
これだと user space に問題はなく kernel に問題があるように思えます。というわけで /var/log/dmesg をちゃんと調べないと原因がわかりません。根気の要る作業ですが error/warning メッセージを調べてください。
良いお知らせも有ります。ファイルシステムが unmount されているのでこの状態で電源ボタンを長押ししてもファイルシステムの状態が悪化することはありません。その場しのぎに過ぎませんが「Starting Power Off というメッセージが表示された後電源ボタンの長押し」という運用方法もとりあえず選択肢になり得ると思います。
#ただ、いちいちCLI からログインしたり、reboot はできないのでは面倒ですよね。
また、SysRq を発生させるのに Fn キーを押さなければならないノートパソコンの場合、magic sysrq による R/O remount はやりそこねることがあるのですが(Fn を押したままだと u ではなく 4 を押したことになるため)既に unmount されているのならこの点は心配いりません。
bayou による投稿:
再度立ち上げました。なにやらたくさんの文字列が次々に現れたあとに正常に18.04が立ち上がりましたが、文字列の流れが早いので何らかのエラーメッセージが表示されたのかどうかさえ判りません。
教科書的には serial console をセットアップするということになるのでしょうけど...面倒なので私はやったことがありません。デジカメで動画撮影して後でコマ送り再生で内容を読み取っています。
オフライン
taka.zoo.nさん、ご返信ありがとうございます。magic sysreq が有効になっているかどうかを教えていただいたコマンドで調べました。
*****@*****-PC-LL800KG:~$ cat /proc/sys/kernel/sysrq
176
reboot/poweroff, R/O remount, sync のみが有効 です。
「 user space に問題はなく kernel に問題がある」のであれば、今後kernelがアップデートされていくうちに解決される可能性もありますか?
(関連情報として)
18.04LTSは電源管理周辺に問題が散見されます。上記のほか、DELL Inspiron1525とNEC VersaPro V25AAでログアウト(←デスクトップ環境の切り替えのため)に失敗することが多発しています。また、DELL Inspiron1525では起動するのに異常に長い時間を要し途中で不安になるほどです。NEC Lavie LL850H/J では概ね問題ありませんが、laptop lid を閉じたときにディスプレイの電源を落とす設定が機能しません(設定はできますが閉じても電源は落ちません)。いっぽう、DELL Latitude E5400とVostro1015ではいまのところ何も問題は起きていません。いずれのPCもLubuntu18.04にLXDE以外のデスクトップを複数載せてアプリケーションも多数インストールしました。同様の使用環境です。
すいません、「kernel に問題がある」は誤解を招く表現でした。言いたかったことは「問題は kernel mode で実行される部分に起因する」ということです。
「今後kernelがアップデートされていくうちに解決される可能性もありますか?」ですが:
(1) kernel コードにbugがある場合:誰かが適切な bug report を出せば今後の kernel アップデートで問題が解決することが見込めます。
(2) PC の BIOS/UEFI 、ハードウェア記述に bug がある場合:kernel コードにはbugが無いので当然 kernel アップデートではこの問題は解決しません。この場合、問題を解決するには:
(2-a) メーカーが firmware を更新する
(2-b) firmware の bug を回避するよう kernel に手を入れる
のどちらかでしょうけど、古いPCの場合(2-a)は望み薄です。(まぁ、linux がサポート対象でもない限り、新しくても望み薄ですが...)
(2-b) を自分でやるのはそれなりの skill と労力が必要です。しかし、典型的な問題には既に回避策が kernel に組み込まれていることがあり、適切な kernel command line を与えることで回避できるかもしれません。
いずれにせよ、正しい対処のためには原因を特定することが必要です。
オフライン
taka.zoo.nさん、ご教示くださり感謝申し上げます。原因を特定する能力を持ち合わせておりませんので一旦断念します。電源管理に関係するこうした問題は18.04LTSになって増えているように思います。どなたかの指摘によって今後改善される内容が偶然に私の使用環境にも作用することを期待して待ちます。有難うございました。
古いカーネルを適用することで、ひとまず問題を回避できました。taka.zoo.nさんがアドバイスしてくださった原因特定のための手立てとはまったく異なりますのでどこまで役に立つ情報なのかはわかりませんが、報告させていただきます。
①古いカーネルをインストールするためにukuuを入れました。
sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
②使用可能なカーネルのリストを呼び出しました。
sudo ukuu --list
③古いカーネルをインストールしました。16.04LTSで使用しているカーネル(v4.1.31)を含め、あてずっぽうに次の4つを入れてみました。
sudo ukuu --install v4.13.1
sudo ukuu --install v4.6.4
sudo ukuu --install v4.5.1-wily
sudo ukuu --install v4.4.15
③新しいアーネルをすべて削除しました。
sudo ukuu --remove v4.17.-- など
④再度、リストを確認しました。
sudo ukuu --list
一番古そうなカーネルを発見しました(v4.0.vivid)。
⑤grubをアップデートしました。
sudo update-grub
⑥パワーボタンで強制終了後、再度呼び出し、grubメニューの advanced options for Ubuntu18.04.1LTS をクリック、リストの中から一番古そうなカーネルを選んで起動させました。これで、rebootもshutdownもできるようになりました。
⑦reboot、ブートローダーがのっているパーティション(16.04LTS)を起動して、grub-customizerを編集。advanced options for Ubuntu18.04.1LTSのフォルダから目的の一番古いカーネル 4.0.0-040000generic を取り出して上の方へ移動させ、使いやすくしました。
⑧インストールした4つの古いカーネルすべてを試したところ、v4.13.1 と v4.6.4 の2つはrebootができなかったので、削除しました。
sudo ukuu --remove v4.13.1 && sudo ukuu --remove v4.6.4
根本的な解決方法ではありませんが、私と同じ問題に悩まされてる方々のご参考になれば幸いです。
(追記)
18.04LTSでは起動に長時間を要するパソコンでも、古いカーネルを適用することで16.04LTSと同程度の短時間で起動できるようになりました。
なお、v4.0-vivid , v4.1-wily , v4.2-wily , v4.3-wily , v4.5-wily , までのカーネルが有効であることが判りましたので、それ以降はインストールせず4.15や4.17などを削除すれば、とくにgrub-customizerを編集しなくても上記の中で最新のカーネルを選んでくれます。
上記の作業により、rebootもshutdownもできなかったNEC Lavie-LL800KG、起動に異常な長時間を要したDELL Inspiron-1525、SONY VAIO VGN-CR50Bの3台が、ストレスなく使えるようになりました。ただしDELL Inspiron-1525については内蔵のBroadcom製無線lanカードがまったく機能しなくなりました。いまは外付けの子機を装着して使っています。なにか進捗があればご報告します。
DELL Inspiron-1525のBroadcom製無線lanカードが機能しなくなった件は、新しいkernel(v4.15)の消し忘れが原因でした。改めて削除し、v4.5-wily が選択されるようにしたところ、解決いたしました。
NECのLavieLL800Kなど一部の古いPCでshutdownやrebootができなくなり、古いkernelのV4.5-wilyを充てることで回避してきた問題ですが、試みに一気に新しいkernelのV5.4.15を充ててみたところ、問題なく使用できることがわかりました。こんな古いPCを使っている方は滅多にいらっしゃらないと思いますが、念の為ご報告します。
20.04LTSをクリーンインストールした場合でも、stuckすることなくなく使用できることが確認できました。(かつて18.04でstuckした古い特定の機種について)