우분투 이미지 후 Micro SD 카드의 읽기 전용 속성을 제거 할 수 없습니다


16

Kingston 32GB Micro SD 카드에서 읽기 전용 속성을 제거 할 수 없습니다. 카드 전체를 닦고 싶습니다.

나는 Raspberry Pi 3와 32GB 마이크로 SD 카드 및 에코를 가지고 놀았습니다. Micro SD 카드는 구입했을 때 신선했습니다. 나는 새로운 우분투 16.04 이미지를 다운로드하고 Windows 10에서 Etcher를 사용하여 카드를 포맷했습니다. 나는 공황 상태에 빠지기 시작했고 나 자신에게 다음과 같이 생각했다. "잘 했어.

내가 잘못했을 수있는 것과 내가해야 할 일을 봤다. 어떤 우분투 이미지도 넣을 수 없다는 것을 알아야했다. 제작자가 제공하는 이미지 중 하나 여야합니다 (제 경우에는 Ubuntu Mate 또는 Raspbian).

Windows에서 수정 시도

Windows 탐색기를 통해 마우스 오른쪽 버튼을 클릭하고 다시 포맷하여 포맷을 시도 할 때 가장 먼저 카드가 읽기 전용 모드라는 것을 알게되었습니다. Windows 탐색기에서 액세스하려고 시도했을 때 놀라지 않은 EFI 디렉토리 만 보여주었습니다.

인터넷에서 가장 먼저 발견 한 것은 카드의 스위치 / 잠금에 관한 것이지만 내 카드에는 전혀 잠금이 없습니다. 카드 자체 나 내가 읽는 데 사용하는 Robson Mini 카드 리더도 마찬가지입니다.

그 후 디스크 편집 방법을 기억하려고했습니다.
외부 드라이브에서 이전 VM-Ware 및 시스템 이미지를 복사해야했기 때문에 여전히 Windows 10을 사용하고 있다는 사실을 기억하십시오.

명령 행을 열고 diskpart를 실행하고 다음을 통해 모든 디스크를 나열합니다.

list disk

931GB HDD, 119GB SSD (Windows가 설치된 위치) 및 29GB Micro SD 카드 출력 :

Datenträger ### 상태 Größe Frei Dyn GPT  
--------------- ------------- ------- ------- --- ---   
Datenträger 0 온라인 119 GB 0 B *  
Datenträger 1 온라인 931 GB 0 B *  
Datenträger 2 온라인 29GB 29GB

내가 얻은 정보에 따라 Datenträger 2 aka Disk 2는 내가 수행하여 편집하려는 카드라는 것을 알았습니다.

select disk 2

여태까지는 그런대로 잘됐다. 그런 다음 다음을 수행하여 읽기 전용 속성을 제거하고 싶었습니다.

attributes disk clear readonly

어느 것도 성공적으로 실행되었습니다.

그러나 내가하려고했을 때 :

clean

"하드웨어 오류 메시지"가 나타납니다 (독일어에서는 여기서 복사하지 않지만 기본적으로 하드웨어 오류 만 표시 함). 기본 파티션을 만들거나 다른 작업을 시도 할 때도이 오류가 발생했습니다.

이 시점에서 저의 공황은 점점 더 커지기 시작했습니다. 그러나 나는 여전히 소매에 약간의 트릭이 있었기 때문에 침착하게 노력했습니다.

EaseUS Partition Master, Etcher (다시) 및 SD Card Formatter 프로그램을 사용하여 카드를 보호 (읽기 전용, 쓰기 방지)하여 모두 실패했습니다.

또한 레지스트리 편집을 사용하여 키를 만들어 스토리지 장치에 대한 Windows의 동작을 변경하려고 시도했습니다.

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

새 키워드 (DWORD WriteProtect)를 만들고 0으로 설정하면 읽기 전용이 아닙니다.

Linux로 수정 시도

그것은 작동하지 않았고 Windows로 신경을 잃기 시작했습니다. 그래서 엉덩이를 벗어 내 외장 드라이브를 검색하고 VM-Ware를 설치하고 학교에 사용하는 Ubuntu 16.04 가상 머신을 실행했습니다.

VM을 시작하면서 우분투가 Windows보다 더 많은 도움을 줄 수 있음을 이미 알았습니다. 첫 번째로 볼 수있는 것은 데스크탑의 "Ubuntu 16.04.2 LTS amd64"라는 카드에 연결된 아이콘이며 여기에는 이미지에서 볼 수있는 Ubuntu의 다양한 작업이 포함되어 있습니다 .

그러나 그것은 도움이되지 않습니다. 그래서 나는 터미널을 시작하고 썼다.

lsblk

카드가 보이는 것을 확인한 것 (sdb) :

