USB 전원 차단 방지 sd 7:0:0:0: [sdb] Write

쓰기 방지 된 USB가 있습니다.

dmesg | tail

[10098.126089] sd 7:0:0:0: [sdb] Write Protect is on
[10098.126098] sd 7:0:0:0: [sdb] Mode Sense: 23 00 80 00
[10098.126779] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.126788] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.131418] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.131425] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.133335]  sdb: sdb1
[10098.135509] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.135515] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.135521] sd 7:0:0:0: [sdb] Attached SCSI removable disk

쓰기 방지 기능을 해제하려면 어떻게합니까?

내가 시도한 것

  1. 하드웨어 스위치가 있는지 확인-아니오
  2. Windows 및 Linux에서 터미널을 통해 포맷하려고했습니다.
  3. 시도 fdisk|chmod
  4. 우분투 소프트웨어 센터의 여러 도구 로이 문제를 해결하려고했습니다.
  5. Google을 사용하여이 문제에 대해 약 10,000 건의 토론을 보았지만 해결 된 적이 없습니다.

추가 정보

fsck -n /dev/sdb1

fsck from util-linux 2.19.1
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
  Not automatically fixing this.
Free cluster summary wrong (968250 vs. really 911911)
  Auto-correcting.
Leaving file system unchanged.
/dev/sdb1: 50 files, 93653/1005564 clusters

fdisk -l

   Device  boot.   Start        End      Blocks   Id  System
/dev/sdb1            32     8060927     4030448    b  W95 FAT32

umount /dev/sdb1

mkfs -t vfat /dev/sdb1

mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat: unable to open /dev/sdb1


답변

디스크 장치의 쓰기 방지 기능을 끄려면 다음과 같이 저수준 시스템 유틸리티 hdparm을 사용하십시오.

sudo hdparm -r0 /dev/sdb

여기서 우리는이 asume /dev/sdb우리가 작업중인 실제 디스크 장치입니다. 장치에 읽기 전용으로 마운트 된 파티션이있는 경우 데이터를 쓰려면 읽기 / 쓰기로 다시 마운트해야합니다.

희망이 도움이됩니다.


답변

귀하의 질문을 조사한 후에는 이것이 알려진 이유없이 본질적으로 “폐쇄”될 특정 브랜드의 USB 플래시 드라이브 (일부 삼성, Kingston 모델)에서는 드문 일이 아닙니다. 사람들은 그것들을 열고 두 번의 리드 (점 박한 스위치에서 나온 것일까?)를 아무 소용이 없었습니다. 여전히이 드라이브가 있고 보증 기간이 남아있는 경우, 반품하고 교체품을 받으십시오.

나는 당신에게 나쁜 소식을 나누는 것을 싫어한다. 그러나 나는 내가 읽은 모든 것이 하드웨어 고장을 지적하기 때문에이 상황에서 운이 좋지 않은 것처럼 보인다.

2016 년 5 월 27 일 편집 : 최근에 플래시 드라이브가 벗겨지는 문제가 개인적으로 발생했습니다. 필자의 경우 이것은 Corsair Flash Voyager 128GB였습니다. 여기에 언급 된 증상이 나타나지 않았지만 때때로 마운트되지 않아 “실리콘 파워”장치로 나타납니다. 드라이브가 불량 섹터를 많이 발생시켜 진단 / 프로그래밍 모드로 전환 한 결과입니다. 이것은 가장 인기있는 답변 중 하나이며 “플래시 드라이브 고장”범주에 속하므로 참조 용으로 여기에 포함시킬 것이라고 생각했습니다.


답변

fdisk -l드라이브 를 찾는 것, 즉 / dev / sdc1

지금

umount /dev/sdc1

마지막으로 플래시 드라이브를 다시 포맷하십시오

sudo mkfs -t vfat /dev/sdc1

나는 이것을 빠르고 쉽게 발견했다. 포맷을 시도하기 전에 드라이브 마운트를 해제하십시오.


답변

