Scrivi Pendrive protetto su Linux

pendrive protetta da scrittura

Se hai una scheda di memoria SD, pendrive o qualsiasi disco di archiviazione USB che desideri protezione da scrittura, in questo articolo ti diciamo passo passo e in modo semplice come farlo. E c'è un po 'di protezione anti-scrittura consentita da alcuni driver, nota come «scrivere bit di protezione»A seconda che sia attivo a 1 o 0, consentirà o meno la scrittura sull'unità. Questo bit non deve essere confuso con il WP dei flag registers delle CPU, che impediscono la sovrascrittura creando un processo di fork su sistemi tipo UNIX, proteggendo così la memoria principale dalla scrittura dei dati. Né alla tipica linguetta di protezione che troviamo in alcune schede SD o supporti di memorizzazione. In questo caso ci riferiamo a una protezione che viene implementata nel supporto di memorizzazione secondario.

Mentre il titolare del supporto di memorizzazione La scheda di memoria USB o SD, o qualsiasi altro mezzo, rileverà che questo bit è attivo, il driver impedirà al kernel di ordinare un ordine di scrittura e quindi sarà solo in grado di leggere il contenuto. È sicuramente molto pratico quando memorizziamo dati che non vogliamo vengano modificati, impedendone la scrittura o la cancellazione per errore. Ma se uno di questi supporti protetti è caduto nelle nostre mani e non sappiamo dell'esistenza di questo bit, potremmo sprecare ore a pensare che la nostra unità sia danneggiata, oppure alzare e abbassare la linguetta che alcune pendrive o schede SD devono proteggere senza alcun risultato. (Blocca / Sblocca) ...

Montare supporti di sola lettura o di sola scrittura:

Scheda SD con linguetta di blocco

Sebbene non sia esattamente quello che stiamo cercando con il bit di protezione da scrittura, possiamo anche scoprire che è stato un mezzo montato automaticamente o manualmente per la sola lettura, quindi non avremo la capacità di scrivere in esso. Qualcosa che in alcuni casi può essere molto fastidioso e impedirci di modificare o memorizzare cose. Bene, la soluzione a questo è molto semplice.

Articolo correlato:
Disabilita l'archivio USB in Linux

Ad esempio, se nel file / etc / fstab il dispositivo è configurato per essere montato automaticamente con l'opzione ro (sola lettura) oppure se lo abbiamo montato con il comando:

sudo mount -o ro /dev/sda /mnt

In tal caso possiamo leggere solo il dispositivo / dev / sda, in questo caso è stato montato sul punto di montaggio / mnt. In modo che possiamo scriverci di nuovo:

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

Nel caso in cui questo metodo non funzioni per te, allora sarà perché la parte di cui abbiamo parlato è la recitazione, ed è per questo che dovremo utilizzare lo strumento che presentiamo di seguito.

Cos'è hdparm?

Hard disk con operatori

Il comando hdparm è uno strumento di basso livello che funge da interfaccia tra vari driver del kernel Linux e supporti di memorizzazione SATA / PATA / SAS utilizzando la libreria libata, nonché per i vecchi supporti IDE. Ricorda che molti controller di supporti di archiviazione USB, inclusi lettori di schede come le schede SD, utilizzano anche questo tipo di controller per funzionare, quindi è anche compatibile con loro.

Su sintassi di base è:

hdparm [opzioni] [dispositivo]

E regali Molte opzioni con cui lavorare, anche se ti sconsiglio di usarli se non sai bene cosa sai fare, visto che essendo uno strumento di basso livello potresti danneggiare seriamente il tuo dispositivo, ad esempio se manipoliamo alcune opzioni critiche come -B . Ma ti dirò che tra le sue opzioni ce ne sono alcune piuttosto interessanti come:

  • Prendi il configurazione del disco:
sudo hdparm /dev/sdd

  • Mostra il identificazione del disco:
 sudo hdparm -i /dev/sdd 
  • Controlla i tempi di lettura del buffer e della cache:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Ricorda sempre di usare i privilegi, cioè, eseguili come utente root o mettendo sudo davanti a loro o non funzioneranno ...

Rimuovere e impostare il bit di protezione della memoria con hdparm:

Una volta che lo strumento hdparm è noto, possiamo usare l'opzione -r con la quale possiamo controllare lo stato di questo bit con un semplice comando. Per fare ciò, dobbiamo solo conoscere il nome fisico del nostro dispositivo di archiviazione. Ad esempio, se / dev / sdd fosse chiamato, in quel caso potremmo usare:

 sudo hdparm -r /dev/sdd 

