Publié le 28 mars 2013 - par

Les partoches fastoches ! Partitionnez la carte SD de votre Raspberry Pi sous Windows avec Minitool Partition Wizard

image_titre_boot_DD_minOn a toujours envie de savoir comment ça marche ! (pas vous ? ben qu’est-ce que vous faites là alors ? 😆 ). Je vous propose une excursion dans l’univers du MBR et des partitions, qui vous fera découvrir comment sont gérées ces fameuses partitions.
En final, nous verrons comment créer avec un utilitaire sous Windows les partitions attendues par le Raspberry Pi lors de son démarrage.
Vous êtes prêt ? Attachez votre ceinture, on y va !

Le MBR

Le MBR (Master Boot Record) est le premier secteur d’un support de stockage, disque dur ou support amovible (Clé USB, carte SD…). Sa taille est, comme pour tous les secteurs, de 512 octets.

Qu’y a-t-il dans le MBR

Le MBR ne faisant que 512 octets, la place est comptée. On y trouve principalement le code du premier étage de boot (c’est le code exécuté par votre PC pour aller charger le deuxième étage du boot), les message d’erreur à afficher en cas de besoin, et enfin la table de partition.

Le nombre magique

Les deux derniers octets du MBR sont particuliers : C’est le code 0xAA55 (AA55 en hexadécimal). Le BIOS n’exécute le code exécutable contenu dans le MBR que si ces deux octets contiennent bien la valeur AA55. Pourquoi cette valeur me direz-vous ? Si vous convertissez 0xAA55 en binaire, vous obtenez : 1010101001010101 et il y a peu de chance que ce soit exactement cette valeur qui soit présente dans les deux derniers octets d’un secteur (regardez la succession des 1 et des 0) si ce n’est pas un secteur de boot.

Code exécutable

Lorsque le BIOS a vérifié la présence du nombre magique, il charge le code exécutable contenu dans le MBR à l’adresse mémoire 0x7C00 et l’exécute. C’est le Boot Strap Loader. Son rôle est de charger le système d’exploitation que vous avez désigné comme actif.

Messages

Les messages d’erreur permettent d’informer l’utilisateur en cas de problème au cours du boot. Sur le MBR (un peu plus bas dans la page) issu de mon disque dur, vous trouverez :

  • Invalid partition table
  • Error loading operating system
  • Missing operating system

dans la colonne de droite, qui correspond à la traduction en ASCII des codes affichés en hexadécimal à gauche.

Table de partition

C’est un bloc de 64 octets, situés en fin du secteur de MBR, juste avant le 0xAA55. Ces 64 octets sont constitués de 4 paquets de 16 octets, chaque paquet correspondant à une partition. C’est pour quoi on ne peut créer que 4 partition principales sur un disque dur en MBR.

Un exemple de MBR

Cet exemple de MBR a été réalisé sur mon disque dur avec HxD (Voir références).

mbr_01

La table de partition

Au fait, une partition, qu’est ce que c’est?

Lorsque vous achetez un disque dur, disons de 1 To, et que vous l’examinez à partir de zindozs par exemple, vous voyez le 1 To disponible en un seul tenant. Cela signifie que le disque dur ne contient qu’une seule partition de la taille totale du disque.

Cependant dans certains cas, on peut souhaiter diviser le disque en différentes parties bien séparées. Ce pourrait être pour booter sur différents systèmes d’exploitation, ou pour séparer le système des données… Dans ce cas, on va diviser le disques en plusieurs parties. Chacune de ces parties est appelée une partition.

On pourrait comparer le disque dur à une pièce dans laquelle on doit ranger du matériel. Si le rangement n’a pas d’importance, on met tout en vrac dans la pièce. Si on souhaite séparer le matériel électrique du matériel de plomberie et de la documentation, on va disposer des armoires dans la pièce, chaque armoire étant destinée à accueillir un matériel spécifique. Ces armoires représentent nos partitions.

A quoi sert la table de partition ?

La table de partition est un tableau de 64 octets, séparés en 4 blocs de 16 octets. Elle est destinée à recevoir dans chaque bloc de 16 octets les informations propres à chaque partition : Son type, si elle est bootable, où elle commence et où elle finit.

