Linux에서 쓰기 방지 된 Pendrive

쓰기 방지 된 pendrive

SD 메모리 카드, pendrive 또는 원하는 USB 저장 디스크가있는 경우 쓰기 방지,이 기사에서는이를 수행하는 방법을 단계별로 쉽게 설명합니다. 그리고 특정 드라이버가 허용하는 약간의 쓰기 방지 보호 기능이 있습니다.쓰기 보호 비트»1 또는 0에서 활성 상태인지 여부에 따라 장치에 쓰기를 허용합니다. 이 비트를 CPU 플래그 레지스터의 WP와 혼동해서는 안됩니다. 이는 UNIX 계열 시스템에서 분기 프로세스를 생성하여 덮어 쓰기를 방지하여 데이터 쓰기로부터 주 메모리를 보호합니다. 일부 SD 카드 또는 저장 매체에있는 일반적인 보호 탭도 마찬가지입니다. 이 경우 우리는 보조 저장 매체에 구현 된 보호를 의미합니다.

컨트롤러 동안 저장 매체 USB 또는 SD 메모리 카드 또는 어떤 수단이든이 비트가 활성 상태임을 감지하면 드라이버가 커널이 쓰기 순서를 지정하지 못하도록 차단하므로 콘텐츠를 읽을 수만 있습니다. 수정하고 싶지 않은 데이터를 저장할 때 실수로 쓰기 또는 삭제를 방지하는 것은 확실히 매우 실용적입니다. 그러나 이러한 보호 된 미디어 중 하나가 우리 손에 들어갔고 우리가이 비트의 존재를 모르는 경우 장치가 손상되었다고 생각하거나 일부 펜 드라이브 또는 SD 카드가 보호해야하는 탭을 올리고 내리는 데 시간을 낭비 할 수 있습니다. (잠금 / 잠금 해제) ...

읽기 전용 또는 쓰기 전용 미디어 마운트 :

잠금 탭이있는 SD 카드

쓰기 방지 비트로 정확히 찾고있는 것은 아니지만 매체가 읽기 전용으로 자동 또는 수동으로 마운트, 그래서 우리는 그것에 쓸 능력이 없을 것입니다. 어떤 경우에는 매우 성 가시고 우리가 물건을 수정하거나 저장하지 못하게하는 것. 음, 이것에 대한 해결책은 매우 간단합니다.

관련 기사 :
Linux에서 USB 저장소 비활성화

예를 들어 / etc / fstab 파일에서 장치가 옵션을 사용하여 자동으로 마운트되도록 구성되어있는 경우 ro (읽기 전용) 또는 다음 명령으로 마운트 한 경우 :

sudo mount -o ro /dev/sda /mnt

이 경우 / dev / sda 장치 만 읽을 수 있습니다.이 경우 / mnt 마운트 지점에 마운트되었습니다. 다시 쓸 수 있도록 :

sudo mount -o remount,rw /dev/sda /mnt

이 방법이 작동하지 않는 경우, 그러면 우리가 이야기 한 부분이 연기이기 때문일 것입니다. 그래서 우리가 아래에 제시 한 도구를 사용해야합니다.

hdparm은 무엇입니까?

운영자가있는 하드 디스크

명령 hdparm은 저수준 도구입니다. 이는 다양한 Linux 커널 드라이버와 libata 라이브러리를 사용하는 SATA / PATA / SAS 저장 매체 사이의 인터페이스 역할을합니다. SD와 같은 카드 리더기를 포함한 많은 USB 저장 매체 컨트롤러도 이러한 유형의 컨트롤러를 사용하여 작동하므로 호환됩니다.

Su 기본 구문 입니다 :

hdparm [옵션] [장치]

그리고 선물 많은 옵션 저수준 도구이기 때문에 예를 들어 -B와 같은 중요한 옵션을 조작하는 경우 장치에 심각한 손상을 줄 수 있으므로 잘하는 일을 모르는 경우에는 사용하지 않는 것이 좋습니다. . 그러나 옵션 중에는 다음과 같은 매우 흥미로운 것이 있다고 말할 것입니다.

  • 구성 디스크의 :
