/etc/rc.localで無限再起動ループを停止します。

/etc/rc.localで無限再起動ループを停止します。

簡単に言えば、私の不幸な一連の開発ミスのせいで/etc/rc.localクイックランreboot(私の場合はPiから)。これで、マシンは無限の再起動ループに陥りました。

ブロックできますか?ログインプロンプトが表示される前に再起動されますが、そうでなくても停止する時間はありません。

/etc/rc.localが実行されないようにする魔法のキーボードショートカットはありますか?

私が見つけた起動時に無限再起動ループを終了する(rc.local)しかし、これは事後修正ではなく、実際に問題を事前に防止することです。こんな。

ベストアンサー1

PCでは、カーネルコマンドラインを編集し(たとえば)、次のいずれかを追加できます。

  • systemd.unit=emergency.targetただシェルを入手してください(systemdが必要です)。
  • systemd.unit=rescue.targetさらに作業を始めるには、シェル(systemdが必要)を起動します。
  • singleSysV initシステムからシングルユーザーモードで起動します。しかし、rc.localWheezyがこれを避けるかどうかは完全にはわかりません。
  • init=/bin/bash、これはinitを完全に起動せずに代わりにシェルを提供します(ここでルートファイルシステムを読み書きで再マウントし、破損したファイルを編集することができます)。しかし、Piのキーボードが正しく動作するかどうかはわかりません。 initなしでシステムを設定するので、少しの知識が必要です。通常、引き続きexec /sbin/initブートを使用できます。 (次に適用されます。どのシステムを完全にバイパスしたため、システムの初期化)。

ラズベリーパイでは、これを行う方法はないと思います。〜しない限りNOOBSを使用しています。この場合、Shiftキーを押し続けると編集可能な回復画面が表示され、カーネルcmdline.txtコマンドラインが変更されます。 (または破損したファイルを編集することが可能かもしれません。可能であればこれをお勧めします)

もう1つのオプションは、PiからSDカードを取り出し、SDカードリーダーを使用してブートパーティション(FAT32と考えるため、Windowsでこれを行うことができるはずです)またはルートパーティション(おそらくext4)をマウントすることです。ので、Linuxを実行する必要があります)。その後、カーネルのコマンドラインを変更しcmdline.txtたり直接変更したりできますrc.localcmdline.txtWindowsで編集する場合は、Unixスタイルの行末を理解し、それを操作しないエディタを使用する必要があります。

個人的に私のアプローチは、PiのルートファイルシステムをLinuxシステムにマウントし、破損しているrc.local

cmdline.txtもちろん、Piを再起動したら、Piからすべての回復オプションを削除することを忘れないでください。

おすすめ記事