Impossibile rimuovere l'attributo di sola lettura della scheda Micro SD dopo l'immagine di Ubuntu


16

Non riesco a rimuovere l'attributo di sola lettura da una scheda Micro SD Kingston da 32 GB. Voglio pulire l'intera scheda.

Mi hanno dato un Raspberry Pi 3 e una Micro SD Card da 32 GB e un Eco con cui giocare. La scheda Micro SD era fresca di fabbrica quando l'ho presa. Ho scaricato una nuova immagine di Ubuntu 16.04 e formattato la scheda usando Etcher su Windows 10. Dopo aver finito, ho collegato tutto per far funzionare Raspberry e ho notato che non è successo nulla. Ho iniziato a farmi prendere dal panico e ho pensato: "Ottimo lavoro Scrat, idiota assoluto. Perché non puoi semplicemente aspettare un po 'e cercare un tutorial spaventoso su Google."

Ho cercato su Google cosa avrebbe potuto andare storto e cosa avrei dovuto fare, e ho dovuto scoprire che non si può semplicemente mettere un'immagine casuale di Ubuntu su di essa. Deve essere una delle immagini fornite dal creatore (nel mio caso Ubuntu Mate o Raspbian).

Tentativi di correzione con Windows

Quando ho provato a riformattare facendo clic con il pulsante destro del mouse e riformattando tramite Esplora risorse, la prima cosa che ho riscontrato è che la scheda era in modalità di sola lettura. Cercare di accedervi in ​​Esplora risorse mi ha mostrato solo la directory EFI, di cui non sono rimasto sorpreso.

La prima cosa che ho trovato su Internet riguarda un interruttore / blocco sulla carta, ma la mia carta non ha alcun blocco. Né la carta stessa, né il Robson Mini Card Reader che uso per leggere.

Successivamente ho provato a ricordare come modificare i dischi.
Ricorda che sto ancora usando Windows 10 in quel momento, perché avrei dovuto copiare la mia vecchia VM-Ware e l'immagine di sistema dal mio disco esterno e non sapevo dove fosse.

Ho aperto una riga di comando, eseguito diskpart ed elencato tutti i miei dischi tramite

list disk

Quale output del mio HDD da 931 GB, del mio SSD da 119 GB (in cui è installato Windows) e della scheda Micro SD da 29 GB:

Datenträger ### Status Größe Frei Dyn GPT  
--------------- ------------- ------- ------- --- ---   
Datenträger 0 Online 119 GB 0 B *  
Datenträger 1 Online 931 GB 0 B *  
Datenträger 2 Online 29 GB 29 GB

Seguendo le informazioni che ho ricevuto, sapevo che Datenträger 2 aka Disk 2 è la carta che volevo modificare facendo:

select disk 2

Fin qui tutto bene. Quindi volevo rimuovere l'attributo di sola lettura facendo:

attributes disk clear readonly

Che è stato anche eseguito con successo.

Ma quando ho provato a fare:

clean

Ho ricevuto un "Messaggio di errore hardware" (in tedesco, ecco perché non lo sto copiando qui, ma essenzialmente diceva solo Errore hardware). Quell'errore è seguito anche quando si è tentato di creare una partizione primaria o fare altre cose.

A questo punto il panico in me ha iniziato a crescere sempre di più. Ma ho cercato di mantenere la calma perché avevo ancora qualche asso nella manica.

Ho provato ad usare i programmi: EaseUS Partition Master, Etcher (di nuovo) e SD Card Formatter che non sono riusciti a causa della protezione della scheda (sola lettura, protetta da scrittura).

Ho anche provato a utilizzare la modifica del registro per modificare il comportamento di Windows nei confronti dei dispositivi di archiviazione creando la chiave (che non era ancora presente):

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

e creando una nuova parola chiave (DWORD WriteProtect) e impostandola su 0, il che significa che non è di sola lettura.

Tentativi di correzione con Linux

Neanche questo ha funzionato e ho iniziato a perdere i nervi con Windows, quindi mi sono levato di dosso il culo e ho cercato il mio disco esterno, ho installato VM-Ware e ho eseguito la macchina virtuale Ubuntu 16.04 che uso a scuola.