이름 MAJ : MIN RM 크기 RO 유형 마운트 포인트
sda 8 : 0 0 30G 0 디스크 
└─sda1 8:10 30G 0 부분 /
sdb 8:16 1 29,2G 1 디스크 
├─sdb1 8:17 1 1,5G 1 파트 / media / pose / Ubuntu 16.04.2 LTS amd64
└─sdb2 8:18 1 2,4M 1 파트 
sr0 11 : 0 1 1024M 0 롬  

그러나 lsblk는 매우 정확하지 않으므로 학교에서 배운 명령을 사용했습니다.

fdisk -l

조금 더 정확했습니다.

디스크 / dev / sda : 30GiB, 32212254720 바이트, 62914560 섹터
단위 : 1 * 512 = 512 바이트의 섹터
섹터 크기 (논리 / 물리) : 512 바이트 / 512 바이트
I / O 크기 (최소 / 최적) : 512 바이트 / 512 바이트
디스크 라벨 유형 : dos
디스크 식별자 : 0xa14a8cb2

장치 부팅 시작 엔드 섹터 크기 ID 유형
/ dev / sda1 2048 62914559 62912512 30G 83 Linux


디스크 / dev / sdb : 29,2 GiB, 31306285056 바이트, 61145088 섹터
단위 : 1 * 512 = 512 바이트의 섹터
섹터 크기 (논리 / 물리) : 512 바이트 / 512 바이트
I / O 크기 (최소 / 최적) : 512 바이트 / 512 바이트
디스크 라벨 유형 : dos
디스크 식별자 : 0x15e2543d

장치 부팅 시작 엔드 섹터 크기 ID 유형
/ dev / sdb1 * 0 3035519 3035520 1,5G 0 비어 있음
/ dev / sdb2 14432 19295 4864 2,4M ef EFI (FAT-12 / 16 / 32)

그리고 나는 마침내 빌어 먹을 Davinci 코드 또는 무언가를 해독했다고 생각했기 때문에 기분이 좋았습니다.

갈라진

오류 메시지와 함께 즉시 열림 :

드라이버 디스크립터는 물리적 블록 크기는 2048 바이트이지만 리눅스는 512 바이트라고 말합니다.

큰 문제가 아니라고 생각했기 때문에 무시했지만 이전 오류를 무시한 직후 다음 오류 메시지가 나타납니다.

/ dev / sdb의 파티션 1이 작성되었지만 사용 중이기 때문에 변경 사항을 커널에 알리지 못했습니다. 결과적으로 이전 파티션은 계속 사용됩니다. 추가로 변경하기 전에 지금 재부팅해야합니다.

그래서 메시지가 말한대로 재부팅하고 재부팅했습니다. 그러나 동일한 두 가지 오류가 다시 발생했기 때문에 이는 아무 소용이 없었습니다. 나는 이번에 그들을 무시하고 학교에서 알았던 좋은 오래된 신뢰할 수있는 창을 열었습니다.

/ dev / sdb로 변경하면 정말 혼란스러워졌습니다. 여기서 볼 수 있듯이 sdb는 카드 대신 내 SSD로 간주되지만 카드의 이미지는 여전히 마운트되어 있기 때문에 상황이 매우 이상합니다. 이 시점에서 나는 실수로 랩톱을 망칠 염려가 없어서 더 이상 일을 계속하기가 너무 어려웠다.

그건 그렇고, 나는 또한 디스크에 액세스 할 수있는 권한을 부여하고 dd명령 을 사용하려고 시도 했지만 동일한 오류 메시지 (액세스 거부, 읽기 전용 또는 뭔가, 나는 확실하지 않지만이 방향으로 뭔가) ).

이전 카드에 대한 희망이 더 이상없는 경우 아마존에서 이미 다른 32GB 마이크로 SD 카드를 주문했습니다. 그러나 나는 아직 포기하지 않습니다.

(일부는 독일어로되어 있지만 유감스럽게 생각합니다.)


SD 카드를 연결 한 상태에서 다시 부팅했기 때문에 디스크 순서가 바뀔 수 있습니다 (다음 번에 다시 연결하지 않고 다시 부팅). 두 번째 이미지는 매우 흥미 롭습니다. 올바르게 이해하면 VM 내부에있는 것입니까? 30GiB 디스크와 29.2GiB SD 카드 만있는 VM?
Attie

예, VM 내에서 그래도 연결하지 않고 재부팅 했으므로 그럴 경우 몰라요. / dev / sda에 VM을 설치할 때 VM에 부여 할 수있는 메모리 공간 (30GiB)이 있습니다. 그러나 어쨌든 그것은이 빌어 먹을 카드가 꽂혀있는
것과 섞였다

답변:


6

글쎄, 당신의 게시물은 확실히 재미있었습니다. 고마워

