9
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Raspberry Pi の /etc/fstab をいじって再起動したら起動しなくなった

また立て直しかと焦ったので解決方法をメモ。

環境

  • ハード: 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 に繋いで、マウントされた bootcmdline.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 にマウントして、再度 bootcmdline.txt を編集。
追記した半角スペースと init=/bin/sh を削除して保存し、また SD カードを Pi に戻して電源入れる。
Pi がちゃんと起動すればOK。

参考

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
9
Help us understand the problem. What are the problem?