On pourrait la comparer à un plan affiché à l’entrée de notre pièce, qui indiquerait l’emplacement des armoires, leur taille, et ce à quoi elles sont destinées.

La table de partition en détail

Un coup d’œil avec PTEDIT.EXE

Pour se rendre compte du contenu d’une table de partition, le logiciel PTEDIT peut vous aider. ptedit_01

Ci-dessus PTEDIT lancé sur ma machine identifie 3 disques durs (liste déroulante) : un de 500 Go (mon disque système), un de 2 To (mes données) et un troisième de 4 Go (la carte SD de mon Rasberry Pi). Actuellement c’est le premier disque dur qui est sélectionné et  on voit les 2 partitions NTFS (type 07) la première étant bootable et correspondant à la partition primaire de 100 Mo créée par zindozs 7. La deuxième est la partition qui occupe le reste du disque de 500 Go et contient mon système

.ptedit_02Si on descend sur le disque 3, la carte SD du Raspberry Pi, on voit que la partition 1 est de type 0C, soit FAT32 (voir article de Wikipedia), alors que la partition 2 est de type 83 = LINUX, ce qui explique que quand vous lisez cette carte avec un système zindozs, il ne mentionne que la première partition de 55 Mo car il la reconnait et fait comme si l’autre n’existait pas… (c’est une limitation de zindozs qui ne reconnait qu’une partition sur une carte SD)

ptedit_03En cliquant sur la première partition (le 1 est en gras), vous lisez bien en bas de la fenêtre FAT32X.

ptedit_04

Et en cliquant sur la deuxième partition (le 2 est en gras), vous lisez Linux native file system.

Bien entendu, cet outil permettant d’intervenir sur la table de partition pour réparer des problèmes vous permettra aussi de rendre illisibles tous les supports que vous « tripoterez »… N’intervenez qu’en plein connaissance de cause !

avertissement_pteditLa partition active

LA partition active (car il ne peut y en avoir qu’une !) est celle qui contient le système qui sera démarré sur votre ordinateur. Elle est indiquée dans la table de partition par l’octet 0x80 présent dans dans la colonne Boot de ptedit.exe.

Le type de partition

Le type de partition est un octet (il vaut donc de 0 à 255, soit 256 valeurs possibles). Toutes les valeurs n’ont pas été attribuées. Le tableau ci-dessous vous donne les valeurs actuelles. Cliquez sur l’image pour ouvrir un .pdf du tableau complet.

types_de_partitions

Le début de la partition

La partition débute, pour ptedit.exe, sur un cylindre, une tête et un secteur donnés. En fait la localisation se fait en LBA (Logical Block Addressing) sur les disques modernes, c’est à dire que ces informations n’ont plus rien à voir avec la réalité physique du disque.

La fin de la partition

La partition se termine, pour ptedit.exe, sur un cylindre, une tête et un secteur donnés. En fait la localisation se fait en LBA (Logical Block Addressing) sur les disques modernes, c’est à dire que ces informations n’ont plus rien à voir avec la réalité physique du disque.

Les partitions

Partitions principales ou primaires

Une partition principale est une partition de base, définie dans la table de partition. La table de partition comprenant 4 entrées (4 blocs de 16 octets), il est possible de créer au maximum 4 partitions principales. Certains systèmes d’exploitation n’acceptent de booter QUE sur des partitions principales. Il faudra donc RTFM avant de vous lancer dans un partitionnement sauvage…

Partition étendue – Lecteurs logiques

Lorsque vous avez besoin de plus de 4 partitions, il est possible de créer une ET UNE SEULE partition étendue, cette partition contenant elle même une nouvelle structure de partitions, vous permettra de créer des lecteurs logiques. Chaque lecteur logique est identifié par une lettre de l’alphabet. A et B sont réservés pour les lecteurs de disquettes, C contiendra le système d’exploitation, il vous reste les lettres de D à Z soir 23 lecteurs logiques. Attention si vous avez un lecteur de DVD, une clé USB… tenez en compte.