나는 그것이 당신이 찾고있는 대답이 아니라는 것을 알고 있습니다. 그러나 SD 카드가 읽기 전용 모드로 붙어있는 것처럼 보입니다. 당신은 당신이 할 수있는 모든 것을 다했습니다. 실제로 그렇게 어렵지는 않습니다.

카드에 쓰기 방지 스위치가있는 것처럼 작동합니다. 확인하지 않은 것 같지만 한 번 더 두 번 확인했을까요? 생각 나는 생각은 아마도 당신은 mini-sd to sd 어댑터에서 mini-SD 카드를 사용하고 있었을 것입니다. 그리고 아마도 당신은 어댑터를 보았지만 미니 SD 카드 자체는 아니 었습니까? 몰라요. 그냥 버리세요. 어댑터가 있으면 어댑터 자체가 잘못되었을 수 있습니다. 다른 카드 리더기를 사용해 본 적이 있다면 기억이 나지 않습니다. 아마도 독자가 나빠졌 을까요?

그 외에는 이와 같은 것이 읽기 전용 모드에서 "실패"하는 것은 매우 일반적인 실패입니다. 그래서 내 직감은 카드가 잘못되었다고 말합니다.

올바른 방향으로 가고있는 것 같습니다. 교체 만하면됩니다. 어쩌면 당신은 새로운 보증이기 때문에 나쁜 것을 교체받을 수 있습니다. 당신이 알아 낸 것을 알려주십시오.


나는 이것이 좋은 반응이라고 생각하지만 실제로는 답이 아니라 의견과 희망입니다. :)
Xavierjazz

그래, 나는 상사에게 더 이상 카드를 쓸 수 없다고 말하고 단순히 아마존으로 다시 보내라고 말했다. 나는 내 자신의 돈으로 debaucle을 위해 올 것이다. 그래서 그것은 아마도 그것에 잘못된 Ubuntu를 설치하고 그것을 부드럽게 잠그는 것이 나의 잘못 일 것이다. 하하를 쓰는 데 16 달러가 적을 것 같아요. 그러나 귀하의 의견에 감사드립니다. 나는 모든 의견을 주셔서 감사합니다.
LordScrat

2
글쎄, 그건 당신에게 칭찬합니다. 그러나 소프트웨어를 사용하면 하드웨어를 파괴 할 수 없습니다. 때때로 상황은 나빠집니다.
Appleoddity

4

iso-images를 사용할 때 항상 읽기 전용 문제가 발생합니다.

그런 문제를 해결하기 위해 내가해야 할 일 :

참고 <yoursdcard>그래서 예를 들어, 장치가 아닌 파티션sdc

  1. 일종의 리눅스 부팅
  2. 터미널을 엽니 다
  3. SD 카드가 무엇인지 확인하고 sudo fdisk /dev/<yoursdcard> -l또는을 사용하여 확인 하여 장치 이름도 확인하십시오.sudo parted /dev/<yoursdcard> -l

경고 : 다음 명령은 모든 데이터를 삭제 /dev/<yoursdcard>하므로 <yoursdcard>올바른 장치 인지 확인하십시오 !!!!

  1. 실행 sudo dd if=/dev/zero of=/dev/<yoursdcard> bs=1000000 count=50
  2. 실행 sudo fdisk /dev/<yoursdcard>
  3. 이제 명령 o을 사용하여 sdcard에 새 MSDOS 파티션 테이블을 작성한 다음 n명령을 사용하여 새 파티션을 추가하고 wsdcard에 변경 사항을 기록하고 fdisk를 종료하십시오.
  4. 이제 sudo mkfs -t <filesystem you want> /dev/<yoursdcard>1파티션을 포맷 하는 데 사용하십시오
  5. 이제 SD 카드가 다시 작동합니다

그래도 작동하지 않으면 :

  1. 터미널 열기
  2. 장치 <yoursdcard>가 무엇인지 알아보십시오
  3. 실행 sudo su
  4. 실행 echo "0" > /sys/block/<yoursdcard>/ro

나는 그것을 시도하고 싶지만, 두 번째 그림에서 볼 수 있듯이 우분투는 / dev / sdb를 내 SD와 같은 마이크로 SD로 사용해야하는 / dev / sdb와 혼동합니다. 실수로 삭제하고 싶지 않습니다.
LordScrat

물론 당신은 원하지 않지만 fdisk훨씬 더 신뢰할 만하 며 gparted그것이 당신의 sdcard를 올바르게 감지하는지 여부를 알 수 있습니다. (3 단계 참조)
testeaxeax

1
자동으로 생성 된 de / dev / disk / by-id 별칭을 사용할 수 있습니다. 그들은 제조업체와 연결 버스를 가지고 있으므로 어떤 장치인지 확실하게 알 수 있습니다.
John Keates

3