A partire dalla VM ho già notato che Ubuntu è stato in grado di aiutarmi molto più di Windows (o almeno lo pensavo, perché le mie competenze su Linux sono limitate in questo aspetto). La prima cosa che vedo è un'icona collegata sul desktop alla scheda chiamata "Ubuntu 16.04.2 LTS amd64" in essa sono contenute le varie cose di cui Ubuntu ha bisogno per funzionare visto nell'immagine qui .

Ma questo non mi aiuterebbe. Quindi sono andato avanti e ho avviato un terminale e ho scritto:

lsblk

Che ha confermato che la scheda è visibile (sdb):

NOME MAJ: TAGLIA MIN. RM TIPO MOUNTPOINT
sda 8: 0 0 30G 0 disk 
S─sda1 8: 1 0 30G 0 parte /
sdb 8:16 1 29,2G 1 disco 
S─sdb1 8:17 1 1,5G 1 parte / media / pose / Ubuntu 16.04.2 LTS amd64
S─sdb2 8:18 1 2,4M 1 parte 
sr0 11: 0 1 1024M 0 rom  

Ma lsblk non era molto preciso, quindi ho usato anche il comando che abbiamo imparato a scuola:

fdisk -l

Che era un po 'più preciso:

Disco / dev / sda: 30 GiB, 32212254720 byte, 62914560 settori
Unità: settori di 1 * 512 = 512 byte
Dimensione del settore (logico / fisico): 512 byte / 512 byte
Dimensione I / O (minimo / ottimale): 512 byte / 512 byte
Tipo di etichetta del disco: dos
Identificatore del disco: 0xa14a8cb2

Tipo di ID dimensione inizio inizio avvio dispositivo
/ dev / sda1 2048 62914559 62912512 30G 83 Linux


Disco / dev / sdb: 29,2 GiB, 31306285056 byte, settori 61145088
Unità: settori di 1 * 512 = 512 byte
Dimensione del settore (logico / fisico): 512 byte / 512 byte
Dimensione I / O (minimo / ottimale): 512 byte / 512 byte
Tipo di etichetta del disco: dos
Identificatore del disco: 0x15e2543d

Tipo di ID dimensione inizio inizio avvio dispositivo
/ dev / sdb1 * 0 3035519 3035520 1,5G 0 Vuoto
/ dev / sdb2 14432 19295 4864 2,4M ef EFI (FAT-12/16/32)

Ed ero euforico perché pensavo di aver finalmente violato il dannato codice Davinci o qualcosa del genere, quindi ho corso

GParted

Che si è aperto immediatamente con un messaggio di errore:

Il descrittore del driver dice che la dimensione del blocco fisico è 2048 byte, ma Linux dice che è 512 byte.

Che ho ignorato perché pensavo che non fosse un grosso problema, ma subito dopo aver ignorato quello precedente è apparso il seguente messaggio di errore:

Le partizioni 1 su / dev / sdb sono state scritte, ma non siamo stati in grado di informare il kernel della modifica, probabilmente perché sono in uso. Di conseguenza, le vecchie partizioni rimarranno in uso. È necessario riavviare ora prima di apportare ulteriori modifiche.

Quindi ho fatto ciò che il messaggio mi diceva e riavviavo. Ma neanche quello era di alcuna utilità, perché gli stessi due errori sono comparsi di nuovo. Li ho ignorati entrambi questa volta e si è aperta la buona vecchia fidata finestra con gli spigoli che conoscevo da scuola.

Una volta che sono passato a / dev / sdb è diventato molto confuso molto velocemente. Come puoi vedere qui , le cose sono piuttosto strane, perché ora sdb è in qualche modo considerato il mio SSD invece della scheda, ma l'immagine dalla scheda è ancora montata. A questo punto ero troppo angosciato per continuare a fare qualsiasi cosa nel timore di rovinare accidentalmente anche il mio laptop.

A proposito, ho anche provato a concedermi le autorizzazioni per accedere al disco e provare a utilizzare il ddcomando, ma con lo stesso messaggio di errore (Accesso negato, sola lettura o qualcosa del genere, non sono esattamente sicuro, ma qualcosa in questa direzione ).

Ho già ordinato un'altra scheda Micro SD da 32 GB da Amazon, nel caso in cui non ci sia più speranza per quella vecchia. Ma non mi arrendo ancora.

(Mi dispiace che alcune cose siano in tedesco, ma penso che quelle cose siano per lo più autoesplicative.)


I dischi probabilmente hanno cambiato ordine perché è stato riavviato con la scheda SD connessa (al successivo riavvio senza che sia connessa). La tua seconda immagine è molto interessante ... Se ho capito bene, è all'interno della VM? La VM che ha solo un disco da 30GiB e la scheda SD da 29.2GiB?
Attie

Sì, dall'interno della VM. Tuttavia, ho riavviato senza che fosse collegato, quindi non so se fosse così. In / dev / sda è lo spazio di memoria attribuito che puoi assegnare alla tua VM durante l'installazione, che dovrebbe essere 30GiB. Ma in qualche modo è stato tutto confuso con questa dannata carta inserita.
LordScrat

Risposte:


6

Bene, il tuo post è stato sicuramente abbastanza divertente. Grazie per quello

So che non è la risposta che stai cercando. Tuttavia, sembra che la scheda SD sia bloccata in modalità di sola lettura. Hai fatto tutto il possibile. Non è poi così difficile.

Funziona come farebbe se sulla scheda fosse presente un interruttore di protezione dalla scrittura. Sembra che tu abbia confermato di no, ma forse solo un doppio controllo, ancora una volta? Il pensiero che mi è venuto in mente è che forse stai usando una scheda mini-SD in un adattatore da mini SD a SD. E forse hai guardato l'adattatore, ma non la stessa mini-sd card? Non lo so, lo sto buttando là fuori. Se c'è un adattatore, forse l'adattatore stesso è andato male? Non ricordo se hai menzionato se hai provato un lettore di schede diverso. Forse il lettore è andato male?

A parte questo, è un fallimento abbastanza comune per qualcosa come questo "fallire" in una modalità di sola lettura. Quindi, il mio istinto mi dice che la carta è andata male.

Sembra che tu sia sulla buona strada, semplicemente sostituendolo. Forse puoi sostituire quello difettoso in garanzia poiché è nuovo. Facci sapere cosa hai capito.


Penso che questa sia una buona risposta, ma che in realtà non è una risposta, ma è un commento e una speranza. :)
Xavierjazz,

Sì, dirò al mio capo che la carta non può più essere scritta e semplicemente la rispedirò ad Amazon (l'ha ricevuta come il giovedì prima dell'ultima, quindi penso che non sia un problema) e riavere i suoi soldi. Prenderò il debaucle con i miei soldi, quindi probabilmente è colpa mia per aver installato Ubuntu errato su di esso e forse bloccarlo. Immagino che avrò 16 dollari in meno da spendere ahah. Grazie per il tuo commento, però. Apprezzo ogni commento che ricevo.
LordScrat,

2
Bene, questo è lodevole da parte tua. Ma nulla che tu faccia con il software distruggerà l'hardware. A volte le cose vanno male.
Appleoddity,

4

Questi problemi di sola lettura mi capitano sempre quando uso le immagini ISO.

Cosa faccio per risolvere tali problemi:

Nota che <yoursdcard>è un dispositivo e non una partizione, quindi ad esempiosdc

  1. Avvia una specie di Linux
  2. Apri un terminale
  3. Scopri quale dispositivo è la tua scheda SD e verificalo utilizzando sudo fdisk /dev/<yoursdcard> -lo per ottenere anche il nome del dispositivo che potresti utilizzaresudo parted /dev/<yoursdcard> -l

ATTENZIONE: il seguente comando distruggerà tutti i dati, /dev/<yoursdcard>quindi assicurati che <yoursdcard>sia il dispositivo giusto !!!!

  1. Eseguire sudo dd if=/dev/zero of=/dev/<yoursdcard> bs=1000000 count=50
  2. Eseguire sudo fdisk /dev/<yoursdcard>
  3. Ora usa il comando oper creare una nuova tabella delle partizioni MSDOS sulla tua sdcard, quindi usa il ncomando per aggiungere una nuova partizione e usa wper scrivere le modifiche sulla tua sdcard ed uscire da fdisk
  4. Ora usa sudo mkfs -t <filesystem you want> /dev/<yoursdcard>1per formattare la tua partizione
  5. Ora la tua sdcard dovrebbe funzionare di nuovo

Se non funziona:

  1. Terminale aperto
  2. Scopri cosa dispositivo <yoursdcard>è
  3. Eseguire sudo su
  4. Eseguire echo "0" > /sys/block/<yoursdcard>/ro

Mi piacerebbe provarlo, ma come puoi vedere nella mia seconda immagine Ubuntu confonde / dev / sdb, che dovrebbe essere la mia Micro SD, come il mio SSD (o viceversa, ma è sbagliato, questo è quello che so) e davvero non voglio cancellarlo per caso, io.
LordScrat

Certo che non vuoi, ma fdiskè molto più affidabile di gpartede
vedresti

1
È possibile utilizzare gli alias de / dev / disk / by-id creati automaticamente. Hanno il produttore e il bus di connessione in modo da sapere con certezza quale dispositivo è.
John Keates,

3

Tieni presente che la carta potrebbe semplicemente essere rotta. Hanno un po 'di flash e un controller a bordo. Se la scheda ritiene di avere dei problemi, andrà completamente offline o andrà in sola lettura se non ha abbastanza celle flash funzionanti per scrivere. A volte il controller mantiene le informazioni di contabilità per il chip flash, che può essere danneggiato causando l'avvio in modalità provvisoria e non consentire nulla. Per superare questo tipo di cose, è necessario un lettore di schede SD "vero", non un lettore di sola memoria di massa. Le interfacce SD "reali" hanno accesso al controller e potrebbero fornirti le informazioni di cui hai bisogno.


1

Ah sì. L'immagine di Ubuntu utilizza una sorta di strano formato che interrompe la maggior parte delle utility di formattazione. Immagino sia una sorta di cosa che fanno in modo che le immagini funzionino su DVD. Lo so bene (leggi: continuo a dover installare Ubuntu su dischi e odio formattarli in seguito), ed è molto fastidioso.

Usa Gparted su Ubuntu (la VM) per eliminare tutte le partizioni sul disco, quindi aggiungi una nuova partizione FAT32. Nota: sono abbastanza sicuro che GParted utilizza la password di root, non quella normale utilizzata per accedere. Se non si conosce la password di root, è probabile che non sia stata impostata. Eseguire "sudo passwd" per impostare una password di root, quindi utilizzarla per aprire GParted. Puoi anche usare "sudo gparted".

Oppure, trova e installa il programma gratuito SDFormatter4 su Windows (Nota: funziona anche con WINE su Ubuntu) e usalo per formattare la scheda in modalità di sovrascrittura. Ciò ha maggiori possibilità di funzionare, per quanto non mi piaccia il software proprietario.

Entrambi hanno maggiore fortuna nella formattazione delle schede rispetto alle utility integrate.

Naturalmente, le schede SD e le unità USB falliscono intenzionalmente in modalità di sola lettura per darti la possibilità di recuperare i dati. Se quella carta è nuova da remoto, ciò non dovrebbe accadere, ma è possibile. Suggerisco anche le carte Samsung o Sandisk, poiché le carte Kingston sono spesso false e falliscono rapidamente. In realtà questo problema si è verificato una volta ed è stato effettivamente un errore della scheda. Spero che questo non sia il tuo caso.


-1

Hmmm. Dovrei collegare questo post perché ho iniziato qui e in qualche modo è finito su un altro post.

inserisci qui la descrizione del link

Per prima cosa assicurati che non sia il lettore di schede!

Questo problema è causato molto facilmente da un file system danneggiato. Il problema potrebbe essere causato da molte cose. Se lo formatti su Linux senza smontarlo o se ripartizionalo, verrà montato o se le partizioni sono corrotte, ciò potrebbe accadere. La cosa migliore da fare è usare il comando Linux fsck /dev/sdb1o qualunque sia la designazione dell'unità /dev/sdd1. Potrebbe vederlo come /dev/sdb1se il file system fosse corrotto su una microSD. Questo errore è facile da fare perché guarda questo ...

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#

Ho dovuto smontare l'unità due volte per smontare entrambe le partizioni ... e sì che è una microSD che dovrebbe essere /dev/sdd, /dev/sdeo dopo.

Tuttavia, solo l'esecuzione fsckpotrebbe non rimuovere il bit sporco se pensa che sia di sola lettura. Fino ad allora il kernel Linux continuerà a utilizzare la vecchia partizione, il che significa che si ottiene l'errore di sola lettura perché non è possibile concedere le autorizzazioni a un utente per una vecchia partizione. A volte l'avvio dell'unità consentirà al kernel di passare alla nuova partizione, ad esempio se si utilizzava un programma per creare una nuova tabella delle partizioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.