엔젤의 대답은 좋지만 실제 명령은 그렇게 쉽지 않았습니다. 작동 방식은 다음과 같습니다. 카드를 꽂습니다 (내 수동 쓰기 방지 스위치가있는 SD 카드이지만 스위치가 꺼져 있고 Windows 시스템에서 쓸 수 있음). 우분투는 자동으로 / media / andrew / 6AB0-1FD91에 마운트했고 dmesg는 파티션이 / dev / sdb1임을 보여주었습니다.

마운트 해제하고 쓰기 가능하게하십시오

sudo umount /dev/sdb1
sudo hdparm -r0 /dev/sdb

새 마운트 지점을 작성하여 마운트하십시오 (/ etc / passwd의 사용자 ID는 1000 임)

sudo mkdir /media/andrew/temp
sudo mount -o uid=1000 /dev/sdb1 /media/andrew/temp

여전히 읽기 전용이라고 불평합니다. 마운트 후 AND 이전에이 플래그를 변경해야하는 이유를 모르겠지만 이것이 유일한 방법입니다. 다시 쓰기 가능하도록 설정하고 같은 위치에 다시 마운트하십시오.

sudo hdparm -r0 /dev/sdb1
sudo mount -o remount,rw /dev/sdb1

이제 일반 사용자로 디스크에 쓸 수 있습니다. 실제로 실패하는 경우를 대비하여 매우주의를 기울이고 있지만 그 명령으로 내가하고있는 일을 마칠 수있었습니다.


답변

지금까지 제공된 답변 중 어느 것도 맞지 않습니다.

실제로 작동하게하려면 USB quirks 설정을 사용하여 읽기 전용임을 알리는 USB 디스크 감지를 무시할 수 있습니다. 작동 방식은 다음과 같습니다.

1) USB 장치를 연결하고 lsusb예를 들어 :

$ lsusb
Bus 002 Device 012: ID 0781:5583 SanDisk Corp.

2) 콜론 사이의 두 코드 ( idVendoridProduct)를 기록해 두십시오 . USB 장치를 분리하십시오.

3) usb_storage커널 모듈을 제거하십시오 (모듈로 컴파일되었다고 가정)

$ sudo modprobe -r $(lsmod | sed -n 's:,: :g ; s,^usb_storage[ 0-9]*,,p') usb_storage

4) 이제 장치의 쓰기 전용 플래그 감지를 무시하기 위해 쿼크 모드 설정을 사용하여 모듈을 다시 넣습니다.

에서 소스 / 드라이버 / USB / 저장 / usb.c 번호 L572 v4.19에서 가져온 우리가 찾고있는 쿼크 모드 설정은 것을 볼 수 있습니다 w. 커널 모듈을 다시로드하는 방법은 다음과 같습니다.

$ sudo modprobe usb_storage quirks=0781:5583:w

콜론 사이의 숫자를 위의 1 단계에서 본 숫자로 바꿉니다.

5) USB 저장 장치를 다시 연결하십시오. 이제 dmesg를 통해 이것이 작동하는지 확인할 수 있습니다.

전에:

그리고 후에 :

또한 mount 명령을 실행하면 다음을 볼 수 있습니다.

/dev/sdb1 on /usb type ext4 (rw,relatime)

이제 디스크에서 즉시 물건을 꺼내십시오. 실패합니다.


답변

글쎄, 이것은 약간의 혼란입니다.

나는 여기에서 다른 곳에서 모든 것을 시도했지만 아무것도 효과가 없었습니다 .

친구의 Windows 랩톱에서 포맷하면 이제 제대로 작동합니다. FFS!

한숨 …. (지금 Mint 데스크톱의 Win 7 VM에서 문제를 해결할 수 있었을까요?).


답변

메모리 스틱을 삽입하고 gparted를 시작하십시오. 오른쪽 상단의 버튼을 통해 선택하십시오. 메모리 스틱을 검사하고 있다면 분명해야합니다 (크기는 좋은 실마리입니다). 파티션-> 마운트 해제를 선택하십시오.

상단의 ‘Device’를 선택한 다음 ‘Create Partition Table’을 선택하고 기본값 인 msdos를 사용하십시오.

이제 새 파티션을 만들고 f32로 포맷 할 수 있습니다. 당신이 할 수 없다면, 아마도 흉상 일 것입니다.

HTH