Finalement, je peux créer combien de partitions ?

Alors on récapitule?

Si vous créez uniquement des partitions principales : vous pouvez en créer 1, 2, 3 ou 4 (puisqu’il y a 4 entrées dans la table de partitions).

Maintenant si vous souhaitez créer une partition étendue, vous pourrez créer seulement 1, 2 ou 3 partitions primaires et une seule partition étendue.

Partitionner sa carte SD

Nous arrivons au but de cet article, préparer la carte SD pour son utilisation sur le Raspberry Pi. C’est faisable sous LINUX, mais aussi sous windows. J’ai choisi MiniTool Partition Wizard Home Edition qui a le gros avantage d’être gratuit et l’inconvénient d’être uniquement en anglais. Mais en suivant le pas-à-pas qui suit vous devriez pouvoir préparer votre carte SD.

Sauvegardez le contenu de votre carte SD

Bien entendu, comme d’habitude avant de vous lancer dans des manipulations qui pourraient être dangereuses, vous aurez procédé à une sauvegarde de vos précieuses données !

avertissement_partition_wizard

L’outil MiniTool Partition Wizard

Téléchargement

Vous pouvez télécharger Partition Wizard depuis le site de MiniTool : Cliquez sur le bouton vert Download Now. La version actuelle est la 7.8.

Vous serez renvoyé sur le site CNET pour le téléchargement. Cliquez sur « Telecharger maintenant » (NE CLIQUEZ PLUS SUR RIEN SOUS PEINE D’ÊTRE EMBARQUE DANS DES PUBS ET AUTRES…), attendez quelques instants, la fenêtre de téléchargement s’ouvre, et vous téléchargez un fichier pwhe78.exe de 14 Mo environ.

Installation

Pas de problème particulier, double cliquez sur le programme, après c’est du next, next, next…

Utilisation

Supprimer une partition

Lancez le programme Partition Wizard. J’ai choisi pour la démo d’utiliser une carte SD SAMSUNG de 2 Go. Elle est ici référencée comme Disk 3. Attention de bien repérer le disque sur lequel vous travailler, ce programme peut supprimer toutes les données d’un disque ! Disk 3 contient une seule partition de 1,9 Go.

Vous pouvez afficher les copies d’écran à leur taille réelle en cliquant dessus

sd_02

Faites un clic droit sur la carte SD, sélectionnez DELETE

sd_03

La carte devient unallocated (espace non alloué)

sd_04

Créer une partition principale FAT32

Clic droit sur la partie unallocated. Sélectionner create.

sd_05

Une fenêtre »Create New Partition » s’ouvre.

sd_06

Donnez un nom à la partition si vous le souhaitez (Partition Label), j’ai mis FAT32, ensuite « Create as » choisissez Primary, « File system » choisissez FAT32, « Drive Letter » vérifier que ça n’interfère pas avec les disques présents sur votre machine, j’ai choisi M:, et laissez « Cluster Size » sur Default. Comme notre partition commence au début de la carte SD, laissez « Unallocated Space Before » à 0, puis réglez la taille de partition souhaitée « Partition Size » à 56 Mo. La zone « Unallocated Space After » indique qu’il reste 1,8 Go disponibles.

sd_07

Relisez pour être sûr de ce que vous avez entré, puis validez en cliquant sur OK

La nouvelle partition apparait sur Disk 3, le reste de la carte SD est unallocated (non alloué)

sd_08

Créer une partition LINUX ext4

Créez la partition LINUX de la même façon. Un message vous avertit que zindozs ne reconnait qu’une partition sur une carte SD…

sd_09Cliquez YES pour continuer.

sd_10Comme d’habitude, relisez avant de valider. Votre carte SD est configurée, les deux partitions apparaissent. Cependant pour l’instant cette configuration est toujours uniquement dans Partition Wizard.

sd_11Il ne reste qu’à appliquer ces choix à la carte SD : Cliquez en haut à gauche sur l’icône Apply. C’est à partir de ce moment que Partition Wizard va mettre à jour la table de partition de votre carte SD.