sudo hdparm /dev/sdd

  • 표시 식별 디스크의 :
 sudo hdparm -i /dev/sdd 
  • 버퍼 및 캐시 읽기 시간을 확인하십시오.
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

항상 사용하는 것을 기억하십시오 특권즉, 루트 사용자로 실행하거나 sudo를 앞에 두지 않으면 작동하지 않습니다.

hdparm을 사용하여 메모리 보호 비트를 제거하고 설정합니다.

hdparm 도구가 알려지면이 비트의 상태를 확인할 수있는 -r 옵션을 사용할 수 있습니다. 간단한 명령으로. 이렇게하려면 저장 장치의 물리적 이름 만 알면됩니다. 예를 들어 / dev / sdd가 호출 된 경우 다음을 사용할 수 있습니다.

 sudo hdparm -r /dev/sdd 

그리고 해당 비트의 값이 화면에 표시됩니다. 값이 1이면 모드가 활성 상태임을 의미합니다. 읽기 전용 또는 읽기 전용 또는 즉, 쓰기 방지 방법이 활성화되어 메모리에 아무것도 쓸 수 없습니다. 비활성화하거나 비트를 수정하려면 다음을 수행하면됩니다.

sudo hdparm -r0 /dev/sdd

이제 첫 번째 명령을 실행하고 상태를 소비하면 0으로 돌아 왔으므로 읽기 전용 모드가 꺼져 있거나 비활성화되어 있음을 알 수 있습니다. 활성 상태로 되돌리려면 옵션을 사용하십시오. -r1 대신 -r0 그리고 준비. 예를 들면 :

sudo hdparm -r1 /dev/sdd

간단합니다 이 비트 활성화 또는 비활성화. 미스터리가 너무 많지는 않지만 이것을 모르는 사람들에게는 저장 매체 보호를 해제 할 때 골칫거리가 될 수 있습니다.

