Pi의 SD 카드가 자주 손상되는 것을 어떻게 방지 할 수 있습니까?


47

부팅 할 때 I / O 오류가 발생하고이 '오류'가 발생합니다. (최신 버전의 Raspbian을 실행 중입니다)

Entering kdb (current=0xca82ac80, pid 1) due to keyboard entry
kdb> _

그리고 나는 그것을 전에 보았고 올바르게 종료하지 않아 SD 카드가 손상되었다고 설명했습니다. 일주일 후, 나는 전원이 3 번 깜박 거릴 때 까지이 오류를 다루지 않았으며 이제는 다시 부팅 할 수 없습니다. 하루 종일 SD 카드를 다시 준비하는 것 같습니다! 나는 Pi의 기능을 좋아한다는 것을 언급하지 않고 이것을 좋아하지 않습니다. 그러나이 '브레이크 포인트'는 나를 미치게합니다! 이것을 막거나 무언가를 강화하여 전원이 꺼지면 발생하지 않는 방법이 있습니까? 어떤 제안? 감사!

추신 : 내 zip 파일이 손상되지 않고 추출 서비스가 Win32DiskImager입니다.


2
귀하의 카드 가이 목록
버터

UPS에 대해 생각해 본 적이 있습니까?
lenik 2016 년

@lenik 서지 방지기와 같은 것이 필요합니까?
user151324

제대로 종료하지 않고 전원을 끄니까?
jippie

1
@coding_corgi 배터리 내부에 정전이 발생한 후 5-10 분 동안 전원을 공급하여 짧은 전원 플릭을 무시하고 오랫동안 전원이 꺼 졌을 때 컴퓨터를 종료 (자동으로) 할 수있는 시간이 더 많이있을 수 있습니다. 시각. 간단히 "무정전 전원 공급 장치"또는 UPS라고합니다.
lenik 2016 년

답변:


48

HW 및 호환 가능한 SD 카드 목록을 확인하는 것에 대해서는 쓰지 않겠습니다. 대부분 이미 확인 했으므로 가능합니다. 내가 작성하려고하는 것은 영구적 인 해결책으로, 문제를 싹 트고 문제를 영구적으로 해결할 수 있습니다.

전원 스위치를 뒤집을 때 SD 카드가 파손되지 않게하려면 읽기 전용 모드로 사용해야합니다. SD 카드에 기록 된 내용이 없으면 수행 한 작업에 관계없이 손상되지 않습니다.

분명히 (하지만 작동하지 않는) 솔루션은 SD 카드 측면에서 "읽기 전용"스위치를 뒤집 으려는 시도 일 것입니다. 불행히도 회로도 에서이 스위치가 아무 데나 라우팅되지 않고 위치가 일반적으로 무시되기 때문에 작동하지 않습니다.

