また立て直しかと焦ったので解決方法をメモ。
環境
- ハード: Raspberry Pi 2 Model B
- OS: Raspbian Buster (CUI)
- 同一ネットワーク上の PC から Pi に ssh できる (あんまり関係ない)
経緯
-
/etc/fstab
を編集して再起動したら ssh 出来なくなった - Pi をモニタに繋いでみたら
Cannnot open access to console, the root account is locked.
と出ていた
対応
1. Pi の電源をオフ
電源を落としてSDカードを取り外す。
2. cmdline.txt
を編集
SD カードを PC に繋いで、マウントされた boot
の cmdline.txt
を編集する。
行の最後尾に半角スペース入れて init=/bin/sh
と追記。
SD カードを取り出す。
3. Pi を起動
Pi に SD カードを入れて、モニタに繋いで起動。
標準出力が止まったと思ったら Enter とか ls
とか何かコマンドを入力してみる。
/bin/sh
がちゃんと動いてたら↓へ進む。動いてなかったら別の方法をぐぐる。
4. /
を読み込みと書き込みの両方でマウントする
/etc/fstab
を修正したいけどこの時点では read only になってるので、書き込めるようにする。
この時もし mount
コマンドを受け付けなかったら、一旦 /
をアンマウントしてから改めてマウントする。
umount /
mount -o remount,rw /dev/mmcblk0p2 /
多分 mmcblk0p2
は固定。ちがったらごめん。
5. /etc/fstab
を編集
vi /etc/fstab
とかで編集。
それっぽい箇所をコメントアウトして保存。
6. ログアウトしつつ Pi の電源落とす
念の為 sync
コマンド打ってから exit
とかでログアウト。
カーネルパニック的な表示が出るけどこれでOKらしい。電源を落とす。
7. cmdline.txt
を戻す
SD カードを取り出して PC にマウントして、再度 boot
の cmdline.txt
を編集。
追記した半角スペースと init=/bin/sh
を削除して保存し、また SD カードを Pi に戻して電源入れる。
Pi がちゃんと起動すればOK。