Impossible de supprimer l'attribut en lecture seule de la carte Micro SD après l'image Ubuntu

16

Je ne peux pas supprimer l'attribut en lecture seule d'une carte micro SD Kingston de 32 Go. Je veux nettoyer toute la carte.

On m'a donné un Raspberry Pi 3 et une carte Micro SD de 32 Go et un Echo pour jouer avec. La carte Micro SD était sortie d'usine lorsque je l'ai reçue. J'ai téléchargé une nouvelle image Ubuntu 16.04 et formaté la carte à l'aide d'Etcher sur Windows 10. Après avoir terminé, j'ai tout branché pour que la framboise fonctionne et j'ai remarqué que rien ne s'était passé. J'ai commencé à paniquer un peu et je me suis dit: "Bon travail Scrat, tu es idiot. Pourquoi ne pouvais-tu pas simplement attendre un peu et google un tutoriel flippant."

J'ai cherché sur Google ce qui aurait pu mal tourner et ce que j'aurais dû faire, et j'ai dû découvrir que vous ne pouvez pas simplement mettre une image Ubuntu aléatoire dessus. Ce doit être l'une des images fournies par le créateur (dans mon cas, Ubuntu Mate ou Raspbian).

Tentatives de correction avec Windows

Lorsque vous essayez de reformater en cliquant avec le bouton droit et en reformatant via l'Explorateur Windows, la première chose que j'ai rencontrée est que la carte était en mode lecture seule. Essayer d'y accéder dans l'Explorateur Windows ne m'a montré que le répertoire EFI, dont je n'ai pas été surpris.

La première chose que j'ai trouvée sur Internet concerne un interrupteur / verrou sur la carte, mais ma carte n'a pas de verrou du tout. Ni la carte elle-même, ni le Robson Mini Card Reader que j'utilise pour la lecture.

Ensuite, j'ai essayé de me rappeler comment éditer des disques.
Gardez à l'esprit que j'utilise toujours Windows 10 à ce moment-là, car j'aurais dû copier mon ancienne VM-Ware et l'image système de mon disque externe, et je ne savais pas où c'était.

J'ai ouvert une ligne de commande, exécuté diskpart et répertorié tous mes disques via

list disk

Qui produit mon disque dur de 931 Go, mon SSD de 119 Go (sur lequel Windows est installé) et la carte Micro SD de 29 Go:

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

Suite aux informations que j'ai, je savais que Datenträger 2 aka Disk 2 est la carte que je voulais éditer en faisant:

select disk 2

Jusqu'ici tout va bien. Ensuite, je voulais supprimer l'attribut en lecture seule en faisant:

attributes disk clear readonly

Qui a également été exécuté avec succès.

Mais quand j'ai essayé de faire:

clean

J'ai reçu un "Message d'erreur matérielle" (en allemand, c'est pourquoi je ne le copie pas ici, mais il ne dit essentiellement qu'une erreur matérielle). Cette erreur s'est également produite lorsque vous essayez de créer une partition principale ou de faire d'autres choses.

À ce stade, la panique en moi a commencé à grandir de plus en plus. Mais j'ai essayé de garder mon calme car j'avais encore quelques tours dans mes manches.

J'ai essayé d'utiliser les programmes: EaseUS Partition Master, Etcher (encore) et SD Card Formatter qui ont tous échoué en raison de la protection de la carte (lecture seule, protection en écriture).