또 다른 더 미묘하지만 작동하는 방법은 /etc/fstab모든 파티션을 읽기 전용으로 마운트 하도록 수정하는 것 입니다. 이 방법의 단점은 로그를 다른 곳에 작성해야하고 (USB 스틱, RAM 드라이브?) RAM 드라이브의 경우 재부팅하는 동안 로그가 유지되지 않습니다. 이것을하기 위해:

  1. 원하는 방법으로 RPi 이미지를 SD 카드에 복사하십시오.
  2. SD에서 부팅 raspi-config하면 자동으로 시작됩니다. "파일 시스템 확장"하지 말고 시간대 및 국가 별 설정 만 설정하십시오.
  3. 를 실행 sudo fdisk /dev/mmcblk0하고 'p'를 눌러 현재 파티션 테이블을 인쇄하십시오. 그런 다음 다음 명령을 입력하십시오.

    n        Create a new partition
    [enter]  Make a primary partition
    [enter]  Use the default number
    [#]      1 greater than the end of mmcblk0p2
    [enter]  Expand to the end of the SD card
    w        Write the partition table and exit
    
  4. 편집 /etc/fstab. 다음과 같이 보일 것입니다 :

    proc            /proc     proc    defaults 0 0
    /dev/mmcblk0p1  /boot     vfat    ro       0 0
    /dev/mmcblk0p2  /         ext4    ro       0 0
    /dev/mmcblk0p3  /home     ext4    defaults,errors=remount-ro  0  1
    none            /var/run  ramfs   size=1M  0 0
    none            /var/log  ramfs   size=1M  0 0
    
  5. sudo partprobe새 파티션을 인식하기 위해 실행하십시오 .

  6. 로 새 파티션을 포맷하십시오 sudo mkfs --type ext4 /dev/mmcblk0p3.
  7. 재부팅하십시오.

어떤 이유로 시스템을 변경해야하는 경우 쓰기 권한으로 읽기 전용 파티션을 다시 마운트 할 수 있습니다.

sudo mount -o remount,rw /dev/mmcblk0p2

잠깐, 이렇게 하면 SD 카드에 쓸 없습니까? 아니면 부팅 할 때만 ?
user151324

1
@coding_corgi SD 카드 쓰기를 완전히 중지해야합니다.
apnorton

왜 SD 카드에 기록해야합니까? SD에 쓰기 + 전원 차단 = FS 손상, 일부 데이터를 저장해야하는 경우 USB 스틱을 사용하거나 SD 카드에 별도의 파티션을 만들 수 있습니다. 이 경우 최소한 시스템이 시작되어 실행 된 후 데이터의 손상 가능성을 검사 할 수 있습니다.
lenik 2016 년

@anorton SD 카드의 처음 두 파티션에 대한 쓰기 액세스를 중지하지만 다른 파티션을 만들 수 없거나 다른 미디어를 사용하여 데이터를 저장한다고 말하는 사람은 없습니다. 예를 들어 네트워크를 통해 데이터를 쓰는 읽기 전용 RasPi는 매우 안정적인 솔루션 일 수 있습니다.
lenik 2016 년

1
raspi cam에서 내 SD 카드 비디오 데이터에 쓰고 여러 번 죽었습니다! 부팅, 와이어 연결 해제 또는 시스템 충돌과 관련하여 한 번도 문제가 없었습니다. 플러그 앤 플레이시 읽기 전용은 프로덕션 환경에 적합합니다. 이 문제는 개발 과정에서 발생하지 않아야합니다. 커널이 처리 할 수있는 것보다 더 높은 수준에서 무언가가 일어나기 때문에 읽기 만해도 데이터가 엉망이 될 것이라고 생각합니다.
Piotr Kula 2016 년

4

RPi를 무엇을 사용 하느냐에 따라 "라즈 비안의 블랙 아웃 방지 풍미"인 IPE에 관심이있을 수 있습니다.

RPi를 부팅하는 데 사용할 계획입니다. 데이터를 쓰려면 읽기 전용으로 마운트 할 USB 드라이브를 사용합니다 (SD를 복구하는 것보다 SD가 안전하고 USB 드라이브가 손상되는 것을 선호합니다)

IPE 홈페이지 참조

여기에 표시된대로 "또한"ipe-rw "및"ipe-ro "를 사용하여 루트 파일 시스템을 쓰기 가능 또는 읽기 전용 모드로 전환하십시오."


2

주 파티션에 USB 플래시 드라이브를 사용하여이 문제를 극복했습니다.

  1. Raspbian 이미지를 USB 드라이브로 복원

  2. SD 카드를 지방으로 포맷

  3. 팻 파티션의 내용을 USB 드라이브에서 SD 카드로 복사

  4. SD 카드에서 config.txt를 수정하여 / dev / sda에서 부팅

기본적으로 rpi는 여전히 SD 카드에서 부팅되지만 OS 및 읽기 / 쓰기에는 USB 드라이브를 사용합니다.



1

RPi가 기본 속도 (예 : 700mhz의 CPU)로 실행되고 있는지 확인하십시오. 개인적으로 다양한 SD 카드로 인해 스토리지 손상이 발생했지만 시계를 통해 실행할 때만 가능합니다. 불행히도 일부 배포판 (이미지)에는 config.txt의 의심스러운 설정이 있습니다.


그래도 CPU를 오버 클로킹하지 않았습니다.
user151324

다른 RPi를 시도하여 자신의 결점이 있거나 파손될 가능성을 배제하십시오.
Jitter

하나만 있음
user151324

옵션이 부족하고 RMA를 요청할 수 있습니다.
jitter

RMA? 그게 뭐야?
user151324

1

Raspberry Pi가 고정 된 경우 올바르게 종료 할 수 없습니다. 그러면 도움이됩니다. 나는 이것을 알기 전에 내 SD 카드를 몇 개 파산했다.

Alt + PrintScreen을 누른 상태에서 해당 키를 누른 상태에서 다음 키를 한 번에 하나씩 순서대로 누르십시오.

Alt+ PrintScreen+R E I S U O

또는

Alt+ PrintScreen+ R E I S U B(재부트)

기억하기 편리한 니모닉은 시스템이 완전히 고장난 경우에도 재부팅입니다.

재부팅 대신 시스템을 종료하려면 "B"대신 "O"를 사용하십시오 (O = off, B = boot).

출처 : https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262


0

elinux 사이트에서 찾을 수 있습니다. 상황에 맞는 것을 선택했지만 자세한 내용은 방문하십시오 ...

  • 문제가있는 경우 rpi-update의 최신 펌웨어 버전이 있는지 확인하십시오
  • 일부 SD 카드는 R-Pi에서 작동하지 않으므로 알려진 SD 카드 목록을 확인하십시오 .
  • SD 카드를 설정하는 데 문제가있는 경우 SD 카드를 완전히 지워서 시작할 수 있습니다. 특히 다른 곳에서 사용 중이고 여전히 데이터 / 파티션이 포함되어있는 경우에 좋습니다. 때로는 불량 섹터를 찾아 무시 목록에 추가 할 수 있으므로 FULL (낮은 레벨) 형식을 사용하는 것이 좋습니다.
    • Windows 및 Mac 사용자는 SD Association ( https://www.sdcard.org/downloads/formatter_3/) 에서 포맷 도구를 다운로드 할 수 있습니다.
    • 디지털 카메라에서 카드를 다시 포맷하는 것도 쉽습니다.
    • dd 명령을 사용하여 Linux 또는 Mac OS에서 SD 카드를 수동으로 준비하는 경우이 작업으로 기존 데이터 및 파티션이 완전히 지워집니다. 기존 파티션 (예 : / dev / sdd1)이 아닌 전체 카드 (예 : / dev / sdd)에 쓰십시오.
  • 최신 펌웨어에서 작동하지 않는 sdcard가있는 경우 여기로 이동하십시오 .
  • 전원 공급 장치가 양호한 지 확인하십시오. 모든 것을 연결 해제하고 얼마나 오래 지속되는지보십시오. 안정성을 테스트하여 항목을 하나씩 다시 연결하십시오.

위의 모든 단계를 수행 한 경우 시도 할 수있는 유일한 방법은 호환 목록에서 신중하게 선택된 다른 SD 카드를 사용하는 것입니다. 또한 신뢰할 수있는 장소에서 원본 카드를 구입하십시오. 이베이 중국이나 다른 것과는 다릅니다.


SanDisk, Kingston 및 Lexar 프로세스에서 3 개의 sd 카드 (모두 지원됨)를 사용했으며 SD 카드도 수동으로 설정 하지 않았 으며 Ubuntu 및 Mac OS X에서 시도한 후 Win32DiskImager를 사용했습니다.
user151324

당신의 fs를 읽기 만하면 그것을 고쳐야한다는 것이 현명합니다. 수백만의 사람들 중이 문제가 있습니다. 파일 시스템을 엉망으로 만드는 쓰레기 / 바이러스가있을 수 있습니다. 읽기 전용 루트는 엉덩이에 고통입니다 ... 기다리고 참조하십시오.
Piotr Kula 2016 년

고마워, 이상한 일이 일어나고 있지만
분명히

0

모든 접지를 덮기 위해 전원 공급 장치가 충분한 지 확인하십시오. 다른 충전기를 사용해 보거나 RPI를 PC USB 포트에 연결하여 테스트하십시오. 권장되는 RPI 공급은 약 700mA이지만 일부 약한 충전기는이를 안정적인 수준으로 유지하지 못할 수 있습니다.

나는 며칠 동안 미친 행동을 시작한 라우터가 있었고, 다시 갔다가 다시 미친 듯이 갔다가 나중에 다시 괜찮습니다 ... 나는 라우터가 있던 시간에 전원 공급 장치가 변화하는 전압 (3V ~ 5.5V)을 출력하고 있음을 발견했습니다 미친. 해당 소모품을 새 것으로 교체하면 괜찮습니다. 전원 공급 장치를 교체하고 출력 전압을 측정하십시오.

마지막으로, OS를 종료하여 RPI를 끄고 빨간색 LED가 하나만있는 경우에만 RPI를 분리하십시오. 빨간색 LED가 아닌 다른 RPI가 있으면 실제로 종료되지 않습니다. 또한 플러그에서 전원 공급 장치를 제거하여 rpi 연결을 끊지 않도록하십시오. RPI에서 전원을 제거하는 것이 좋으며 플러그에서 전원 공급 장치를 원격으로 연결 한 후에 만 ​​낫습니다.


아니요,
2100A에서

0

RS Components의 pi와 비슷한 문제가 있습니다. 이것은 중국에서 만든 오줌 중 하나입니다. 영국에서 Element 14로 만든 다른 제품은 동일한 sdcard 및 전원 공급 장치로 손상되지 않았습니다. ra 구성 요소 장치에 하드웨어 결함이있을 수 있습니다. 물론 확실하지는 않지만 모든 것이 그 방향을 가리키는 것으로 보입니다.


0

또한 PI에서 5 일 연속 5 번 SD 장애가 발생했으며 한 달 동안 작동하는 경우도있었습니다.

1 년 이상 믿을 수있게 실행할 수있는 유일한 방법은 USB 스틱에서 부팅하는 것입니다. 이렇게하면 SD 카드를 사용하지 않고 (부팅시에만) 약 500MB의 SD 카드 (싼)와 USB 스틱이 필요합니다.


0

나는 sync종료하기 전에 할 수있는 힌트를 따랐으며 지금 까지이 명령으로 약간의 성공을 거두었습니다.

sync; sudo shutdown -t 9 -r now

위의 솔루션을 사용하여 Raspberry에 여전히 문제가 있습니까?
CuriousMind

더 이상 문제가 없었지만 파이를 종료하는 대신 파이를 켜는 경향이 있음을 인정합니다. 그러나 내 생각에 나는 위의 줄로 50 번 이상 잘랐으며 그 이후로 한 번도 실패하지 않았다고 생각합니다. 따라서 그 통계에서 작동합니다.
dirkk0

이것이 문제를 해결할 것이라고 생각하지 않습니다. 제어 된 종료를 실행하면 의도적으로 sd 카드가 손상되지 않습니다. 부패는 장치 (또는 정전이 발생하는) 당신의 관련이있는 간단하게 분리되어있는 경우에 주로 발생하는 것 sync또는 shutdown당신이 실행하지 않으면 명령을 sync실행할 수 없게 보인다 (예상치 못한!) 분리하기 전에 즉시.
nhee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.