[HDD] Écraser les "bootsectors" existants
[HDD] Écraser les "bootsectors" existants
Bonjour,
Je voulais savoir si le fait de créer une nouvelle table de partition écrasait les "bootsectors" ou si il fallait utiliser la commande "dd if=/dev/zero of=/dev/sdX"
Merci d'avance
Je voulais savoir si le fait de créer une nouvelle table de partition écrasait les "bootsectors" ou si il fallait utiliser la commande "dd if=/dev/zero of=/dev/sdX"
Merci d'avance
Re: [HDD] Écraser les "bootsectors" existants
Bonjour,
Créer une nouvelle table de partitions écrase les 512 premiers octets d'un disque pour le partitionnement "classique ms-dos", 2048 octets au début, et autant à la fin, du disque pour le partitionnement GPT.
On n'a pas besoin de dd avant de refaire une table de partitions.
Créer une nouvelle table de partitions écrase les 512 premiers octets d'un disque pour le partitionnement "classique ms-dos", 2048 octets au début, et autant à la fin, du disque pour le partitionnement GPT.
On n'a pas besoin de dd avant de refaire une table de partitions.
Re: [HDD] Écraser les "bootsectors" existants
Merci, c'est la même chose pour une table DOS etc ?
Parce-que j'ai lu
Parce-que j'ai lu
First we erase existing bootsectors (nuke existing partitions)
dd if=/dev/zero of=/dev/sda bs=512 count=100
we create a new GPT partition structure on /dev/sda
parted -a optimal /dev/sda mklabel gpt
Re: [HDD] Écraser les "bootsectors" existants
Je maintiens : tu n'as pas besoin de dd.PoowP a écrit :Merci, c'est la même chose pour une table DOS etc ?
Parce-que j'ai luFirst we erase existing bootsectors (nuke existing partitions)
dd if=/dev/zero of=/dev/sda bs=512 count=100
we create a new GPT partition structure on /dev/sda
parted -a optimal /dev/sda mklabel gpt
Je corrige ton tuto : pour partitionner en GPT une partition déjà correctement formatée en ms-dos, n'utilise pas parted ni fdisk, qui vont te faire réécrire toutes tes données !
Utilise gdisk (gpt fdisk) qui te transformera la partition ms-dos en GPT sans perte de données à une seule condition, que les 2048 derniers octets soient vides, quitte donc à diminuer puis réexpanser la dernière partition avec gparted pour vider cette fin de disque sans perte de données.
Tu essaies d'abord la transformation, si elle n'est pas possible en raison de données présentes à la fin, gdisk te le dira :
Code : Tout sélectionner
Warning! Secondary partition table overlaps the last partition by
33 blocks!
Le meilleur tuto ici , et le premier auquel il se refère, ici.
-
- Chu Ko Nu
- Messages : 405
- Inscription : dim. 19 juin 2011, 18:53
- Localisation : dans le neuf trois
Re: [HDD] Écraser les "bootsectors" existants
Tu as également https://fr.wikipedia.org/wiki/GUID_Partition_Table et https://en.wikipedia.org/wiki/GUID_Partition_Table qui expliquent très bien ces histoires de mbr, bootsectors et autres lba.
Si le C ne te rebutes pas, les sources d'util-linux sont aussi d'un précieux secours, notamment util-linux-2.28/libblkid/src.
Si le C ne te rebutes pas, les sources d'util-linux sont aussi d'un précieux secours, notamment util-linux-2.28/libblkid/src.
Je suis sur devuan avec sysvinit et kbwm
Re: [HDD] Écraser les "bootsectors" existants
Tu veux dire que si par exemple je veux faire une table ms-dos, fdisk et parted ne vont pas correctement la formater ?Je corrige ton tuto : pour partitionner en GPT une partition déjà correctement formatée en ms-dos, n'utilise pas parted ni fdisk, qui vont te faire réécrire toutes tes données !
Pour faire une table en GPT j'utilise toujours gdisk, j'ai du mal à comprendre ce que tu veux dire par réécrire toutes les données
Les 2048 dernier ou premiers ? Si je fais un fdisk -l (c'est une table dos mais gdisk -l ne fonctionne pas) je vois :Utilise gdisk (gpt fdisk) qui te transformera la partition ms-dos en GPT sans perte de données à une seule condition, que les 2048 derniers octets soient vides, quitte donc à diminuer puis réexpanser la dernière partition avec gparted pour vider cette fin de disque sans perte de données.
Code : Tout sélectionner
Périphérique Début Fin Secteurs Taille Type
/dev/sda1 2048
Comment on "aligne" ? J'ai lu qu'il fallait aligner aussi
Tu veux dire la manip avec dd ?Tu essaies d'abord la transformation, si elle n'est pas possible en raison de données présentes à la fin, gdisk te le dira :
Code : Tout sélectionner
Warning! Secondary partition table overlaps the last partition by
33 blocks!
et tu feras alors cette manip seulement si nécessaire.
Re: [HDD] Écraser les "bootsectors" existants
Où as-tu vu que j'ai dit ça ? J'ai simplement dit que passer par l'étape écrasement par dd était inutile.PoowP a écrit :Tu veux dire que si par exemple je veux faire une table ms-dos, fdisk et parted ne vont pas correctement la formater ?
Si tu veux passer en GPT un disque partitionné en ms-dos, plein de données, elles seront conservées.PoowP a écrit :Pour faire une table en GPT j'utilise toujours gdisk, j'ai du mal à comprendre ce que tu veux dire par réécrire toutes les données
Et c'est pour ça que je t'ai parlé de GPT alors que tu me parlais, toi, de parted... Relis-toi !
Pour le reste, revois les liens que l'on t'a donnés : GPT a besoin des 2048 premiers + 2048 derniers octets du disque.
La manip dont je parle est : si gdisk refuse de convertir en GPT une table de partitions ms-dos qui contient des données, de libérer la place en rétrécissant la partition en fin de disque avec parted ou son interface gui, puis faire la transformation avec gdisk, puis réexpanser la partition pour qu'elle reprenne sa taille maxi.
On peut faire la même manip si la place qui manque est au début aussi, mais le déplacement de données risque d'être bien plus long qu'écrire les données sur un support de sauvegarde et les recopier après coup.
La manipulation avec dd n'a pas sa place dans un partitionnement normal qu'il soit ms-dos ou GPT
On peut le concevoir sur tout un disque qu'on doit crypter, mais écrire des données aléatoires serait mieux, c'est un autre sujet.
Aligner est maintenant automatique avec les outils récents. On peut vérifier si l'alignement est correct avec les commandes suivante (un 0 signifie que c'est aligné correctement) :
Code : Tout sélectionner
# blockdev --getalignoff /dev/<partition>
Code : Tout sélectionner
# fdisk -lu /dev/<partition>
- benjarobin
- Maître du Kyudo
- Messages : 17624
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [HDD] Écraser les "bootsectors" existants
Pourquoi embrouiller tout le monde en parlant de table GPT alors que ce n'est pas le sujet (enfin je ne l'ai pas compris, donc bon...) ? D'ailleurs quel est la question de ce sujet, car je n'ai pas comprit ? Quel est le problème / la question ?
Pour créer une table de partition il est totalement inutile d'effacer quoi que ce soit, sauf si on veut passer d'une table GPT à une table msdos. gdisk fournit une option pour effacer proprement une table GPT. Mais cela ne coûte rien/cela ne fait pas de mal d’effacer les premiers secteurs du disque avant une réinstallation (personnellement je ne le fais jamais).
Bref, tu peux sans aucun souci (si la version de ces outils n'est pas trop vielle) utiliser fdisk, gdisk, parted, gparted pour créer une table de partition msdos ou GPT. Après chacun possède ses préférences, pour du gpt j'utilise gdisk, et pour du msdos fdisk, question d'habitude (aucune autre raison valable)...
Et pour l'alignement tous les outils alignent maintenant correctement par défaut au Mo, donc si tu laisses tout par défaut, tu n'auras pas de souci
Pour créer une table de partition il est totalement inutile d'effacer quoi que ce soit, sauf si on veut passer d'une table GPT à une table msdos. gdisk fournit une option pour effacer proprement une table GPT. Mais cela ne coûte rien/cela ne fait pas de mal d’effacer les premiers secteurs du disque avant une réinstallation (personnellement je ne le fais jamais).
Bref, tu peux sans aucun souci (si la version de ces outils n'est pas trop vielle) utiliser fdisk, gdisk, parted, gparted pour créer une table de partition msdos ou GPT. Après chacun possède ses préférences, pour du gpt j'utilise gdisk, et pour du msdos fdisk, question d'habitude (aucune autre raison valable)...
Et pour l'alignement tous les outils alignent maintenant correctement par défaut au Mo, donc si tu laisses tout par défaut, tu n'auras pas de souci
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [HDD] Écraser les "bootsectors" existants
Bonjour benjarobin,
Là il parle de GPT
On ne comprend pas bien le but du post effectivement.PoowP a écrit : Parce-que j'ai luFirst we erase existing bootsectors (nuke existing partitions)
dd if=/dev/zero of=/dev/sda bs=512 count=100
we create a new GPT partition structure on /dev/sda
parted -a optimal /dev/sda mklabel gpt
Là il parle de GPT
Re: [HDD] Écraser les "bootsectors" existants
C'était justement ma question, je voulais savoir si il fallait faire un dd avec /dev/zero pour passer d'une table dos à une table gpt, et même d'une table gpt à une table dos, ou si il fallait faire quelque chose de spécialbenjarobin a écrit :Pour créer une table de partition il est totalement inutile d'effacer quoi que ce soit, sauf si on veut passer d'une table GPT à une table msdos. gdisk fournit une option pour effacer proprement une table GPT. Mais cela ne coûte rien/cela ne fait pas de mal d’effacer les premiers secteurs du disque avant une réinstallation (personnellement je ne le fais jamais).
Bref, tu peux sans aucun souci (si la version de ces outils n'est pas trop vielle) utiliser fdisk, gdisk, parted, gparted pour créer une table de partition msdos ou GPT. Après chacun possède ses préférences, pour du gpt j'utilise gdisk, et pour du msdos fdisk, question d'habitude (aucune autre raison valable)...
Une option spéciale ? Je vais voir si je la trouve dans gdisk
Pour aligner au Mo, par exemple dans fdisk je n'ai qu'à faire +1G, +5G, +50M, +100M ? C'est comme ça ?
- benjarobin
- Maître du Kyudo
- Messages : 17624
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [HDD] Écraser les "bootsectors" existants
Pour les questions d'alignement, dans fdisk comme dans gdisk, oui c'est la meilleur façon de faire. Comme cela aucun risque de se tromper. Et pour le secteur de début, toujours accepter ce qui est proposé.
Pour supprimer proprement la table de partition GPT, sans gdisk, il faut aller dans le menu expert, option
Bien lancer manuellement
Pour supprimer proprement la table de partition GPT, sans gdisk, il faut aller dans le menu expert, option
x
, puis sélection l'option z
.Bien lancer manuellement
partprobe /dev/sdX
après une telle opération. Plus généralement avec un dd
touchant à une table de partition, il faut lancer cette commande. Où si tu as le moindre doute, le plus simple est de reboot.Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
- Xorg
- Maître du Kyudo
- Messages : 1933
- Inscription : dim. 22 janv. 2012, 19:25
- Localisation : Entre le clavier et la chaise.
Re: [HDD] Écraser les "bootsectors" existants
Pourquoi tu veux t'amuser à passer d'une table à l'autre ? Laisse les utilitaires faire leur job, il n'y a pas besoin de
Je ne comprends pas non plus ton problème, ni pourquoi tu cherches à tripoter ce que tu appelles "bootsectors". Il n'y a pas de boot sectors avec une table GPT, et même s'il existe un MBR en GPT, il est dit de protective, afin d'éviter à de vieux utilitaires de remplacer la table GPT par une table MS-DOS à tord.
dd
.Je ne comprends pas non plus ton problème, ni pourquoi tu cherches à tripoter ce que tu appelles "bootsectors". Il n'y a pas de boot sectors avec une table GPT, et même s'il existe un MBR en GPT, il est dit de protective, afin d'éviter à de vieux utilitaires de remplacer la table GPT par une table MS-DOS à tord.
- benjarobin
- Maître du Kyudo
- Messages : 17624
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [HDD] Écraser les "bootsectors" existants
@Xorg Techniquement tu est obligé de le faire manuellement dans le cas ou tu formates ton disque mais que tu veux mettre cette fois si une table msdos au lieu d'une table GPT. On ne parle pas de conversion d'une table de partition, bien que techniquement cela reviendrais au même...
Je suis d'accord, ce n'est pas courant, mais cela m'est déjà arrivé de devoir le faire. Je voulais réutiliser un disque dur pour une tout autre chose, mais cette fois si avec une table msdos. Si tu ne fais pas il reste des bouts de GPT un peu partout et le système est totalement confus...
Je suis d'accord, ce n'est pas courant, mais cela m'est déjà arrivé de devoir le faire. Je voulais réutiliser un disque dur pour une tout autre chose, mais cette fois si avec une table msdos. Si tu ne fais pas il reste des bouts de GPT un peu partout et le système est totalement confus...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
- Xorg
- Maître du Kyudo
- Messages : 1933
- Inscription : dim. 22 janv. 2012, 19:25
- Localisation : Entre le clavier et la chaise.
Re: [HDD] Écraser les "bootsectors" existants
Ah, ouais, je vois le truc. Il me semblait que j'avais déjà fait ma manipulation de GPT à MS-DOS avec GParted et je n'ai pas le souvenir d'avoir eu ce genre de soucis. Mais ça remonte à loin. Autant pour moi.
Re: [HDD] Écraser les "bootsectors" existants
Il faut faire l'optionPour les questions d'alignement, dans fdisk comme dans gdisk, oui c'est la meilleur façon de faire. Comme cela aucun risque de se tromper. Et pour le secteur de début, toujours accepter ce qui est proposé.
Pour supprimer proprement la table de partition GPT, sans gdisk, il faut aller dans le menu expert, optionx
, puis sélection l'optionz
.
Bien lancer manuellementpartprobe /dev/sdX
après une telle opération. Plus généralement avec undd
touchant à une table de partition, il faut lancer cette commande. Où si tu as le moindre doute, le plus simple est de reboot.
x
et z
dans quel cas, seulement en cas de retour sur une table dos à partir d'une GPT ? Ou à chaque fois que je veux faire une nouvelle table gpt ? Et pour passer de dos à GPT ?partprobe /dev/sdX après cette manipulation d'accord, qu'est-ce que tu entends en disant : Plus généralement avec un
dd
touchant à une table de partition, il faut lancer cette commande ?À chaque formatage si je repars à 0 tout clean, je dois utiliser l'option
x
+ z
?- benjarobin
- Maître du Kyudo
- Messages : 17624
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [HDD] Écraser les "bootsectors" existants
@Xorg, il est fort probable que GParted soit assez intelligent pour le faire automatiquement... Aucune idée...
J'espérais que ce soit clair... Si tu veux supprimer une table de partition GPT quelque soit la raison, alors tu dois utiliser gdisk avec l'option z. Tu peux vouloir la supprimer pour plusieurs raisons, mais celle qui est la plus probable est le passage de GPT à msdos. Sinon en pratique personne ne le fait car personne ou presque ne fait une telle opération (GPT vers msdos)...
Si tu écrit une nouvelle table GPT, elle écrasera l'ancienne, donc c'est parfaitement inutile de l’effacer au préalable... Pourquoi vouloir toujours faire aussi compliqué ?
Si tu fais une opération manuelle touchant la table de partition (par exemple un dd), il faut avertir le kernel que la table de partition a changé, partprobe est fait pour cela. Cette opération est automatiquement réalisée lors de la création d'une table de partition avec les outils standards (fdisk, gdisk, parted, ...)
En résumé tu peux oublier tout ce que l'on a dit depuis le début, cela ne concerne qu'une partie infiniment petite de personne. Juste utilise normalement fdisk, gdisk, ... Il n'y a rien à faire dans 99.99% des cas !
J'espérais que ce soit clair... Si tu veux supprimer une table de partition GPT quelque soit la raison, alors tu dois utiliser gdisk avec l'option z. Tu peux vouloir la supprimer pour plusieurs raisons, mais celle qui est la plus probable est le passage de GPT à msdos. Sinon en pratique personne ne le fait car personne ou presque ne fait une telle opération (GPT vers msdos)...
Si tu écrit une nouvelle table GPT, elle écrasera l'ancienne, donc c'est parfaitement inutile de l’effacer au préalable... Pourquoi vouloir toujours faire aussi compliqué ?
Si tu fais une opération manuelle touchant la table de partition (par exemple un dd), il faut avertir le kernel que la table de partition a changé, partprobe est fait pour cela. Cette opération est automatiquement réalisée lors de la création d'une table de partition avec les outils standards (fdisk, gdisk, parted, ...)
En résumé tu peux oublier tout ce que l'on a dit depuis le début, cela ne concerne qu'une partie infiniment petite de personne. Juste utilise normalement fdisk, gdisk, ... Il n'y a rien à faire dans 99.99% des cas !
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
-
- Chu Ko Nu
- Messages : 405
- Inscription : dim. 19 juin 2011, 18:53
- Localisation : dans le neuf trois
Re: [HDD] Écraser les "bootsectors" existants
Cette affirmation aussi péremptoire qu'erronée figure à plusieurs reprises dans ce post.waitnsea a écrit :Créer une nouvelle table de partitions écrase les 512 premiers octets d'un disque pour le partitionnement "classique ms-dos", 2048 octets au début, et autant à la fin, du disque pour le partitionnement GPT.
Un table de partitions GPT a besoin de 34 secteurs de 512 octets (33 + protective mbr), soient 17408 octets au début du disque et de 33 secteurs de 512 octets, soient 16896 octets à la fin.
Je suis sur devuan avec sysvinit et kbwm
- benjarobin
- Maître du Kyudo
- Messages : 17624
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [HDD] Écraser les "bootsectors" existants
En effet j'avais vu, mais si on relevait toutes les erreurs... C'est pour cela qu'il faut mieux passer par gdisk pour l'effacement qui le fait correctement sans erreur...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum