Re: SD Card 32GB neuve non reconnue

2024-07-02 Par sujet hamster

Le 27/06/2024 à 19:56, Th.A.C a écrit :
MAIS, par défaut badblocks fait 4 x passes. Je pense que c'est déja 
beaucoup pour une carte SD et inutile pour un disque mécanique, sauf si 
tu ne veux pas qu'un labo puisse relire tes données.



C'est pas si inutile que ca sur un disque mécanique.
- La premiere passe il écrit 01010101010101…
- La deuxième passe il écrit 10101010101010… (il inverse tous les bits)
- la troisième passe il écrit 0…
- la quatrième passe il écrit 1…

Il m'est déjà arrivé qu'un secteur défectueux ne soit détecté qu'a la 4e 
passe. Par exemple imagine qu'il y ait un secteur avec un bit qui 
n'arrive plus a passer de 0 a 1 mais que ce bit soit déjà a 1 avant le test.
- Premiere passe, le hasard fait que ca écrit 1 sur ce bit la, 
l'écriture échoue mais comme il était déjà a 1 ca se voit pas.

- Deuxième passe ca écrit 0.
- Troisième passe ca écrit 0.
- Quatrième passe ca écrit 1, l'écriture échoue et la ca se voit.
Il peut aussi arriver que ce soit l'électronique qui soit entrain de 
faiblir et qu'elle n'arrive plus a gérer un grand nombre de 1 d'affilée, 
la aussi ca ne se verra qu'a la 4e passe.


Par contre je suis très d'accord sur le fait qu'avec tout ce qui est 
mémoire flash (carte SD, disque SSD, clef USB, etc) il faut y aller 
mollo avec les écritures. Les trucs qui les écrivent entièrement genre 
dd bs=4M if=/dev/zero of=/dev/sdx ou pire encore badblocks c'est 
vraiment pas une bonne idée pour ces supports, ca fait un grand nombre 
d'écritures et ca consomme donc beaucoup leur durée de vie.


Si tu veux tester le support, tu va l'user en le testant. Si il est neuf 
c'est dommage de l'user pour rien. Si il commence déjà a faiblir tu va 
l'achever.
Si tu veux effacer le support, tu peux le faire en mode artisanal avec 
dd mais il y a aussi des outils d'effacement spécialisés pour les 
supports flash qui font ca très bien.




Re: SD Card 32GB neuve non reconnue

2024-07-02 Par sujet Alain Vaugham
Le Thu, 27 Jun 2024 19:56:40 +0200,
"Th.A.C"  a écrit :

[...]
> > Je veux bien installer des outils de formatage bas niveau si on en
> > trouve avec apt-get mais en cherchant mal(?) sur la toile je n'ai
> > trouvé que dd et des conseils pour formater en mode graphique.  
> 
> ca n'existe pas (sauf en usine), et ceux que l'on trouve sur la toile 
> n'en sont pas.
[...]

Merci beaucoup pour tous les détails fournis. Cela comble une partie
des trous que j'ai sur la compréhension de ce qui se passe sur les
supports qu'on utilise.

-- 
Alain Vaugham
Clef GPG : 0xDB77E054673ECFD2



Re: SD Card 32GB neuve non reconnue

2024-06-27 Par sujet Th.A.C

J'avais compris que parted/fdisk/cfdisk formataient au niveau le plus
bas. Est-ce exact?


Aucun des trois ne formate tout court.
Ils se contentent de réécrire la table de partition.
D'ailleurs si tu effaces la table de partition avec fdisk puis que tu 
recrées les partitions avec exactement les mêmes paramètres, tu vas 
retrouver tes données intactes.


Badblock réécrit le contenu des secteurs avec l'option -w et efface donc 
tout ce qui s'y trouve en mettant d'autres données à la place.


MAIS, par défaut badblocks fait 4 x passes. Je pense que c'est déja 
beaucoup pour une carte SD et inutile pour un disque mécanique, sauf si 
tu ne veux pas qu'un labo puisse relire tes données.



Le formatage bas niveau c'est tout recréer, y compris les marques 
inter-secteur et autres choses que l'on ne voit pas.


Une analogie avec une feuille de papier quadrillé:
- badblock -w xxx ou dd if=/dev/zero xxx remplace les caractères de 
chaque carreau par un autre caractère (un coup de gomme et on écriy un 
autre caractère).
- le formatage de bas niveau va effacer le contenu des carreau mais 
aussi le quadrillage, les marges, ... puis va tout redessiner, comme si 
on repartait d'une feuille vierge.



Mais ca fait longtemps que ce type de formatage n'est plus possible 
qu'en usine.


Sur une carte SD, les secteurs sont des zones de mémoires flash 
physiques que l'on ne peut pas recréer.
Dans l'analogie avec le papier quadrillé, la seule chose que l'on peut 
faire est de remplacer le contenu de chaque case par un autre contenu.



 Avec badblocks (-w), je les utilise sur chaque

nouveau disque que j'achète plus un dd /dev/zero de temps en temps mais
ce dernier, uniquement sur les disques dur mécaniques.


Je ne pense pas que ce soit une bonne idée, c'est trop intensif et pas 
adapté aux sdcard qui sont plus fragiles et qui durent moins longtemps.


Pour un disque dur mécanique, un simple dd if=/dev/zero ... suivi d'un 
test de débit sur toute la surface suffira à voir l'état de ton disque.

Si la courbe de débit est régulière, le disque est en bon état.



Je veux bien installer des outils de formatage bas niveau si on en
trouve avec apt-get mais en cherchant mal(?) sur la toile je n'ai trouvé
que dd et des conseils pour formater en mode graphique.


ca n'existe pas (sauf en usine), et ceux que l'on trouve sur la toile 
n'en sont pas.





Sur un portable sous Linux ayant un lecteur de cartes SD intégré, cette
sdcard est invisible.

Sur un Windows 10, l'adaptateur est reconnu mais pas cette sdcard.


Après avoir épuisé tous ces tests, il ne me reste plus d'espoir.
C'était une carte qui fonctionnait correctement avant que je ne la
formate.


malheureusement, je pense aussi que c'est 'mort'

Thierry



Re: SD Card 32GB neuve non reconnue

2024-06-27 Par sujet Alain Vaugham
Le Wed, 26 Jun 2024 23:54:33 +0200,
"Th.A.C"  a écrit :

> Le 26/06/2024 à 23:00, Alain Vaugham a écrit :
> 
>  > J'ai ensuite créé une partition (gpt) :
>  > # cfdisk /dev/sdb1  
> 
> 
> je suppose que c'est une erreur de recopie, mais sinon c'est
> 
>cfdisk /dev/sdb (sans le 1)

Exact, c'est dans cfdisk que l'on créé les partitions. Je n'en avais
créée qu'une seule.



> tu peux essayer de voir les périphériques de type 'bloc' avec la
> commande:
> 
>lsblk

$ lsblk
Seul l'unique disque sda de ma machine est listé avec ses partitions



> je suppose que tu as un adaptateur usb/sdcard, dans ce cas, la
> commande
> 
>lsusb
> 
> doit t'afficher ton adaptateur usb/sdcard et aussi ta sdcard

Avec ou sans la sdcard, l'adaptateur est vu mais jamais la sdcard.
$ lsusb
Bus 002 Device 008: ID 058f:6362 Alcor Micro Corp. Flash Card
Reader/Writer

L'adaptateur est hors de cause :
- Un voyant s'allume à l'introduction de la sdcard fautive
- D'autres sdcard sont reconnues.
- Les sdcard que j'ai font 32Go maximum. Avec fdisk, cfdisk et dd, il
  accepte de formater et de copier des images d'iso sans problème y
  compris sur d'autres formats tels que Compact Flash et deux ou trois
  autres formats.



> Sinon, en mode graphique, il y a:
> 
>gparted
>gnome-disks

