/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커널 명령줄이 변경됩니다. (또는 손상된 파일을 편집하는 것이 가능할 수도 있습니다. 가능하다면 이렇게 하는 것이 좋습니다)

또 다른 옵션은 Pi에서 SD 카드를 꺼내고 SD 카드 리더를 사용하여 부팅 파티션(FAT32라고 생각하므로 Windows에서 이 작업을 수행할 수 있어야 함) 또는 루트 파티션(아마도 ext4)을 마운트하는 것입니다. , 따라서 Linux를 실행해야 합니다). 그런 다음 커널 명령줄을 변경 cmdline.txt하거나 직접 수정할 수 있습니다 rc.local. cmdline.txtWindows에서 편집하는 경우 Unix 스타일 줄 끝을 이해하고 이를 조작하지 않는 편집기를 사용해야 합니다.

개인적으로 내 접근 방식은 Pi의 루트 파일 시스템을 Linux 시스템에 마운트하고 손상된 rc.local.

cmdline.txt물론, Pi를 다시 부팅한 후에는 Pi에서 모든 복구 옵션을 제거하는 것을 잊지 마세요.

관련 정보