E il valore di detto bit verrà mostrato sullo schermo. Se il suo valore è 1 significa che la modalità è attiva in sola lettura o di sola lettura, o in altre parole, il metodo di protezione dalla scrittura è attivo e non sarai in grado di scrivere nulla in memoria. Per disattivarlo o modificare il bit, devi solo fare quanto segue:

sudo hdparm -r0 /dev/sdd

E ora se eseguiamo il primo comando e consumiamo lo stato vedremo che è tornato a 0, quindi la modalità di sola lettura è spenta o disattivata. Nel caso in cui desideri ripristinarlo allo stato attivo, utilizza l'opzione -r1 invece di -r0 e pronto. Per esempio:

sudo hdparm -r1 /dev/sdd

È semplice abilitare o disabilitare questo bit. Non ha troppo mistero, ma per coloro che non lo sanno può essere un mal di testa quando si tratta di rimuovere la protezione dei propri supporti di memorizzazione.

Spero ti abbia aiutato e ora che sai come realizzare una pendrive protetta da scrittura, non dimenticare lascia il tuo commentos ...


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Hernán suddetto

    Ciao!
    Prima di tutto, grazie per gli appunti! Sono sempre molto utili.

    Sono un utente Debian 9.
    In questo caso particolare, ho un problema che non riesco a risolvere. Ho una penna "infetta" con una protezione da scrittura che NON POSSO rimuovere. Sto già pensando che sia fisico perché onestamente ho provato di tutto (fino alla formattazione di basso livello in Windows o ai dischi di ripristino, modifica delle partizioni, ecc.) E niente.

    Pensavo di essere sul punto di risolverlo, seguendo i tuoi passi, ho scoperto che la protezione da scrittura della pen drive era "attiva", ma una volta cambiata in "off" non riesco ancora a cancellare o modificare nulla su di essa.

    Quale può essere? C'è un altro modo per risolvere questo problema? (Non mi dispiace perdere le informazioni che ho dentro)

    Grazie in anticipo per il vostro aiuto.

    Hernán

    1.    paco suddetto

      Ciao buon! Non so se ti hanno detto la soluzione o alla fine l'hai risolta, ma io sono nel tuo stesso caso.
      Mi potete consigliare?
      Grazie mille.

  2.   Willian Salgado suddetto

    buona spiegazione

  3.   Sergio suddetto

    Ciao ho una USB che il sistema non riconosce, ti mando le informazioni se puoi aiutarmi grazie

    dmesg

    [83384.348839] usb 1-1: nuovo dispositivo USB ad alta velocità numero 8 che utilizza ehci-pci
    [83384.506219] usb 1-1: nuovo dispositivo USB trovato, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: Nuove stringhe dispositivo USB: Mfr = 1, Prodotto = 2, Numero di serie = 0
    [83384.506228] usb 1-1: Prodotto: archiviazione di massa USB
    [83384.506231] usb 1-1: Produttore: GENERIC
    [83384.506848] USB-storage 1-1: 1.0: dispositivo di archiviazione di massa USB rilevato
    [83384.508235] scsi host5: memoria USB 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Archiviazione di massa USB GENERICA ad accesso diretto 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: scsi generico sg3 tipo 0 allegato
    [83385.561706] sd 5: 0: 0: 0: [sdc] Disco rimovibile SCSI collegato

    root @ localhost: ~ # fdisk -l
    Disco / dev / sda: 698.7 GiB, 750156374016 byte, 1465149168 settori
    Unità: settori di 1 * 512 = 512 byte
    Dimensione del settore (logico / fisico): byte 512 / byte 4096
    Dimensione I / O (minimo / ottimale): byte 4096 / byte 4096
    Tipo di etichetta del disco: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Tipo di dimensione dei settori di inizio fine dispositivo
    / dev / sda1 2048 1050623 1048576 Sistema EFI 512M
    / dev / sda2 1050624 49879039 48828416 23.3G Linux filesystem
    / dev / sda3 49879040 69410815 19531776 File system Linux 9.3G
    / dev / sda4 69410816 76107775 6696960 3.2G Linux swap
    / dev / sda5 76107776 80013311 3905536 File system Linux 1.9G
    / dev / sda6 80013312 1465147391 1385134080 660.5G file system Linux

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: impossibile aprire / dev / sdc: nessun supporto trovato

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: dati di rilevamento errati / mancanti, 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
    multcount = 0 (off)
    readonly = 0 (off)
    readahead = 256 (attivo)

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

    / dev / sdc:
    lo stato dell'unità è: standby

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

    / dev / sdc:
    SG_IO: dati di rilevamento errati / mancanti, 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

    Dispositivo ATA, con supporto non rimovibile
    Norme di riferimento:
    Probabilmente utilizzato: 1
    Configurazione:
    Corrente massima logica
    cilindri 0 0
    teste 0 0
    settori / traccia 0 0
    -
    Dimensione del settore logico / fisico: 512 byte
    dimensione del dispositivo con M = 1024 * 1024: 0 MByte
    dimensione del dispositivo con M = 1000 * 1000: 0 MByte
    dimensione cache / buffer = sconosciuto
    funzionalità:
    IORDY non è probabile
    Impossibile eseguire IO a doppia parola
    Trasferimento in R / W di più settori: non supportato
    DMA: non supportato
    IOP: pio0

  4.   destro suddetto

    grazie per il tuo aiuto, ora ho potuto sapere se il mio usb era contro la scrittura e ho verificato che non era contro la scrittura quindi questa è già una soluzione di formattazione di basso livello, devo aggiungere che il virus ha fatto disconnettere l'usb in un minuto o due e non ha permesso di agire, non ha lasciato il tempo quindi dato che sapevo già con quale nome gli avevo assegnato, che era "sdc" nel terminale ho messo tutto come utente root.
    # dd if = / dev / zero | pv | gg di = / dev / sdc bs = 1M qui aspetti un po '
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1 tiri fuori e rimetti l'USB che dai
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc e il gioco è fatto

  5.   MGT suddetto

    Parabeni! Un certo numero di voltas che io dei con questo argomento è per dare una spiegazione del coa. Grato Moi.

  6.   Vincitore suddetto

    Grande. Molte grazie.

  7.   iori suddetto

    Finalmente qualcosa che ha funzionato davvero per me, grazie.

  8.   cessare suddetto

    Ciao, ho una memoria microsd di categoria 16 ADATA da 10 GB

    Ho eseguito la procedura e sembra funzionare, ma reinserirlo e ricontrollare lo stato lo riporta in sola lettura.

    Ho provato a formattarlo ma non funziona. Quello che posso vedere sono i miei file.

    qualsiasi altro strumento o modo per risolvere il problema?.

  9.   Jose suddetto

    facile e conciso, perfetto tutte le spiegazioni e gli esempi, è stato molto utile.

  10.   Miguel Angelo suddetto

    Ciao, sono un utente di Kali Linux nella sua ultima versione, ho già provato un miliardo di tecniche (scusate per essere esagerato) ma nessuna di loro mi da né in Linux né in Windows

  11.   danikardone suddetto

    nel mio caso, debian, la memoria rimovibile deve essere smontata….

  12.   JR suddetto

    superbo, grazie
    Sono riuscito a recuperare diversi estratti promozionali con le loro istruzioni

  13.   Jero suddetto

    Ciao, funziona ma la cartella dell'utente varia, sarebbe bene chiarirla, ma ho un errore, nel comando mi mostra che lo modifico, ma quando voglio mettere una cartella o qualsiasi altra cosa sulla pendrive dice me che è protetto da scrittura. Se puoi aiutarmi a risolverlo, sarebbe fantastico. Saluti

  14.   finestra sporgente suddetto

    accetta il comando e lo mostra come non protetto è r = 0, ma quando voglio formattare mi dice protetto. Grazie

  15.   William R. Larreal G suddetto

    Ciao buon giorno. Con questo non avevo provato ma in Windows ho fatto tutto e niente. La mia pendrive è protetta da scrittura, anche con sudo hdparm -r / dev / sdd dà valore 1, ma con sudo hdparm -r0 / dev / sdd non è nemmeno possibile rimuovere la protezione da scrittura. Grazie e saluti dal Venezuela.
    La mia versione Linux è openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos suddetto

    Informazioni passate con chiarezza e affidabilità. Levei ora testando un numero di soluzioni e questo, presentato qui, è definitivo per il problema soggetto a lettura e blocco di gravação.

  17.   LUIS suddetto

    Ottimo contributo, tutto è andato come hai detto... grazie

  18.   uziel suddetto

    Grazie mille, molto utile, questo di solito accade molto in usb, la soluzione è facile e veloce.

  19.   Lorenzo suddetto

    Grazie mille per il contributo.
    Nel mio caso, Ubuntu 23.4 accetta tutti i comandi ma non sblocca il bit di protezione.
    Tutte le idee?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] password per Lorenzo:

    / dev / sdc:
    sola lettura = 1 (attivo)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    impostando readonly su 0 (off)
    sola lettura = 1 (attivo)
    lorenzo@lorenzo-B85M-D3H:~$

    grazie