J'ai utilisé parted au lieu de gparted. Lui non plus ne voit pas la
sdcard.
# parted -m
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) q
#
# parted -l
Model: ATA WDC WD40EFAX-68J (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 
[...]
N'affiché ici que les partitions du /dev/sda mais rien sur d'autres médiums

Je n'ai pas encore testé avec gnome-disks



>  > Avec dd /dev/zero je ne vois pas non plus comment la formater
>  > bas-niveau puisque qu'on doit indiquer une cible.  
> 
> ce n'est pas du formatage bas niveau, juste un bête remplissage avec
> des zéros.

J'avais compris que parted/fdisk/cfdisk formataient au niveau le plus
bas. Est-ce exact? Avec badblocks (-w), je les utilise sur chaque
nouveau disque que j'achète plus un dd /dev/zero de temps en temps mais
ce dernier, uniquement sur les disques dur mécaniques.
Je veux bien installer des outils de formatage bas niveau si on en
trouve avec apt-get mais en cherchant mal(?) sur la toile je n'ai trouvé
que dd et des conseils pour formater en mode graphique.

 
> au cas ou, la bonne commande est: dd if=/dev/zero of=/dev/sdb
> 
> et tu peux te contenter d'effacer juste les premiers secteurs:
> dd if=/dev/zero of=/dev/sdb count=100

dd refuse de s'exécuter si la cible n'est pas visible :
# fdisk -l | grep Disque
Disque /dev/sda : 3,64 TiB, 4000787030016 octets, 7814037168 secteurs
# dd if=/dev/zero of=/dev/sdb count=100
dd: impossible d'ouvrir '/dev/sdb': Aucun médium trouvé



[...] 
> je n'ai jamais utilisé de Raspberry Pi, es-tu sur qu'un raspberry est 
> capable de booter sur un disque au format gpt.

Non, je ne le sais pas. Mais pour pouvoir booter il faut que la sdcard
soit visible. Ce n'est pas encore le cas.



> pour forcer linux a relire la table de partition des périphériques:
> 
>  partprobe (tous les périphériques)
>  partprobe /dev/sdb (seulement /dev/sdb)
> ca marche aussi pour re-détecter les disques (par exemple un disque 
> branché 'à chaud' alors que le controleur disque ne gère pas le 
> branchement à chaud)

Partprobe non plus ne voit pas l'introduction de la sdcard fautive
dans l'adaptateur :
# partprobe
#
# partprobe -s
/dev/sda: gpt partitions 1 2 3 4 5 6 7
# partprobe -s /dev/sdb
Error: Error opening /dev/sdb: Aucun médium trouvé



> As-tu essayé un reboot ou depuis un live cd

Non, je n'ai pas encore essayé de rebooter ma machine pour vérifier si
la sdcard sera reconnue après un reboot à froid de ma machine.
Pareil pour le live cd.
J'ai peu d'espoir mais je vais quand même faire ces deux essais.



> Tu peux aussi la mettre dans ton smartphone et l'initialiser pour
> voir si elle est reconnue.

Je n'y avais pas pensé.
Sur un Samsung et sur un Fairphone sous Android, cette sdcard n'a pas
été reconnue.



> A noter que si ton lecteur de carte est trop vieux, il ne sait
> peut-être pas gérer correctement ta carte.
 
Il est hors de cause. Voir ci-dessus.



> De mémoire, les cartes "micro sd" avaient une taille maxi de 2Go ou
> 4Go, au dessus de cette taille c'était obligatoirement  du "sdhc".

Au dos de l'emballage de la carte fautive, il est écrit
"SD-MICROSD-32GO" SDCS2/32GB
C'est une version 32Go de la même famille que celles-ci :
Canvas Select Plus microSD
https://www.kingston.com/fr/memory-cards/canvas-select-plus-microsd-card



> Ton lecteur de carte doit donc être compatible sdhc pour pouvoir la 
> formater.

Le lecteur de carte est hors de cause.



Sur un portable sous Linux ayant un lecteur de cartes SD intégré, cette
sdcard est invisible.

Sur un Windows 10, l'adaptateur est reconnu mais pas cette sdcard.


Après avoir épuisé tous ces tests

Re: SD Card 32GB neuve non reconnue

2024-06-26 Par sujet Th.A.C



Le 26/06/2024 à 23:00, Alain Vaugham a écrit :

> J'ai ensuite créé une partition (gpt) :
> # cfdisk /dev/sdb1


je suppose que c'est une erreur de recopie, mais sinon c'est

  cfdisk /dev/sdb (sans le 1)


sdb c'est le disque physique
sdb1 c'est la partition 1 sur le disque /dev/sdb


tu peux essayer de voir les périphériques de type 'bloc' avec la commande:

  lsblk


je suppose que tu as un adaptateur usb/sdcard, dans ce cas, la commande

  lsusb

doit t'afficher ton adaptateur usb/sdcard et aussi ta sdcard


Sinon, en mode graphique, il y a:

  gparted
  gnome-disks



> Avec dd /dev/zero je ne vois pas non plus comment la formater bas-niveau
> puisque qu'on doit indiquer une cible.

ce n'est pas du formatage bas niveau, juste un bête remplissage avec des 
zéros.
J'ai l'air de chipoter, mais je t'assure que les 2 termes n'ont rien en 
commun...


au cas ou, la bonne commande est: dd if=/dev/zero of=/dev/sdb

et tu peux te contenter d'effacer juste les premiers secteurs:
dd if=/dev/zero of=/dev/sdb count=100

les mémoires flash ont un nombre limité d'écritures, alors autant ne pas 
l'user plus que nécessaire



>
>
> Est-ce que mon erreur a été de partitionner avec une étiquette gpt?

non, sauf si tu t'es trompé entre sdb et sdb1

je n'ai jamais utilisé de Raspberry Pi, es-tu sur qu'un raspberry est 
capable de booter sur un disque au format gpt.

(Je sais qu'on peut le faire sur un pc non compatible UFI grâce à grub)


> Est-ce que cette SD Card est définitivement perdue ou y a-t-il un
> moyen de la récupérer et comment?

aucune idée sans plus d'info.

que donnent: lsblk et lsusb

pour forcer linux a relire la table de partition des périphériques:

partprobe (tous les périphériques)
partprobe /dev/sdb (seulement /dev/sdb)

ca marche aussi pour re-détecter les disques (par exemple un disque 
branché 'à chaud' alors que le controleur disque ne gère pas le 
branchement à chaud)


As-tu essayé un reboot ou depuis un live cd

Tu peux aussi la mettre dans ton smartphone et l'initialiser pour voir 
si elle est reconnue.



A noter que si ton lecteur de carte est trop vieux, il ne sait peut-être 
pas gérer correctement ta carte.


De mémoire, les cartes "micro sd" avaient une taille maxi de 2Go ou 4Go, 
au dessus de cette taille c'était obligatoirement  du "sdhc".


Ton lecteur de carte doit donc être compatible sdhc pour pouvoir la 
formater.





SD Card 32GB neuve non reconnue

2024-06-26 Par sujet Alain Vaugham
Bonjour la liste,


fdisk n'affiche plus une SD Card toute neuve que je viens d'acheter
pour y installer une image Raspberry Pi.


Ce que j'ai fait :
# fdisk -l | grep /dev/sd
Puis j'ai testé que sur cette nouvelle SD Card je pouvais écrire dessus.
Une fois montée :
$ touch titi.txt
$ echo "test" > titi.txt
$ cat titi.txt
test
$ rm titi.txt
$

Rassuré que je pouvais écrire sur cette SD Card, comme pour mes disques
durs avant leur mise en service, je vérifie les badblocks sur le disque
non monté en ajoutant le test d'écriture.
# badblocks -w -v /dev/sdb -o bb.txt

En fin de tests, sans surprise, le fichier bb.txt est resté vide.

J'ai ensuite créé une partition (gpt) :
# cfdisk /dev/sdb1
Et un système de fichiers :
# mkfs -t ext4 /dev/sdb1
Je n'ai jamais rencontré de message d'erreur, mais quand j'ai voulu
monter la partition, ni fdisk, ni cfdisk ne voient cette SD Card.
# fdisk -l
# cfdisk (Ne sachant pas quel disque sera utilisé, je n'ose pas
ajouter une commande)
# cfdisk /dev/sdb ne trouve pas le médium.
Avec dd /dev/zero je ne vois pas non plus comment la formater bas-niveau
puisque qu'on doit indiquer une cible.


Est-ce que mon erreur a été de partitionner avec une étiquette gpt?
Est-ce que cette SD Card est définitivement perdue ou y a-t-il un
moyen de la récupérer et comment?


Merci par avance.

-- 
Alain Vaugham
Clef GPG : 0xDB77E054673ECFD2