web-dev-qa-db-fra.com

Comment changer la taille du disque avec mkdosfs

Donc, j'ai récemment reçu une carte SD de 256 Go sur eBay pour pas cher du tout, mais il s'avère que le numéro de pièce d'usine imprimé sur le plastique du dos était indiqué comme une carte de 8 Go.

Il a été modifié par le vendeur pour paraître contenir 256 Go et non sa taille réelle.

J'ai découvert qu'il existe dans Linux un logiciel appelé 'mkdosfs' (qui a également une version compilée Windows , qui est celle que j'utilise, mais essentiellement la même).

J'ai appliqué le script par défaut à la carte SD, mais cela a en fait réduit la taille lue à 4 Go.

The shown disk size from Windows

J'ai ensuite enquêté pour trouver qu'en réalité, lors de l'exécution, il y avait une erreur qui apparaissait une demi-seconde avant la fermeture, j'ai réussi à prendre une capture d'écran de cette erreur: The half-second error that appears while attempting to run mkdosfs

C’est le script que j’utilise pour exécuter mkdosfs sous Windows (où H: correspond à la lettre de lecteur de la carte SD)

mkdosfs -n "8GB" -v H: 8386900

Quelqu'un peut-il me dire comment modifier le script pour générer un disque de 8 Go en tant que résultat (je suis presque sûr que cela a quelque chose à voir avec le dernier numéro)

Merci, votre aide est grandement appréciée.

2
NaturalistUbuntu

Si vous avez acheté un disque annoncé comme pouvant contenir 256 Go mais ne pouvant contenir que 8 Go, vous devez le retourner et obtenir un remboursement du vendeur car il n'a pas vendu le produit promis. Si le vendeur et/ou le fabricant étaient disposés à vous escroquer en fonction de la taille du lecteur, qui sait quels autres défauts ou défauts dormants le lecteur a. Je ne me fierais à rien, même dans les 8 premiers Go.


Pour un solution technique, au lieu de tâtonner avec les outils du système de fichiers, vous devriez plutôt repartitionner le lecteur, de sorte que sa ou ses partitions ne couvrent que les 8 premiers Go ( ou quelle que soit la taille qui fonctionne), puis formatez la ou les partitions résultantes avec le ou les systèmes de fichiers de votre choix. Les outils de système de fichiers respectifs créeront des systèmes de fichiers couvrant par défaut la totalité de la partition cible.

Vous pouvez utiliser votre gestionnaire de partition préféré (par exemple, Gnome Disks, KDE Partition Manager, GParted) pour repartitionner le lecteur. Je vais vous donner deux exemples basés sur la ligne de commande ci-dessous, car ils sont faciles à reproduire. Supposons que le lecteur en question porte le nom de noyau /dev/sdz.

Utiliser fdisk

  1. Démarrer fdisk et le diriger vers le lecteur:

    Sudo fdisk /dev/sdz
    
  2. Remplacez la table de partitions par une nouvelle (option de menu o).

  3. Créer une nouvelle partition (n),

    1. en faire une partition primaire (p),
    2. faites-en la première partition (1),
    3. choisissez le premier secteur avec le décalage suggéré de 1 Mio (2048 ou aucune entrée),
    4. choisissez la taille souhaitée de 8 GiB (= 8192 Mio) moins le 1 Mio d'en haut (+8191M),
  4. (facultatif) affiche la table de partition résultante pour vérifier que vous avez bien agi (p),

  5. (facultatif) définissez le type de partition sur "W95 FAT32 (LBA)"1 (t, puis c)

  6. écrire la nouvelle table de partition sur le périphérique (w),

  7. demandez au noyau Linux de relire la table de partition:

    Sudo partprobe /dev/sdz
    

Utiliser sfdisk

Si vous ne souhaitez pas parcourir plusieurs menus, vous pouvez également utiliser sfdisk pour spécifier une table de partitions (définissez size_gb sur la taille souhaitée en GiB):

size_gb=8

Sudo sfdisk /dev/sdz <<EOF
unit: sectors
: start=2048, size=$((($size_gb << 21) - (1 << 11))), Id=c
EOF

Comme avec fdisk, vous devez demander au noyau de relire la table de partitions:

Sudo partprobe /dev/sdz

1 Le type de partition par défaut pour les nouvelles partitions créées avec fdisk est "Linux", mais les deux types devraient convenir. Tous les principaux systèmes d'exploitation (Linux, Windows et OS X) reconnaîtront correctement le contenu de la partition avec l'un ou l'autre type de partition. Il existe certains cas critiques avec des outils tiers qui choisissent de s’attendre à un type de partition particulier pour une raison quelconque.

5
David Foerster