카드가 손상되었을 수 있습니다. 플래시와 컨트롤러가 탑재되어 있습니다. 카드에 문제가 있다고 생각되면 작동 할 플래시 셀이 충분하지 않으면 카드가 완전히 오프라인 상태이거나 읽기 전용 상태가됩니다. 때로는 컨트롤러가 플래시 칩에 대한 계정 정보를 유지하므로 손상되어 안전 모드에서 시작하여 아무것도 허용하지 않을 수 있습니다. 이러한 유형의 자료를 극복하려면 대용량 저장소 전용 리더가 아닌 '진정한'SD 카드 리더가 필요합니다. '실제'SD 인터페이스는 컨트롤러에 액세스 할 수 있으며 필요한 정보를 제공 할 수 있습니다.


1

아 예. 우분투 이미지는 대부분의 포맷 유틸리티를 깨뜨리는 이상한 형식을 사용합니다. 이미지가 DVD에서 작동하도록하는 것이 일종의 작업이라고 생각합니다. 나는 이것을 잘 알고 있습니다 (읽기 : 우분투 설치 디스크를 계속 만들어야하며 나중에 포맷하는 것을 싫어합니다).

Ubuntu (VM)에서 Gparted를 사용하여 드라이브의 모든 파티션을 삭제 한 다음 새 FAT32 파티션을 추가하십시오. 참고 : GParted는 로그인에 사용하는 일반적인 암호가 아닌 루트 암호를 사용합니다. 루트 암호를 모르면 설정하지 않은 것 같습니다. "sudo passwd"를 실행하여 루트 비밀번호를 설정 한 다음이를 사용하여 GParted를 엽니 다. "sudo gparted"를 사용할 수도 있습니다.

또는 Windows에서 무료 프로그램 SDFormatter4를 찾아 설치하고 (참고 : Ubuntu의 WINE에서도 작동) 덮어 쓰기 모드에서 카드를 포맷하는 데 사용합니다. 독점 소프트웨어를 싫어하는 것보다 더 나은 작업 기회가 있습니다.

이 두 가지 모두 내장 유틸리티보다 카드를 포맷하는 것이 더 좋습니다.

물론 SD 카드와 USB 드라이브는 의도적으로 읽기 전용 모드로 전환되지 않아 데이터를 복구 할 수 있습니다. 해당 카드가 원격으로 새 카드 인 경우에는 발생하지 않지만 가능합니다. Kingston 카드는 종종 가짜이고 빠르게 실패하기 때문에 Samsung 또는 Sandisk 카드를 제안합니다. 실제로이 문제는 한 번만 발생했으며 실제로는 카드 오류였습니다. 나는 이것이 당신에게 해당되지 않기를 바랍니다.


-1

흠. 여기서 시작해서 다른 게시물로 끝났기 때문에이 게시물을 연결해야합니다.

여기에 링크 설명을 입력하십시오

먼저 카드 리더가 아닌지 확인하십시오!

이 문제는 손상된 파일 시스템으로 인해 매우 쉽게 발생합니다. 이 문제는 여러 가지로 인해 발생할 수 있습니다. 마운트 해제하지 않고 Linux에서 포맷하거나 파티션을 다시 분할하면 마운트되거나 파티션이 손상 될 수 있습니다. 가장 좋은 방법은 Linux 명령 fsck /dev/sdb1이나 드라이브 지정이 무엇이든 사용하는 것 입니다 /dev/sdd1. /dev/sdb1파일 시스템이 microSD에서 손상된 것처럼 보일 수 있습니다 . 이 실수는 쉽게 볼 수 있기 때문에 ...

root@w3tech-Satellite-C655:/home/w3tech# umount /dev/sdc*
umount: /dev/sdc: not mounted.
umount: /dev/sdc2: not mounted.
root@w3tech-Satellite-C655:/home/w3tech# umount /dev/sdc*
umount: /dev/sdc: not mounted.
umount: /dev/sdc1: not mounted.
umount: /dev/sdc2: not mounted.
root@w3tech-Satellite-C655:/home/w3tech#

나는 두 파티션을 마운트 해제 두 번 드라이브를 마운트 해제했다 ... 그래해야 마이크로입니다 /dev/sdd, /dev/sde또는 후.

그러나 fsck더티 비트가 읽기 전용이라고 생각되면 더티 비트를 제거하지 못할 수도 있습니다. 그때까지 Linux 커널은 여전히 ​​이전 파티션을 사용합니다. 즉, 사용자는 이전 파티션에 대해 권한을 부여 할 수있는 방법이 없기 때문에 읽기 전용 오류가 발생합니다. 때때로 드라이브를 부팅하면 프로그램을 사용하여 새 파티션 테이블을 만드는 경우와 같이 커널이 새 파티션으로 전환 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.