sd_12Partition Wizard vous demande de ne pas utiliser les options d’économie d’énergie sur votre ordinateur et de fermer toutes les applications… 2 précautions valent mieux qu’une !

Validez votre choix en cliquant sur YES.

sd_13Partition Wizard applique vos choix à la carte SD, vous pouvez suivre l’avancement des opérations.

Un petit tour sur la fenêtre Ordinateur confirmera le bon déroulement des opérations.

sd_14

Et le formatage là dedans ?

Avec Partition Wizard, c’est l’utilitaire qui assure lui-même le formatage de la partition. Elle est ainsi prête à l’emploi dès que Partition Wizard a terminé de travailler. Regardez la dernière copie d’écran ci-dessus, Partition Wizard indique Format Partition

Dans la vraie vie, la création des partitions est une chose, le formatage une autre. Sous LINUX, il faut utiliser cfdisk et mkfs pour réaliser ces opérations (voyez cet article pour plus d’infos).

Pour reprendre le comparatif avec notre pièce (le disque dur) et ses armoires (les partitions), le formatage correspond à la pose d’étagères dans les armoires, chaque étagère étant munie de boites de rangement destinées à recevoir vos données. A chaque armoire est associée un cahier qui permet de savoir où est rangée chaque chose (le répertoire principal).

Chaque système d’exploitation va donc formater la partition pour pouvoir y ranger – à sa manière – et y retrouver les données que vous lui confierez.

Le formatage va « consommer » une partie de la place disponible de la partition, pour mettre en place le répertoire et autres moyens de gestion nécessaire au système. C’est ce qui explique que la taille disponible pour les données est inférieure à la taille totale de la partition.

Conclusion

Vous l’aurez peut-être compris, la préparation de la carte SD a été le moyen d’expliquer l’organisation des disques et moyens de stockage que nous utilisons. Une bonne connaissance du fonctionnement de ces mécanismes permet de comprendre certains dysfonctionnements et d’y remédier.

Avec une carte SD prête à recevoir les fichiers de boot et le système d’exploitation de votre choix, vous pouvez commencer à expérimenter. (voir l’article sur la façon dont le Raspberry Pi boote)

Mais l’histoire ne s’arrête pas là : avec l’UEFI et le GPT (GUID Partition Table) ce sont pas moins de 128 partitions qu’il est possible de créer sur un disque…

Mais c’est une autre histoire.

Références :

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

