/etc를 잘못 변경한 후 Raspbian이 root@(none) 프롬프트로 부팅됩니다.

/etc를 잘못 변경한 후 Raspbian이 root@(none) 프롬프트로 부팅됩니다.

아름다운 Raspberry Pi B 2에 내장된 Raspbian 3.18.7 ARMV71 GNU/Linux에서 /etc/init.d명백히 손상되고 어리석은 파일이 있는 파일 아래에 일부 "조용한" 옵션을 구성하면 다음과 같은 증상이 나타납니다.

  1. Linux가 시작되면 프롬프트가 표시됩니다 root@(none).
  2. 시스템은 "읽기 전용 파일 시스템"입니다.
  3. 전부는 아니더라도 대부분은 파손된 경우 작동합니다.

오류는 주석 처리된 줄 아래에 있으므로 /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+ CCtrl+가 Z작동하지 않게 됩니다).

mount -o remount,rw /
bash

이제 수리할 준비가 되었습니다.

완료되면 루트 파일 시스템을 읽기 전용으로 다시 마운트하고(다른 파일 시스템은 읽기-쓰기로 마운트함) 재부팅합니다.

mount -o remount,ro /
reboot -f

관련 정보