J'ai également essayé d'utiliser la modification du registre pour changer le comportement de Windows envers les périphériques de stockage en créant la clé (qui n'était pas encore là):

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

et créer un nouveau mot clé (DWORD WriteProtect) et le mettre à 0, ce qui signifie pas de lecture seule.

Tentatives de correction avec Linux

Cela n'a pas fonctionné non plus et j'ai commencé à perdre mes nerfs avec Windows, alors je suis descendu de mes fesses et j'ai cherché mon disque dur externe et installé VM-Ware et j'ai exécuté la machine virtuelle Ubuntu 16.04 que j'utilise pour l'école.

En démarrant la VM, j'ai déjà remarqué qu'Ubuntu était en mesure de m'aider bien plus que Windows (ou du moins je le pensais, car mes compétences Linux sont limitées dans cet aspect). La première chose que je vois est une icône liée sur le bureau à la carte appelée "Ubuntu 16.04.2 LTS amd64". Elle contient les différentes choses dont Ubuntu a besoin pour fonctionner, vu dans l'image ici .

Mais cela ne m'aiderait pas. Je suis donc allé de l'avant et j'ai lancé un terminal et j'ai écrit:

lsblk

Qui a confirmé que la carte est visible (sdb):

NOM MAJ: MIN RM SIZE RO TYPE MOUNTPOINT
disque sda ​​8: 0 0 30G 0 
└─sda1 8: 1 0 30G 0 partie /
sdb 8:16 1 29,2G 1 disque 
├─sdb1 8:17 1 1,5G 1 part / media / pose / Ubuntu 16.04.2 LTS amd64
└─sdb2 8:18 1 2,4M 1 partie 
sr0 11: 0 1 1024M 0 rom  

Mais lsblk n'était pas très précis, j'ai donc également utilisé la commande que nous avons apprise à l'école:

fdisk -l

Ce qui était un peu plus précis:

Disque / dev / sda: 30 Gio, 32212254720 octets, 62914560 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille des E / S (minimum / optimal): 512 octets / 512 octets
Type d'étiquette de disque: dos
Identificateur de disque: 0xa14a8cb2

Type d'amorçage des secteurs de début de démarrage de périphérique
/ dev / sda1 2048 62914559 62912512 30G 83 Linux


Disque / dev / sdb: 29,2 Gio, 31306285056 octets, 61145088 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille des E / S (minimum / optimal): 512 octets / 512 octets
Type d'étiquette de disque: dos
Identificateur de disque: 0x15e2543d

Type d'amorçage des secteurs de début de démarrage de périphérique
/ dev / sdb1 * 0 3035519 3035520 1,5G 0 vide
/ dev / sdb2 14432 19295 4864 2,4M ef EFI (FAT-12/16/32)

Et j'étais euphorique parce que je pensais avoir finalement craqué le putain de code Davinci ou quelque chose, alors j'ai couru

gparted

Qui s'est immédiatement ouvert avec un message d'erreur:

Le descripteur de pilote indique que la taille du bloc physique est de 2048 octets, mais Linux indique qu'elle est de 512 octets.

Ce que j'ai ignoré parce que je pensais que ce n'était pas un problème, mais juste après avoir ignoré le précédent, le message d'erreur suivant est apparu:

La ou les partitions 1 sur / dev / sdb ont été écrites, mais nous n'avons pas pu informer le noyau du changement, probablement parce qu'il / elles sont en cours d'utilisation. Par conséquent, les anciennes partitions resteront utilisées. Vous devez redémarrer maintenant avant d'apporter d'autres modifications.

J'ai donc fait ce que le message m'a dit et j'ai redémarré. Mais cela n'était d'aucune utilité non plus, car les deux mêmes erreurs sont apparues à nouveau. Je les ai ignorés cette fois-ci et la bonne vieille fenêtre de confiance que j'ai connue de l'école s'est ouverte.

Une fois que j'ai changé pour / dev / sdb, cela est devenu très vite déroutant. Comme vous pouvez le voir ici , les choses sont assez étranges, car maintenant sdb est en quelque sorte considéré comme mon SSD au lieu de la carte, mais l'image de la carte est toujours montée. À ce stade, j'étais trop angoissé pour continuer à faire quoi que ce soit de peur de visser accidentellement mon ordinateur portable.

Soit dit en passant, j'ai également essayé de me donner des autorisations pour accéder au disque et essayer d'utiliser la ddcommande, mais avec le même message d'erreur (Accès refusé, en lecture seule ou quelque chose, je ne suis pas exactement sûr, mais quelque chose dans ce sens ).

J'ai déjà commandé une autre carte Micro SD 32 Go d'Amazon, au cas où il n'y aurait plus d'espoir pour l'ancienne. Mais je n'abandonne pas encore.

(Désolé, certaines choses sont en allemand, mais je pense que ces choses sont pour la plupart explicites.)

LordScrat
la source
Les disques ont probablement changé d'ordre car vous avez redémarré avec la carte SD connectée (redémarrage suivant sans connexion). Votre deuxième image est très intéressante ... Si je comprends bien, c'est de l'intérieur de la VM? La VM qui n'a qu'un disque de 30 Go et la carte SD de 29,2 Go?
Attie
Oui, depuis la VM. J'ai redémarré sans qu'il soit connecté, alors je ne sais pas si c'était ça. Dans / dev / sda, c'est l'espace mémoire attribué que vous pouvez donner à votre machine virtuelle lors de son installation, qui devrait être le 30 Go. Mais d'une manière ou d'une autre, tout s'est mélangé avec cette fichue carte branchée.
LordScrat

Réponses:

6

Eh bien, votre message était certainement assez divertissant. Merci pour ça.

Je sais que ce n'est pas la réponse que vous cherchez. Mais, il semble que la carte SD soit bloquée en mode lecture seule. Vous avez fait tout ce que vous pouviez. Ce n'est vraiment pas si difficile.

Il agit comme s'il y avait un commutateur de protection en écriture sur la carte. On dirait que vous avez confirmé que non, mais peut-être juste revérifier, une fois de plus? L'idée qui m'est venue à l'esprit était peut-être que vous utilisiez une carte mini-SD dans un adaptateur mini-sd vers sd. Et peut-être que vous avez regardé l'adaptateur, mais pas la carte mini-sd elle-même? Je ne sais pas, juste jeter ça là-bas. S'il y a un adaptateur, l'adaptateur lui-même a peut-être mal tourné? Je ne me souviens pas si vous avez mentionné si vous avez essayé un autre lecteur de carte. Peut-être que le lecteur a mal tourné?

En dehors de cela, c'est un échec assez courant pour quelque chose comme ça à "échouer" en mode lecture seule. Donc, mon instinct me dit que la carte a mal tourné.

On dirait que vous êtes sur la bonne voie, il suffit de le remplacer. Peut-être que vous pouvez faire remplacer le mauvais sous garantie, car il est neuf. Faites-nous savoir ce que vous avez compris.

Appleoddity
la source
Je pense que c'est une bonne réponse, mais que ce n'est pas vraiment une réponse, mais c'est un commentaire et un espoir. :)
Xavierjazz
Oui, je vais dire à mon patron que la carte ne peut plus être écrite et simplement la renvoyer à Amazon (il l'a eu comme jeudi avant le dernier, donc je pense que ce n'est pas un problème) et récupérer son argent. Je vais chercher le débaucle avec mon propre argent, donc c'est probablement ma faute si j'installe le mauvais Ubuntu dessus et peut-être le verrouille. Je suppose que j'aurai 16 dollars de moins à dépenser haha. Merci pour votre commentaire. J'apprécie chaque commentaire que j'obtiens.
LordScrat
2
Eh bien, c'est louable de votre part. Mais rien de ce que vous faites avec un logiciel ne détruira le matériel. Parfois, les choses tournent mal.
Appleoddity
4

Ces problèmes de lecture seule m'arrivent tout le temps lorsque j'utilise des images iso.

Ce que je fais pour résoudre ces problèmes:

Notez que <yoursdcard>c'est un périphérique et non une partition, donc par exemplesdc

  1. Démarrez une sorte de Linux
  2. Ouvrez un terminal
  3. Découvrez quel appareil est votre carte SD et vérifiez-le en utilisant sudo fdisk /dev/<yoursdcard> -lou pour obtenir le nom de l'appareil que vous pouvez également utilisersudo parted /dev/<yoursdcard> -l

AVERTISSEMENT: La commande suivante détruira toutes les données, /dev/<yoursdcard>alors assurez-vous que <yoursdcard>c'est le bon appareil !!!!

  1. Exécuter sudo dd if=/dev/zero of=/dev/<yoursdcard> bs=1000000 count=50
  2. Exécuter sudo fdisk /dev/<yoursdcard>
  3. Utilisez maintenant la commande opour créer une nouvelle table de partition MSDOS sur votre carte SD, puis utilisez la ncommande pour ajouter une nouvelle partition et utiliser wpour écrire les modifications sur votre carte SD et quitter fdisk
  4. Maintenant, utilisez sudo mkfs -t <filesystem you want> /dev/<yoursdcard>1pour formater votre partition
  5. Maintenant, votre carte SD devrait fonctionner à nouveau

Si cela ne fonctionne pas:

  1. Terminal ouvert
  2. Découvrez quel appareil <yoursdcard>est
  3. Exécuter sudo su
  4. Exécuter echo "0" > /sys/block/<yoursdcard>/ro
testeaxeax
la source
J'adorerais essayer cela, mais comme vous pouvez le voir sur ma deuxième image, Ubuntu confond un peu / dev / sdb, qui devrait être ma Micro SD, comme mon SSD (Ou l'inverse, mais c'est faux c'est ce que je sais) , et je ne veux vraiment pas supprimer ça par accident, moi.
LordScrat
Bien sûr, vous ne le voulez pas, mais il fdiskest beaucoup plus fiable gpartedet vous
verriez
1
Vous pouvez utiliser des alias de / dev / disk / by-id qui sont créés automatiquement. Ils ont le fabricant et le bus de connexion afin que vous sachiez de quel appareil il s'agit.
John Keates
3

Gardez à l'esprit que la carte peut simplement être cassée. Ils ont un flash et un contrôleur à bord. Si la carte pense qu'elle a des problèmes, elle se déconnectera complètement ou passera en lecture seule si elle n'a pas assez de cellules flash fonctionnelles pour écrire. Parfois, le contrôleur conserve les informations comptables de la puce flash, qui peuvent être corrompues, ce qui la fait démarrer en mode sans échec et ne permet rien. Pour dépasser ce type de choses, vous avez besoin d'un «vrai» lecteur de carte SD, pas d'un lecteur de stockage de masse uniquement. Les «vraies» interfaces SD ont accès au contrôleur et peuvent vous fournir les informations dont vous avez besoin.

John Keates
la source
1

Ah oui. L'image Ubuntu utilise une sorte de format étrange qui brise la plupart des utilitaires de formatage. J'imagine que c'est une sorte de chose qu'ils font pour que les images fonctionnent sur les DVD. Je le sais bien (lire: j'ai toujours besoin de faire installer des disques Ubuntu, et je déteste les formater ensuite), et c'est très ennuyeux.

Utilisez Gparted sur Ubuntu (la machine virtuelle) pour supprimer toutes les partitions sur le lecteur, puis ajoutez une nouvelle partition FAT32. Remarque: Je suis pratiquement sûr que GParted utilise le mot de passe root, pas celui que vous utilisez normalement pour vous connecter. Si vous ne connaissez pas votre mot de passe root, il est probable que vous ne l'ayez pas défini. Exécutez "sudo passwd" pour définir un mot de passe root, puis utilisez-le pour ouvrir GParted. Vous pouvez également utiliser "sudo gparted".

Ou, recherchez et installez le programme gratuit SDFormatter4 sur Windows (Remarque: Fonctionne également sous WINE dans Ubuntu) et utilisez-le pour formater la carte en mode d'écrasement. Cela a de meilleures chances de fonctionner, autant que je n'aime pas les logiciels propriétaires.

Les deux ont plus de chance de formater les cartes que les utilitaires intégrés.

Bien sûr, les cartes SD et les clés USB échouent délibérément en mode lecture seule pour vous donner une chance de récupération de données. Si cette carte est nouvelle à distance, cela ne devrait pas se produire, mais c'est possible. Je suggère également des cartes Samsung ou Sandisk, car les cartes Kingston sont souvent des contrefaçons et échouent rapidement. En fait, ce problème s'est produit une fois, et c'était en fait une défaillance de la carte. J'espère que ce n'est pas le cas pour vous.

RDragonrydr
la source
-1

Hmmm. Je devrais lier ce post car j'ai en quelque sorte commencé ici et je me suis en quelque sorte terminé sur un autre post.

entrez la description du lien ici

Assurez-vous d'abord qu'il ne s'agit pas du lecteur de carte!

Ce problème est causé par un système de fichiers corrompu très facilement. Le problème pourrait être causé par de nombreuses choses. Si vous le formatez sur Linux sans le démonter ou si vous le repartitionnez, il sera monté ou si les partitions sont corrompues, cela pourrait arriver. La meilleure chose à faire est d'utiliser la commande Linux fsck /dev/sdb1ou quelle que soit la désignation de votre lecteur /dev/sdd1. Il peut apparaître comme /dev/sdb1si le système de fichiers était corrompu sur un microSD. Cette erreur est facile à faire car regardez ça ...

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#

Je devais démonter le disque deux fois pour les deux partitions ... démonter et oui qui est une carte microSD qui devrait être /dev/sdd, /dev/sdeou après.

Pourtant, une simple exécution fsckpeut ne pas supprimer le bit sale s'il pense qu'il est en lecture seule. Jusque-là, le noyau Linux utilisera toujours l'ancienne partition, ce qui signifie que vous obtenez l'erreur en lecture seule car il n'y a aucun moyen qu'un utilisateur puisse avoir des autorisations accordées pour une ancienne partition. Parfois, le démarrage du lecteur permet au noyau de basculer vers la nouvelle partition, comme si vous avez utilisé un programme pour créer une nouvelle table de partition.

w3techie
la source