28 réflexions au sujet de « Les partoches fastoches ! Partitionnez la carte SD de votre Raspberry Pi sous Windows avec Minitool Partition Wizard »

    1. admin

      Bonjour
      Bon amusement…
      Cette préparation de la carte est faite pour une install manuelle du système. Si vous utilisez Win32diskimager ou dd sous LINUX pas besoin de tout ça.
      Cordialement
      François

      Répondre
  1. zigzig69

    Bonjour,
    je voulais créer des partitions sur ma carte µsd, mais je ne la voit pas
    sur partition wizard, est-ce parce que mon seul lecteur de carte est
    mon téléphone (même en mode lecteur de disque) ou il pourrait y
    avoir une autre solution? La carte étant bien visible sous windows je
    me demande si je fais une fausse manip ou si je vais devoir trouver
    un adaptateur pour la carte

    Répondre
    1. admin Auteur de l’article

      bonjour
      C’est possible, je n’ai pas essayé avec un téléphone. J’ai un lecteur de cartes « universel » trouvé pour quelques euros sur ebay qui fonctionne très bien.
      Cordialement
      François

      Répondre
    2. Anonyme

      Bjr zigzig69 enfait il faut directement brancher la carte sd avec un adaptateur USB c’est a dire une clé qui a un port microsd / tflash comme cela le pc ne détectera que la carte sd etc. Je pense que c’est votre probleme.

      Aurevoir 🙂

      Répondre
  2. greg

    Bonjour,
    Merci pour ce tuto qui me donne une piste pour mon problème.
    Je viens de transformer un RPi en appareil photo couplé à un PIR (comme pour photographier les animaux sauvages en pleine nature).
    Pour relever mes photo sur linux pas de problème mais mes utilisateurs (nongeek) travail sur windob 7.
    Pour contrer le pb j’ai faire une troisième partition en FAT32 pour ce win… mais il ne la voit toujours pas il s’arrête à la partition boot et ne va pas chercher plus loin tout en me disant que ma carte SD et endommagée et propose naturellement de la casser.
    Si quelqu’un a une idée plug&play pour nongeek je suis preneur.

    Salutations,
    Greg

    Ps je cherche aussi a faire accepter linux à mes utilisateurs mais ça c’est un autre combat.

    Répondre
    1. mioux

      Je reviens sur un post de 2015, mais ça pourra aider d’autres personnes

      Windows (au moins jusqu’au 7, j’ai pas vérifié sur les versions supérieures) ne voit jamais qu’une partitions sur une carte SD. Il voit bien toutes les partitions avec un disque dur externe en revanche…

      Répondre
      1. François MOCQ Auteur de l’article

        Bonjour merci pour ce retour
        effectivement, Windows 7 (les autres (8,9, 10, 11, 12 😉 aussi je vous rassure) ne voit que la partition FAT et ignore avec dédain la partition Linux qui est sur votre carte SD…
        c’est un choix de Krosoft.
        cordialement
        François

        Répondre
  3. jmverdi

    Bonjour,
    J’ai un Pi2 avec l’OS Raspbian et Je me demandais (je ne sais pas trop si c’est en rapport direct avec le sujet) si on pouvait accéder à la petite partition FAT32 (celle qui fait une soixantaine de Mo et que l’on voit lorsqu’on connecte la carte SD à un lecteur de cartes sous Windows) à partir de Linux ? L’idée étant de lire, à partir d’un programme compilé avec Lazarus et exécuté sous Linux après démarrage du Pi, quelques octets d’un fichier texte situé dans cette petite partition FAT32.
    Cordialement
    Jean-Marie

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Jean-Marie
      on y accède depuis le RasPi dans /boot
      c’est là que cette partition est montée
      Sous Raspbian faites
      cd /boot
      ls -al
      et vous m’en direz des nouvelles 🙂
      j’utilise parfois cette méthode pour passer des infos depuis Raspbian sur la carte SD pour les relire sur une machine Windows (oui, je sais… j’ai honte !)
      bonne fin d’année
      cordialement
      françois

      Répondre
      1. jmverdi

        Bonjour François
        Bon début d’année à la framboise!
        Super! c’est effectivement très simple, pas besoin de monter de volume, etc..
        Merci beaucoup
        Quant à Windows… vous avez raison, prenons le meilleur de chaque monde, pas d’ostracisme…
        Jean-Marie

        Répondre
  4. Jean Dupont

    Bonsoir,
    Après avoir formaté ma carte micro SD en deux partitions primaires en format fat32 et ext4, je souhaite supprimer ces deux partitions mais cela m’est impossible malgrès moults éssais : MiniTool partition wizard accepte bien de les supprimer, lance la procédure, termine cette dernière, m’indique que cela s’est produit avec succès, mais aussi tôt les partitions d’origines reviennent, c’est à s’arracher les cheveux! J’espère donc que vous m’éviterez une calvitie précoce en m’aidant à résoudre ce problème, cordialement.

    Répondre
  5. Jean Dupont

    Il se trouve que j’ai déjà essayé cette solution, mais le logiciel ne reconnait pas ma carte ( peut-être du au format de celle ci?) , je commence à me demander si ce n’est pas dû au faite que je l’insert via son adaptateur au port carte SD de mon ordinateur portable, mais sans grande conviction.

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Jean
      SDFormatter ne s’occupe pas de ce qu’il y a sur la carte, partitions ou données. J’ai déjà reformaté des tournées de cartes SD sans problème
      Effectivement l’adaptateur pourrait être en cause
      vous n’avez pas la possibilité de formater la carte micro SD en direct ? quelqu un pourrait vous prêter un lecteur de cartes multiformats?
      cordialement
      François

      Répondre
      1. Jean Dupont

        Bonsoir,
        SDFormatter détecte enfin ma carte SD ( une fois sur 5 hélas), quand c’est le cas ce dernier m’indique qu’il y a une protection en écriture. J’ai bien sur vérifié que le bouton « lock » de adaptateur n’était pas actionné, toujours ce message m’indiquant cette protection en écriture. J’ai essayé depuis moult méthode de formatage (depuis l’utilitaire de formatage windows, depuis le gestionnaire de disque windows, depuis mon appareil photo, depuis mon portable) et je me retrouve toujours dans l’impossibilité de formater cette fdfg@ffd de carte SD.. Je commence à prendre de plus en plus au sérieux la théorie du complot des cartes SD visant à rendre fou leurs utilisateurs afin de dominer le monde.
        Cordialement

        Répondre
        1. Dimos

          Bonjour.

          Quand il la voit et que vous allez dans propriété de la carte, « lecture seule » n’est pas coché à tout hasard ? C’est ce qui me viens à l’esprit, là tout de suite.

          Dimos~

          Répondre
  6. Superbe présentation…
    J’ai « traité » une carte µSD suivant vos recommandations. Cette opératiion s’est déroukée avec succés.
    Cette carte est installée sur un portable Huawei, je souhaitais transférer les applis en mémoire de l’appareil sur la partition 2 de la carte µSD, avec l’appli « LINK2SD+ ».
    Celle-ci ne reconnait pas la partition 2.
    Sauriez vous pourquoi?
    Merci de votre réponse.
    Cordialement

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Gé
      bin… j’en sais rien ! La carte décrite ici est spécifiquement préparée pour le Raspberry Pi…
      le huawei je ne le connais pas du tout et il est sans doute sous Android… Après qu’il lise les partitions ext4 ou pas… ? je ne sais pas non plus 🙂
      Tout dépend comment est paramétré le système… Si ça trouve il ne reconnait qu’une partition FAT…
      Désolé de ne pas pouvoir en dire plus
      cordialement
      François

      Répondre
  7. Antoine

    Bonjour,

    J’ai suivi la technique avec MiniTool afin de partitionner ma carte SD de 64 GB (oui j’ai pris large) pour mon portable (Samsung Galaxy Grand Prime).
    Tout s’est bien déroulé sauf que lorsque je rallume mon portable avec la carte SD remise, il me dit toujours peu de mémoire comme si ma partition Ext4 n’existe pas, seulement ma partition FAT32. Ou alors est ce un autre problème ?
    Que faire ? N’étant pas un pro de l’informatique je rame un peu..

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Antoine
      voir la réponse au commentaire ci-dessus 🙂
      La préparation de carte SD est décrite pour le Raspberry Pi. Je ne sais pas si les portables lisent autre chose que des partitions FAT, ni même s’ils acceptent 2 partitions…
      pourquoi ne pas laisser simplement une seule partition et faire des répertoires?
      cordialement
      François

      Répondre
      1. Antoine

        Bonjour François,
        Merci pour cette rapide réponse 🙂

        Oui je pense que c’est la meilleure solution mais comment créer des répertoires maintenant ^^ ?
        Je ne suis vraiment pas calé en informatique comme je l’ai déjà dit.

        Antoine.

        Répondre
        1. François MOCQ Auteur de l’article

          si c’est sur le portable il faut passer par un explorateur ou un gestionnaire de fichiers
          sous windows double clic sur la carteSD puis clic droit dans la fenetre > nouveau > dossier
          bon courage 🙂

          Répondre
          1. Antoine

            Ah oui d’accord tout simplement en fait ^^
            Je vais tenter cette solution mais ma mémoire interne reste toujours saturée quoi que je fasse, même avec une carte SD, je crois que j’ai trouvé la (grande) faille de ce portable hélas…

            Merci néanmoins de tes conseils 🙂

            Répondre
  8. Ping : RaspberryPie | Pearltrees

  9. Bun4

    Siper tuto, j’ai eu (avant) beaucoup de deboires en voulant agrandir ma partition fat de mon raspberry pour une appli pour laquelle la carte sd passe du pi a un zindozs?

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.