그것이 당신에게 도움이 되었기를 바라며 이제 당신은 쓰기 보호 된 펜 드라이브를 만드는 방법을 알고 있습니다. 잊지 마세요. 코멘트를 남겨주세요에스…


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   헤르 난

    안녕하세요!
    우선 메모 감사합니다! 그들은 항상 매우 유용합니다.

    저는 Debian 9 사용자입니다.
    이 특별한 경우에는 해결할 수없는 문제가 있습니다. 제거 할 수없는 쓰기 보호 기능이있는 "감염된"펜이 있습니다. 정직하게 모든 것을 시도했기 때문에 이미 물리적이라고 생각하고 있습니다 (Windows 또는 복구 디스크의 저수준 포맷, 파티션 수정 등).

    문제를 해결하려고했는데 단계를 따랐을 때 펜 드라이브의 쓰기 보호가 "켜짐"이라는 것을 알았지 만 "끄기"로 변경 한 후에도 여전히 아무것도 삭제하거나 수정할 수 없습니다.

    어느 것이 될 수 있습니까? 이 문제를 해결할 다른 방법이 있습니까? (내가 가지고있는 정보를 잃어도 괜찮습니다)

    당신의 도움에 미리 감사드립니다.

    헤르 난

    1.    파코

      좋은! 그들이 당신에게 해결책을 말했는지 아니면 결국 당신이 그것을 해결했는지는 모르겠지만 나는 당신과 같은 경우입니다.
      조언 해주실 수 있나요?
      정말 감사합니다.

  2.   윌리 안 살가도

    좋은 설명

  3.   세르지오

    안녕하세요 시스템이 인식하지 못하는 USB가 있습니다. 도와 주시면 정보를 보내드립니다. 감사합니다.

    dmesg에

    [83384.348839] USB 1-1 : ehci-pci를 사용하는 새로운 고속 USB 장치 번호 8
    [83384.506219] usb 1-1 : 새 USB 장치 발견, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1 : 새 USB 장치 문자열 : Mfr = 1, 제품 = 2, 일련 번호 = 0
    [83384.506228] usb 1-1 : 제품 : USB 대용량 저장소
    [83384.506231] usb 1-1 : 제조업체 : GENERIC
    [83384.506848] usb-storage 1-1 : 1.0 : USB 대용량 저장 장치 감지 됨
    [83384.508235] scsi host5 : usb- 스토리지 1-1 : 1.0
    [83385.524951] scsi 5 : 0 : 0 : 0 : 직접 액세스 GENERIC USB 대용량 저장 장치 1.00 PQ : 0 ANSI : 2
    [83385.556757] sd 5 : 0 : 0 : 0 : 첨부 된 scsi 일반 sg3 유형 0
    [83385.561706] sd 5 : 0 : 0 : 0 : [sdc] 연결된 SCSI 이동식 디스크

    root @ localhost : ~ # fdisk -l
    디스크 / dev / sda : 698.7 GiB, 750156374016 바이트, 1465149168 섹터
    단위 : 1 * 512 = 512 바이트의 섹터
    섹터 크기 (논리 / 물리) : 512 바이트 / 4096 바이트
    I / O 크기 (최소 / 최적) : 4096 바이트 / 4096 바이트
    디스크 라벨 유형 : gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    장치 시작 끝 섹터 크기 유형
    / dev / sda1 2048 1050623 1048576 512M EFI 시스템
    / dev / sda2 1050624 49879039 48828416 23.3G Linux 파일 시스템
    / dev / sda3 49879040 69410815 19531776 9.3G Linux 파일 시스템
    / dev / sda4 69410816 76107775 6696960 3.2G Linux 스왑
    / dev / sda5 76107776 80013311 3905536 1.9G Linux 파일 시스템
    / dev / sda6 80013312 1465147391 1385134080 660.5G Linux 파일 시스템

    root @ localhost : ~ # fdisk -l / dev / sdc
    fdisk : 열 수 없음 / dev / sdc : 매체 없음

    root @ localhost : ~ # hdparm / dev / sdc

    / dev / sdc :
    SG_IO : 불량 / 감지 데이터 누락, sb [] : f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XNUMX
    multcount = 0 (꺼짐)
    읽기 전용 = 0 (꺼짐)
    미리 읽기 = 256 (설정)

    root @ localhost : ~ # hdparm -C / dev / sdc

    / dev / sdc :
    드라이브 상태 : 대기

    root @ localhost : ~ # hdparm -I / dev / sdc

    / dev / sdc :
    SG_IO : 불량 / 감지 데이터 누락, sb [] : f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XNUMX

    제거 불가능한 미디어가있는 ATA 장치
    규격 :
    사용 가능성 : 1
    구성 :
    논리적 최대 전류
    실린더 0 0
    머리 0 0
    섹터 / 트랙 0
    -
    논리적 / 물리적 섹터 크기 : 512 바이트
    M = 1024 * 1024 인 장치 크기 : 0MB
    M = 1000 * 1000 인 장치 크기 : 0MB
    캐시 / 버퍼 크기 = 알 수 없음
    기능 :
    IORDY 가능성 없음
    더블 워드 IO를 수행 할 수 없습니다.
    R / W 다중 섹터 전송 : 지원되지 않음
    DMA : 지원되지 않음
    IOP : pio0

  4.   덱스 트르

    도와 주셔서 감사합니다. 이제 USB가 쓰기에 반대하는지 알 수 있었고 쓰기에 반대하지 않는지 확인 했으므로 이미 저수준 포맷 솔루션이므로 바이러스로 인해 USB 연결이 잠시 끊어 졌다는 사실을 추가해야합니다. 또는 XNUMX 개는 작동이 허용되지 않았고 시간을 남기지 않았기 때문에 내가 할당 한 이름을 이미 알고 있었기 때문에 터미널에서 "sdc"라는 이름으로 모든 것을 루트 사용자로 설정했습니다.
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1M 여기서 잠시 기다리세요
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1 당신은 꺼내고 당신이 준 USB를 다시 넣습니다.
    # mkfs.vfat -F 32 -n "anaconda"/ dev / sdc 및 완료

  5.   MGT

    파라벤! 이 주제와 관련하여 내가 정의한 많은 볼타는 coa 설명을 제공하는 것입니다. 고맙습니다 모이.

  6.   승자

    큰. 감사합니다.

  7.   야가미

    마지막으로 저에게 정말 효과가 있었던 것, 감사합니다.

  8.   중지

    안녕하세요 저는 16GB ADATA 카테고리 10 microsd 메모리가 있습니다.

    절차를 수행했는데 작동하는 것 같지만 다시 삽입하고 상태를 다시 확인하면 읽기 전용으로 돌아갑니다.

    포맷을 시도했지만 작동하지 않습니다. 내가 볼 수있는 것은 내 파일입니다.

    문제를 해결하는 다른 도구 또는 방법?.

  9.   호세

    쉽고 간결하고 모든 설명과 예제를 완벽하게 작성하여 매우 유용했습니다.

  10.   미구엘 엔젤

    안녕하세요, 저는 최신 버전의 Kali Linux 사용자입니다. 이미 수십억 개의 기술을 시도해 보았지만 (과장해서 죄송합니다) 어느 것도 Linux 나 Windows에서 나에게 제공하지 않습니다.

  11.   다니카르돈

    제 경우에는 데비안의 경우 이동식 메모리를 마운트 해제해야합니다….

  12.   JR

    훌륭합니다, 감사합니다
    나는 그들의 지시에 따라 여러 판촉 추출물을 복구했습니다.

  13.   Jero

    안녕하세요, 작동하지만 사용자의 폴더가 다르므로 명확하게하는 것이 좋지만 오류가 있습니다. 명령에서 수정했음을 보여 주지만 폴더 또는 펜 드라이브에 폴더를 넣고 싶을 때 알려줍니다. 쓰기 금지되어 있습니다. 제가 해결하도록 도와 주시면 좋을 것입니다. 인사말

  14.   출창

    명령을 수락하고 보호되지 않은 것으로 표시하지만 r = 0이지만 형식을 지정하려면 보호됨을 알려줍니다. 감사합니다

  15.   윌리엄 R Larreal G

    안녕하세요 좋은 하루. 이것으로 나는 시도하지 않았지만 Windows에서는 모든 것을 수행했지만 아무것도하지 않았습니다. 내 pendrive는 쓰기 보호되어 있습니다. sudo hdparm -r / dev / sdd를 사용하더라도 값 1을 제공하지만 sudo hdparm -r0 / dev / sdd를 사용하면 쓰기 보호를 제거 할 수 없습니다. 베네수엘라에서 감사와 인사를 전합니다.
    내 Linux 버전은 openSUSE Tumbleweed 15.3입니다.

  16.   카를로스 AG 라모스

    명확하고 신뢰성 있는 과거 정보. 나는 여러 솔루션을 테스트하는 데 몇 시간을 보냈고 여기에 제시된 이것이 gravação의 읽기 및 차단 문제에 대한 결정적인 솔루션입니다.

  17.   루이스

    훌륭한 기여, 당신이 언급 한대로 모든 것이 밝혀졌습니다 ... 감사합니다

  18.   우지 엘

    매우 유용합니다. 이것은 일반적으로 USB에서 많이 발생하며 솔루션은 쉽고 빠릅니다.

  19.   로렌조

    기여해 주셔서 대단히 감사합니다.
    필자의 경우 Ubuntu 23.4는 모든 명령을 수락하지만 보호 비트를 잠금 해제하지는 않습니다.
    이유가 뭘까요?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] 로렌스 비밀번호:

    / dev / sdc :
    읽기 전용 = 1(켜기)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc :
    읽기 전용을 0(끄기)으로 설정
    읽기 전용 = 1(켜기)
    lorenzo@lorenzo-B85M-D3H:~$

    감사합니다