妻「ねぇ、SysRq キーがないんだけど」
2021年10月29日 金曜日
復習: 妻のパソコンを Windows 7 から Windows 10 にアップグレードしたら使いにくいとキレられたので Linux にした件
今年に入ってから、妻のノート PC を再起動すると Emergency mode になって起動しない、という状況に頻繁に遭遇するようになりました。こんな感じのメッセージです。
*** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Give root password for maintenance (or type Control-D to continue):
見慣れないメッセージに error と表示されるとビビりますが、ファイルシステムにエラーがあって起動しないだけなので、fsck で修復を試みれば良いのだ。稀によくある。
# e2fsck -C 0 -y -v /dev/sda3
などとして修正 & 再起動していましたが、そのたびに毎回呼ばれるのも面倒くさくなってきたので、寿命と思って新しい PC を買うことにしました。
買い替え先のノート PC は Lenovo IdeaPad Flex 550。
ペンタブが欲しいと言っていたので、ペン付きのタッチパネルディスプレイにしたようです。確かにこの機種はコスパ高い。
当たり前ですが、最新の Windows 10 がプリインストールされていますので、「これを使えばよいのでは?」と言ってみましたが、「もう Windows に戻る気はないの、Linux 入れて」などと言うものだから仕方ありません。まるで最初から居なかったかのような元彼に対してへの言い草です。
このペンが Linux で使えるのか事前に調べても情報が見つからずよく分かりませんでしたが、杞憂でした。
openSUSE Leap 15.3 をインストールしたら、何もせずちゃんと使えていて素晴らしい。(調べてみたら自動的に wacom のドライバが読み込まれていました)
あとは、/home ディレクトリを丸ごと旧 PC から rsync するだけで移行作業は完了(※1)。各種設定もちゃんと移行されています。
もう fsck しなくてよくなった。これで安心して寝ることができます。
そして 3か月くらい経った、ある日のこと。
テレワーク続きで久々に出社して会社から帰ってきたら、開口一番に、
「ねぇ、新しいパソコンに SysRq キーがないんだけど。」
そんなバカな。
そう言いながらキーボードを見ると、確かにありません。
どうしてこんな質問をされるかというと、PC が固まっちゃってマウス操作や、[Ctrl] + [Alt] + [Delete]/[Backspace] など全く応答を受け付けなくなったら、可能な限り安全にシャットダウンできるよう、電源ボタンを押す前に、次の手順で「マジック SysRq キー」を押して再起動すれば良い、と伝えていたからです。
これさえ覚えておけば、ほとんどの場合、電源ボタンに触れなくても再起動できます(※2)。
- [Alt] + [SysRq] + [S] (Emergency Sync; マウント済みファイルシステムを同期する)
- [Alt] + [SysRq] + [U] (Emergency Unmount; マウント済みパーティションを読み込み専用で再マウントする)
- [Alt] + [SysRq] + [B] (Emergency reBoot; 強制再起動する)
調べてみたら、ちゃんとサポート情報に載っていました。
https://support.lenovo.com/jp/ja/solutions/ht074004-keyboard-shortcut-for-break-pause-scrlk-sysrq-function-on-thinkpad-6-rows-precision-keyboard-thinkpad
新しい機種のシルクスクリーンのThinkPadには、4つのキーボードのショートカット機能 (Break, SysRq, ScrLK, Pause)がありません。内蔵キーパッドは、新6 列 ThinkPad プレシャス・キーボードから削除されました。
対策
サポート対象ファンクションキーと対応するキーボードショートカットキーは、以下になります。
Break (FN + B) または (FN + Ctrl + B)
SysRq (FN + S)
ScrLK (FN + K)
Pause (FN + P) または (FN + Alt + P) または (FN + Ctrl + P)
なるほど、[Fn] + [S] = [SysRq] ということだな。解決!
ん? いや、ちょっと待てよ。
これ、どうやって Emergency Sync すればいいんだ!?
答え
↓
答え
[SysRq] キーの代わりに [Print Screen] キーを押す。
https://www.kernel.org/doc/html/v5.3/admin-guide/sysrq.html
How do I use the magic SysRq key?
On x86 – You press the key combo
ALT-SysRq-<command key>
.Note
Some keyboards may not have a key labeled ‘SysRq’. The ‘SysRq’ key is also known as the ‘Print Screen’ key. Also some keyboards cannot handle so many keys being pressed at the same time, so you might have better luck with press
Alt
, pressSysRq
, releaseSysRq
, press<command key>
, release everything.
知らなかった…。ノート PC だと、[Fn] キーと同時押しで手がもつれそうな組み合わせになることがありますが、[Print Screen] キーならそれを回避できるケースもありそうです。
これで安心して寝ることができます。
- インストール直後、サスペンドすると復帰しない、という問題に遭遇しましたが、これは openSUSE Leap 15.3 標準の Kernel (5.3.18) から、5.12.13 にバージョンを上げることで正常にサスペンドから復帰できるようになりました。Kernel を自前でリビルトする方法もありますが、openSUSE にその必要はありません。software.opensuse.org からワンクリックで、簡単にコミュニティが提供する最新のバージョンを試すことができます。[↑]
- 識者はご存知の通り、Linux が全く応答を受け付けないというのは稀で、ssh で入ってみたり、コンソール(tty1)に落ちれば何かできることは多いですが、そのオペレーションを妻に求めるのは無理なので、キーを押すだけの最も簡単な方法を教えています。[↑]