美しいRaspberry Pi B 2に組み込まれているRaspbian 3.18.7 ARMV71 GNU / Linuxで/etc/init.d
明らかに破損し、愚かなファイルを含むファイルの下にいくつかの「静かな」オプションを設定すると、次の症状が発生します。
- Linuxが起動すると、プロンプトが表示されます
root@(none)
。 - システムは「読み取り専用ファイルシステム」です。
- すべてではなくても、ほとんどは破損した場合に機能します。
エラーは注釈付きの行の下にあるため、その/etc/init.d/dphys-swapfile
ままにしてください。これで編集できません。
もちろん、元のファイルのバックアップは<filename>_bkp
名前の下にありますが、システムは読み取り専用で、名前変更コマンドはすべて無効になっています。
init.d
これらのファイルの下の「攻撃的な」行を編集したり、バックアップファイルを復元したり、回復モードで起動したりするにはどうすればよいですか?
Raspberry Piスワップソリューションはすべて「削除と再インストール」タイプですが、これはLinuxスタイルの問題であり、これらの愚かさを回復するための別のコマンドライン方法があると確信しています。
ベストアンサー1
プロンプトが表示されたら、root@(none)
回復はほぼ完了です。すでにルートシェルがあります。リカバリの最も難しい部分は一般的に問題を特定することですが、正しいファイルのバックアップがあれば簡単です。
最初にすべきことは、いくつかのファイルシステムをマウントすることです。何をすべきかによって必要となる場合もあれば、不要な場合もありますが、害はありません。
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts
mount -t tmpfs -o mode=1755 tmpfs /tmp
mount -t tmpfs -o mode=1755 tmpfs /run
そのエントリがない場合/run
(あなたのRaspbianバージョンに存在するかどうかは不明です)、この行を無視してください。そうでなければ/dev/pts
、これは何かがより落ちているという兆候です/dev
。これはシステムにdevtmpfsが組み込まれていることを意味するので、実行する必要がありますmount -t devtmpfs devtmpfs /dev
。
また、ルートファイルシステムの読み書きを再マウントする必要があります。その後、新しいシェルを起動します(取得したシェルはプロセスID 1であるため、信号処理が奇妙になり、特にCtrl+CとCtrl+がZ機能しなくなります)。
mount -o remount,rw /
bash
これで修理する準備が整いました。
完了したら、ルートファイルシステムを読み取り専用に再マウントし(他のファイルシステムは読み取り/書き込みでマウントします)、再起動します。
mount -o remount,ro /
reboot -f