#26 Le 23/09/2006, à 15:53
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
Bon, j'ai essayé quelques heures...sans succès
mais comment je le fais avec testdisk? il me retrouve des anciennes paroches, mais ne règle pas le problème... je donne quand même le résultat de l'analyse, pour info
Disk /dev/hda - 114473 MB - CHS 232581 16 63
Check current partition structure
Partition Start End Size in sectors
check_NTFS: Incorrect number of heads/cylinder 255 (NTFS) != 16 (HD)
1 * HPFS - NTFS 0 1 1 62474 15 63 62974737
Warning: Bad ending head (CHS and LBA don't match)
2 P Linux 107386 14 1 127723 1 63 20498940 [/]
Warning: Bad starting head (CHS and LBA don't match)
3 E extended 127723 2 1 232575 14 63 105691635
Warning: Bad starting head (CHS and LBA don't match)
5 L Linux Swap 228017 14 1 232575 14 63 4594527
Warning: Bad starting head (CHS and LBA don't match)
X extended 127723 2 2 228017 12 63 101097044
Warning: Bad starting head (CHS and LBA don't match)
6 L Linux 127723 4 1 228017 12 63 101096919 [/home]
Warning: Bad starting head (CHS and LBA don't match)
je n'ai rien changé au niveau label (du moins pas manuellement...). j'ai juste redimentioné et déplacé avec gparted...
je signale aussi que le système actuellement fonctionne bien, mais que Partman ne détecte pas mes partitions de hda à l'installation de Demudi
Dernière modification par BlindeKinder (Le 23/09/2006, à 15:57)
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#27 Le 23/09/2006, à 23:16
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
Ce que Cep t'explique c'est qu'a partir de ta situation de départ qui n'était pas standard, le standard consiste à placer, dans l'ordre, sur le MBR la description des quatre partitions possibles(au plus), avec trois primaires puis l'étendue (ce n'est pas obligatoire, mais c'est conseillé) et dans l'étendue les logiques.
Au lieu de cela ca a commencé comme ceci :
Périphérique Amorce Début Fin Blocs Id Système
/dev/hda1 * 1 3920 31487368+ 7 HPFS/NTFS (premiere partition de 1 à 3920, primaire, ok)
/dev/hda3 8015 14593 52845817+ 5 Extended (troisième partition, l'étendue, de 8015 à la fin du disque, mais trouvée sur le mbr à la place reservée à la seconde partition)
/dev/hda4 3921 8014 32885055 83 Linux (deuxième partition de 3921 à 8014, dont l'écriture dans le mbr est située à la place normalement reservée à la troisième partition)
/dev/hda5 14308 14593 2297263+ 82 Linux swap / Solaris (la deuxième partition logique ecrite dans le premier EBR mais à la place de la première)
/dev/hda6 8015 14307 50548459+ 83 Linux (la première partition logique écrite à la place de la seconde dans le second EBR (un EBR par partition logique, c'est une cascade))
Incohérence apparente de plus(conséquence), la hda4 aurait du s'appeler la hda2.
Et lors des réorganisations la situation s'est un peu aggravée.
Périphérique Amorce Début Fin Blocs Id Système
/dev/hda1 * 1 3920 31487368+ 7 HPFS/NTFS (toujours ok)
/dev/hda2 6739 8014 10249470 83 Linux (l'ancienne partion de 3921 à 8014 à été raccourcie mais par le début jusqu'a 6739, elle est devenue 6739 à 8014, elle est maintenant à la bonne place dans l'ordre d'écriture sur le mbr, sauf qu'elle ménage un "trou" de 3921 à 6738 qui est probablement interpreté comme une partition par les divers logiciels qui manipulent le mbr)
/dev/hda3 8015 14593 52845817+ 5 Extended (là c'est bon la troisième étendue est à la troisième place et va de 8015 à la fin)
/dev/hda5 14308 14593 2297263+ 82 Linux swap / Solaris (pareil qu'au dessus)
/dev/hda6 8015 14307 50548459+ 83 Linux (pareil qu'au dessus)
Incohérence visible l'ordre hda1, hda2, hda3 est correct, sauf qu'entre hda1 et hda2 il y a un trou.
Alors cela fonctionne car les Os se moquent en général de savoir dans quel ordre sont décrit les partitions (tant qu'on commence et fini sur le bon secteur), par contre tous les outils travaillant sur le mbr vont signaler les incohérences de celui-ci.
Et testDisk sort un peu n'importe quoi, deux partitions étendues par exemple, ce qui se comprend si testdisk veut absolument trouver dans le premier EBR d'abords l'emplacement d'une partition logique puis l'emplacement du reste comme prévu, mais qu'il tombe sur l'inverse. Par contre qu'il décrive la descrition CHS (Cylinder, Head, Sector) non concordante avec la description LBA (Large Block Area) ca n'a aucune importance sur un systeme récent, le CHS ne sert plus.
Je me doute que je ne suis pas super clair si comme moi tu débutes.
Mais comme dit cep, si ca marche touche plus à rien.
Tu pourrais nous mettre en ligne un copie de ton mbr en faisant un :~$ sudo dd if=/dev/hda of=~/Desktop/hda.mbr bs=512 count=1 ? (sous forme de fichier joint ou de [code)
Citation de la page de manuel de cfdisk : BE EXTREMELY CAREFUL if you use the dd command, since a small erreur de clavier can make all of the data on your disk useless.
(je pense ?? avoir saisi le début de la bourde, cfdisk -P s /dev/hda => Print un label s (Sun) sur le fichier /dev/hda qui est en fait le mbr, l'utilisation de cfdisk se fait normalement en interactif, il y a une interface.
Dernière modification par Bubble's Talks (Le 24/09/2006, à 00:10)
Hors ligne
#28 Le 24/09/2006, à 00:06
- geantick
Re : [Résolu]Triple Boot et problème partition (mbr)
et pourquoi pas unbuntu musique (specialisé dans la MAO)
http://mdesigner.free.fr/index.php?2006/09/16/73-ubuntu-musique-offre-la-version-dapper-specialisee-en-mao-en-version-beta
soit A=B , si l'on ajoute A de chaque cotés => 2A=B+A , on soustrait 2B de chaque coté => 2A-2B=A-B <=> 2(A-B)=1(A-B)
en simplifiant 2=1 ! et voilà. Mais 0/0 çà fait combien?
Hors ligne
#29 Le 24/09/2006, à 11:30
- saceirdoth
Re : [Résolu]Triple Boot et problème partition (mbr)
(je pense ?? avoir saisi le début de la bourde, cfdisk -P s /dev/hda => Print un label s (Sun) sur le fichier /dev/hda qui est en fait le mbr, l'utilisation de cfdisk se fait normalement en interactif, il y a une interface.
Dans ce cas c'est moi qui lui ai fait faire n'importe quoi (et je m'en excuse).
Mais pour moi cette commande, c'est justement pour lister sans le mode interactif de cfdisk, elle fait rien d'autre normalement.
Hors ligne
#30 Le 24/09/2006, à 12:14
- cep
Re : [Résolu]Triple Boot et problème partition (mbr)
cfdisk -P s /dev/hdx ne présente aucun danger. La preuve :
:~$ sudo cfdisk -P s /dev/hda
Password:
Table de partitions de /dev/hda
Premier Dernier
# Type Secteur Secteur Offset Longueur Sys.FichierType (ID) Fanions
-- ------- ----------- ----------- ------ ----------- -------------------- ----
1 Primair 0 5333579 63 5333580 Linux raid auto (FD) Aucun
2 Primair 5333580 17578125* 0 12244546*Linux (83) Amorce
3 Primair 17578126* 19743884 0 2165759*Linux swap / So (82) Aucun
Par contre cfdisk échouera parfois à lire une table alors que la commande parted y arrive :
sudo parted -s /dev/hdx print (sans parler de fdisk).
La boulette a été faite par BlindeKinder lorsqu'il a entré cette commande au prompt de cfdisk :
Commande (m pour l'aide): sudo cfdisk -P s /dev/hda
Construction d'une nouvelle étiquette Sun pour disque. Les modifications resteront
en mémoire jusqu'à écriture. Après quoi, bien sûr, le précédent contenu
sera irrécupérable.
Pour autant cfdisk n'aurait pas du la prendre en compte puisqu'elle n'a pas de sens. Je ne pense pas qu'elle ait été prise en compte.
Ce sont d'autres interventions qui ont mélangé la table.
Hors ligne
#31 Le 25/09/2006, à 11:17
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
J'ai fait
sudo dd if=/dev/hda of=~/Desktop/hda.mbr bs=512 count=1
et ça dit:
1+0 records in
1+0 records out
Erreur de segmentation
j'ai le fichier, mais je n'arrive pas à l'ouvrir...
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#32 Le 25/09/2006, à 12:13
- cep
Re : [Résolu]Triple Boot et problème partition (mbr)
L'erreur de segmentation n'a aucune importance.
Tu peux ouvrir hda.mbr avec hexedit ou ghex ou khexedit s'ils sont installés, ou od.
Mais cela ne te sera pas d'une grande aide.
Malgé tout, si tu veux afficher ton mbr dans un terminal, tu peux faire :
sudo dd bs=512 count=1 if=/dev/hda | od -Ax -tx1z -v
Hors ligne
#33 Le 25/09/2006, à 12:22
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
Oui voilà et si c'est possible je prefere un lien sur le fichier pour le recuperer.
Genre sur page perso, ou par mail en pièce jointe pourquoi pas.
Hors ligne
#34 Le 25/09/2006, à 14:39
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
bon, désolé je n'y arrive pas autrement... donc voilà:
000000 eb 48 90 8e d0 31 e4 8e d8 8e c0 be 00 7c bf 00 >.H...1.......|..<
000010 06 b9 00 01 f3 a5 be ee 07 b0 08 ea 20 06 00 00 >............ ...<
000020 80 3e b3 07 ff 75 04 88 16 b3 07 80 3c 00 74 04 >.>...u......<.t.<
000030 08 06 af 07 83 ee 10 d0 e8 73 f0 cd 1a 89 03 02 >.........s......<
000040 ff 00 00 20 01 00 00 00 00 02 fa 90 90 f6 c2 80 >... ............<
000050 75 02 b2 80 ea 59 7c 00 00 31 c0 8e d8 8e d0 bc >u....Y|..1......<
000060 00 20 fb a0 40 7c 3c ff 74 02 88 c2 52 be 7f 7d >. ..@|<.t...R..}<
000070 e8 34 01 f6 c2 80 74 54 b4 41 bb aa 55 cd 13 5a >.4....tT.A..U..Z<
000080 52 72 49 81 fb 55 aa 75 43 a0 41 7c 84 c0 75 05 >RrI..U.uC.A|..u.<
000090 83 e1 01 74 37 66 8b 4c 10 be 05 7c c6 44 ff 01 >...t7f.L...|.D..<
0000a0 66 8b 1e 44 7c c7 04 10 00 c7 44 02 01 00 66 89 >f..D|.....D...f.<
0000b0 5c 08 c7 44 06 00 70 66 31 c0 89 44 04 66 89 44 >\..D..pf1..D.f.D<
0000c0 0c b4 42 cd 13 72 05 bb 00 70 eb 7d b4 08 cd 13 >..B..r...p.}....<
0000d0 73 0a f6 c2 80 0f 84 ea 00 e9 8d 00 be 05 7c c6 >s.............|.<
0000e0 44 ff 00 66 31 c0 88 f0 40 66 89 44 04 31 d2 88 >D..f1...@f.D.1..<
0000f0 ca c1 e2 02 88 e8 88 f4 40 89 44 08 31 c0 88 d0 >........@.D.1...<
000100 c0 e8 02 66 89 04 66 a1 44 7c 66 31 d2 66 f7 34 >...f..f.D|f1.f.4<
000110 88 54 0a 66 31 d2 66 f7 74 04 88 54 0b 89 44 0c >.T.f1.f.t..T..D.<
000120 3b 44 08 7d 3c 8a 54 0d c0 e2 06 8a 4c 0a fe c1 >;D.}<.T.....L...<
000130 08 d1 8a 6c 0c 5a 8a 74 0b bb 00 70 8e c3 31 db >...l.Z.t...p..1.<
000140 b8 01 02 cd 13 72 2a 8c c3 8e 06 48 7c 60 1e b9 >.....r*....H|`..<
000150 00 01 8e db 31 f6 31 ff fc f3 a5 1f 61 ff 26 42 >....1.1.....a.&B<
000160 7c be 85 7d e8 40 00 eb 0e be 8a 7d e8 38 00 eb >|..}.@.....}.8..<
000170 06 be 94 7d e8 30 00 be 99 7d e8 2a 00 eb fe 47 >...}.0...}.*...G<
000180 52 55 42 20 00 47 65 6f 6d 00 48 61 72 64 20 44 >RUB .Geom.Hard D<
000190 69 73 6b 00 52 65 61 64 00 20 45 72 72 6f 72 00 >isk.Read. Error.<
0001a0 bb 01 00 b4 0e cd 10 ac 3c 00 75 f4 c3 00 00 00 >........<.u.....<
0001b0 00 00 00 00 00 00 00 00 d0 dc d0 dc a5 01 80 01 >................<
0001c0 01 00 07 fe ff ff 3f 00 00 00 11 eb c0 03 00 fe >......?.........<
0001d0 ff ff 83 fe ff ff d2 b3 73 06 fc c9 38 01 00 fe >........s...8...<
0001e0 ff ff 05 fe ff ff ce 7d ac 07 f3 b9 4c 06 00 fe >.......}....L...<
0001f0 ff ff 83 fe ff ff 50 eb c0 03 82 c8 b2 02 55 aa >......P.......U.<
000200
1+0 records in
1+0 records out
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#35 Le 25/09/2006, à 16:14
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
Voici ce qui nous interesse dans ton Mbr, à la fin ;
1) 0001c0 01 00 07 fe ff ff 3f 00 00 00 11 eb c0 03 00 fe
07 : Ntfs
début : 3f 00 00 00 -> 00 00 00 3F -> 63
taille : 11 eb c0 03 -> 03 c0 eb 11 -> 62 974 737
fin : début -1 + taille = 62 974 799
2) 0001d0 ff ff 83 fe ff ff d2 b3 73 06 fc c9 38 01 00 fe
83 : EXT3
début : d2 b3 73 06 -> 06 73 B3 D2 -> 108 245 970
taille : fc c9 38 01 -> 01 38 C9 FC -> 20 498 940
fin : 128 744 909
3) 0001e0 ff ff 05 fe ff ff ce 7d ac 07 f3 b9 4c 06 00 fe
05 : Etendue
début : 128 744 910
taille : 105 691 635
fin : 234 436 544
4) 0001f0 ff ff 83 fe ff ff 50 eb c0 03 82 c8 b2 02 55 aa
83 : EXT3
début : 62 974 800
taille : 45 271 170
fin: début-1 + taille : 108 245 969
Comme tu peux voir, l'ordre des partitions n'est pas respecté, la 4 aurait du se trouver en seconde position. Par contre il n'y a pas de recouvrement et pas de trou.
Sauf que visiblement ca "passe pas" pour les outils d'analyse de disque.
Après il faut que tu décides ce que tu veux faire.
Laisser tel quel (et tant pis, tant que ca marche) ou tenter une écriture propre.
Hors ligne
#36 Le 25/09/2006, à 16:37
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
Avec tes explication, je commence à comprendre quelque chose à ces chiffres...
j'opte pour l'écriture propre (je suis un peu maniaque, et accessoirement j'ai besoin que partman détecte mes partition pour installer Demudi)... je précise que j'ai formaté la zone vide en ext3 entre temps... ça me donne hda4 (entre hda1 et 2)... mais avec quoi je fais ça ? il n'y a pas d'outils pour éditer ça et le faire à la main?
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#37 Le 25/09/2006, à 17:00
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
j'opte pour l'écriture propre
C'est bien ce que je craignais... ;-)
je précise que j'ai formaté la zone vide en ext3 entre temps... ça me donne hda4 (entre hda1 et 2)
(pour le plaisir) Refais et affiche ici le résultat d'un :~$ sudo fdisk -lu
Si la partition a été correctement formatée et que fdisk se contente d'avertir que les partitions ne sont pas dans l'ordre du disque, DeMudi "pourrait peut-etre" s'installer sans couiner.
Sinon pour la modification manuelle ca ne pose aucun probleme (sauf que je ne te l'explique pas en détail car tu vas d'empresser de la faire... ;-)) et qu'avant j'ai besoin de précisions !)
Il faudrait savoir quels fichiers ou configurations de linux sont dépendantes de la place physique occupée par la description des partitions.
Pour Grub il y aura des modifications c'est certain, le kernel qu'il démarrait en hd(0,1) /dev/hda2 va démarrer en hd(0,2) /dev/hda3
le menu.lst sera obsolete.
Et comme grub 1 accède à grub 2 via grub 1,5 qui connait l'emplacement de grub 2 si il y accède autrement que par la liste des blocks (question donc : il le retrouve comment ?) il ne le trouvera pas (error 15). Il faudra refaire un setup de Grub.
Dernière modification par Bubble's Talks (Le 29/09/2006, à 23:56)
Hors ligne
#38 Le 25/09/2006, à 17:07
- cep
Re : [Résolu]Triple Boot et problème partition (mbr)
@ Bubble's Talks : on peut voir dans /var/log/partman la position de chaque partition notée à l'installation (avant et après), et qui sera facilement exploitable si bien sûr aucune modification n'a été faite depuis.
Souvent c'est la meilleure base de récupération, le mbr lu actuellement étant celui modifié.
Mais gpart ou testdisk facilitent tout ça
Hors ligne
#39 Le 25/09/2006, à 17:20
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
voila pour fdisk
Disque /dev/hda: 120.0 Go, 120034123776 octets
255 têtes, 63 secteurs/piste, 14593 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/hda1 * 1 3920 31487368+ 7 HPFS/NTFS
/dev/hda2 6739 8014 10249470 83 Linux
/dev/hda3 8015 14593 52845817+ 5 Extended
/dev/hda4 3921 6738 22635585 83 Linux
/dev/hda5 14308 14593 2297263+ 82 Linux swap / Solaris
/dev/hda6 8015 14307 50548459+ 83 Linux
Les entrées de la table de partitions ne sont pas dans l'ordre du disque
Quant à Grub et son menu.lst, je sais en principe faire la config manuelle et la réinstallation de Grub via live cd... pour fstab pas de prob en principe... autre chose?
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#40 Le 25/09/2006, à 17:24
- cep
Re : [Résolu]Triple Boot et problème partition (mbr)
Si tu veux avoir une meilleure idée de savoir si gparted ou partman va pouvoir retravailler cette partition (fdisk interprète) :
sudo parted -s /dev/hda print
ou même mieux :
sudo parted -s /dev/hda unit s print
Dernière modification par cep (Le 25/09/2006, à 17:35)
Hors ligne
#41 Le 25/09/2006, à 20:54
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
voilà
Géométrie du disque pour /dev/hda : 0s - 234441647s
Type d'étiquette de disque : msdos
Numéro Début Fin Taille Type Système de fichiers Drapeaux
1 63s 62974799s 62974737s primaire ntfs amorce
4 62974800s 108245969s 45271170s primaire ext3
2 108245970s 128744909s 20498940s primaire ext3
3 128744910s 234436544s 105691635s étendue
6 128745036s 229841954s 101096919s logique ext3
5 229842018s 234436544s 4594527s logique linux-swap
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#42 Le 25/09/2006, à 21:57
- cep
Re : [Résolu]Triple Boot et problème partition (mbr)
Dans l'ensemble c'est cohérent, tu as pu rétablir la situation.
Maintenant, si toutes les partitions sont montables, donc s'il n'y a aucun problème sur les systèmes de fichiers (ce qui devrait être le cas), tu dois pouvoir redimensionner l'une de ces partitions, si c'est ce que tu veux faire.
Cependant note bien les secteurs de fin et de début, surtout pour les logiques, car elles ne sont pas inscrites dans le mbr.
Si nécessaire, vois ce qui est dit dans le man de sfdisk pour la sauvegarde des partitions logiques.
Ce que tu pourrais faire aussi avant de redimensionner, (si c'est ce que tu veux encore), ce serait de faire un e2fsck -f -y sur chacune des partitions ext3 après les avoir démontées, ou remontées en ro.
Bonne continuation.
cep
Hors ligne
#43 Le 25/09/2006, à 22:31
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
Maintenant, si toutes les partitions sont montables, donc s'il n'y a aucun problème sur les systèmes de fichiers (ce qui devrait être le cas)
ben justement pas... c'est ça qui me chifonne... j'ai déjà redimentionné et formaté hda4 en ext3, pour voir (c'est là que je veux mettre demudi), et tout va bien dans ubuntu, je peux même la monter, la voir dans gparted etc... mais c'est partman de l'installateur de Demudi, au démarrage, qui ne me les reconnait pas: il ne voit que le disque entier, alors que hdb, il voit mes deux partitions, et je ne veux pas installer sur hdb, c'est là que je met mes fichiers...
Dernière modification par BlindeKinder (Le 25/09/2006, à 22:34)
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#44 Le 25/09/2006, à 23:14
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
Je veux bien te réecrire la partie de ton mbr qui est dans le désorde et t'expliquer comme sauvegarder l'ancien et réinscrire le nouveau, puis inverser la manip en cas d'echec. Avec quels outils proceder etc. mais demain... ;-)
Est-ce franchement risqué ?
Non, tant qu'on est dans la partie mbr, avec sauvegarde et cd-live sous la main.
Ps : j'avais confondu ce sujet avec celui d'Adrien ou la commande dd a fait quelques ravages
Hors ligne
#45 Le 25/09/2006, à 23:19
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
ok, je fais les dernières sauvegardes d'ici là... bonne nuit... j'ai en attendant appris deux trois trucs sur le sujet ici
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#46 Le 27/09/2006, à 14:40
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
(commentaires et questions bienvenus)
Dans ce qui suit je n'explique pas tout et je fais quelques raccourcis parfois un peu choquant pour les puristes.
Et il y a surtout beaucoup de blabla.
Avant de se lancer dans l'opération il faut installer un éditeur hexadécimal, Khexedit le + simple d'utilisation.
Et s'assurer du concours d'un cd live qui fonctionne bien (internet + périphériques extérieurs, clé usb etc.)
Il faut une copie du mbr à modifier que l'on obtient avec la commande dd utilisée en mode sudo. (c'est déjà fait mais je reprends là)
user@machine:~$sudo dd if=/dev/hda of=/home/user/Desktop/hda_ex.mbr bs=512 count=1
Password :
1+0 enregistrements lus.
1+0 enregistrements écrits.
512 bytes transferred in 0,022058 seconds (23212 bytes/sec)
Je décris un peu la commande dd, car elle a beaucoup d'importance.
dd : commande de copie je ne sais pas de quels mots elle est le sigle Data quekchose ?
if : input file, ici /dev/hda soit le disque hda (désigné comme un fichier)
of : output file, ici /home/user/Desktop/hda_ori.mbr, un fichier binaire copié, sans conversion, sur le bureau de l'utilisateur (c'est plus facile), le nom importe peu, l'extension est fantaisite et sert simplement à l'associer au logiciel Khexedit pour une ouverture rapide.
bs : block size, taille d'un bloc à copier ou écrire d'un coup = 512 octets.
count : nombre de bs à copier/écrire = 1 on aurait pu avoir bs=1 count=512, c'est pareil.
Si le count est oublié (et ça arrive avec l'enervement) la commande dd copie et écrit jusqu'a ce que le disque soit fini ou plein.
Alors dans le sens copie du disque vers un fichier ce n'est pas trop grave, on peut l'interrompre simplement en fermant le terminal.
Mais dans le sens copie d'un fichier vers le disque c'est une catastrophe. Par seconde elle écrit, avec ce disque, 22,6 ko de copie de mbr à partir du début du disque. Le secteur de boot de la première partition se situe à 32 ko du début du disque, suivi des tables de fichiers, le temps que le boucan d'écriture sur le disque donne l'alerte c'est trop tard, la partition sera irrécupérable (surtout les types un peu complexe genre NTFS, ne comptez pas sur sa copie ($MFTmirror) au milieu de la partition).
Cette copie de mbr obtenue,
l faut la mettre en surete sur un disque exterieur, clé usb, disquette, carte d'appareil photo etc. Car il n'est pas garanti à 100 % que le mbr du disque une fois modifié se laissera relire (on ne sait jamais, une erreur de copie ? une coupure de courant ? le retour de la vengeance du serpent à plume ?)
Pour la facilité on peut en plus la placer sur le disque, au plus simple dans "/" la racine de chaque partition accessibles (en lecture/écriture) avec un cd live Linux (donc ext3 et Fat32 dans ce cas-ci).
Une fois ceci fait on ouvre ce fichier avec Khexedit.
Et on l"enregistre sous" hda_new.mbr
Ici on obtient quelque chose qui ressemble à ça,
L'image est volumineuse (78 ko) elle est donc en lien.
J'ai reconstitué ton mbr avec un autre donc seules les 5 dernières lignes sont identiques à ton mbr, les octets de : 01b0 à 01ff (offset)
Ce qui nous interesse se sont les 4 descripteurs de partitions identifiés avec les rectangles de couleur alternées. 1 rouge 2 bleu etc.
En détail pour la première ca donne ceci
La notation est en hexadécimale, très pratique car il suffit de 2 digit pour décrire les 256 valeurs que peut prendre un octet (00 à FF)
Les éléments importants sont encardrés. C'est suffisement explicite, je pense ?
Note que le troisième encadré que j'intitule : N° de secteur de début est en fait le nombre de secteur depuis le début, celui-ci numeroté 0 (0+63 => 63).
A noter aussi la notation dite "Little Endian" : pour les données écrites sur plus d'un octet, la valeur se lit de droite à gauche. Little Endian signifie en français : Il y a un petit indien à la queue de la file.
non ?
Comment se déroule l'édition de ce fichier (hda_new.mbr)
Très simple, il suffit de placer le curseur de la souris sur l'octet à modifier et de taper la nouvelle valeur hexadécimale. ca peut suprendre mais il faut taper les deux, 08 ne devient pas 09, en changeant le 8, il faut cliquer sur le 0 et taper 09.
A aucun moment il ne faut se servir de la touche "back-space" , cela efface l'octet et ce n'est plus un mbr. L'explication fait un peu gnan-gnan mais bon faut être sur de son coup.
Les modifications a effectuer consistent:
1e descripteur de partition, pas toucher.
2e descripteur de partition à passer dans le 3e descripteur.
3e descripteur à passer dans le 4e
4e à passer dans le second.
Il faut donc ouvrir un second Khexedit, du fichier d'origine hda_ex.mbr (en lecture seule), cote-à-cote.
Pour assurer le coup j'ai fait deux images, situation de départ et situation à obtenir.
On part de ceci; à vérifier bien entendu si aucune modification supplémentaire n'a été réalisée (important)
On doit arriver à cela.
A noter que j'ai fait une modification non prévue. Les offset 01f0 et 01f1 valaient respectivement 00 et 00 recopiés aux positions 01c0 et 01c1 je l'ai ai passées à ff et ff, pour faire propre, ceci n'a je pense aucune importance, car c'est le descripteur du n° de secteur et cylindre du début de partition, valeurs non utilisées.
Une fois que c'est fait, enregistrement, puis calculette en main on vérifie (voir deux ou trois posts plus haut) que la table est cohérente, la copie sur papier c'est bien aussi.
Et on passe aux choses sérieuses, ou risquées c'est selon.
Ecrasement du mbr avec le nouveau (fichier hda_new.mbr sur le bureau)
user@machine:~$sudo dd if=/home/user/Desktop/hda_new.mbr of=/dev/hda bs=512 count=1
ca passe...
On vérifie si c'est passé, en recréant un nouveau fichier hda_verif.mbr
user@machine:~$sudo dd if=/dev/hda of=/home/user/Desktop/hda_verif.mbr bs=512 count=1
A comparer avec hda_new.mbr
Dernière modification par Bubble's Talks (Le 27/09/2006, à 21:46)
Hors ligne
#47 Le 27/09/2006, à 21:45
- Bubble's Talks
Re : [Résolu]Triple Boot et problème partition (mbr)
Après 18 h... mmmm.
J'ai fait une modif. sur le message au dessus.
Inutile de changer les permissions sur le hda_ex.mbr obtenu.
Il suffit de l'ouvrir avec Khexedit et de l'enregistrer sous un nouveau nom, en l'occurence hda_new.mbr
Comme ceci l'original reste en lecture seule. (simplification)
Je reprends le message un peu au dessus avec qq. modif.
Avant écrasement du mbr.
- Ultimes vérifications sur le fichier hda_new.mbr (calculs etc. ne serait ce que la taille : 512 octets)
- Sortie d'une commande user@machine:~$sudo fdisk -lu /dev/hda et copie du résultat dans un fichier texte (c'est pour comparaison ultérieure).
Ecrasement du mbr ! (voir message au dessus)
A partir de ce moment il est bien entendu exclu de redémarrer la machine pour quelque raison que se soit avant d'avoir appliqué les modifications ci-dessous, si tu es sur groupe electrogène assistée par velocypédie, pédale ! Forrest ;-)
Après écrasement (réecriture)
- Récupération d'une copie (hda_verif.mbr) et comparaison avec la version voulue : hda_new.mbr
- Sortie d'une commande user@machine:~$sudo fdisk -lu /dev/hda et comparaison avec la sortie précédente.
Cette fois-ci les partitions sont dans l'ordre et les valeurs de début et de taille n'ont pas été alterées.
Si ce n'est pas le cas,
1) le mbr est resté inchangé, alors reprendre quelque part au dessus pour voir ce qui a échoué.
2) le mbr a changé mais ne correspond pas à hda_new.mbr, !même pour un seul octet!, alors il faut effectuer (et réussir) la manipulation inverse : user@machine:~$sudo dd if=/home/user/Desktop/hda_ex.mbr of=/dev/hda bs=512 count=1, ca doit devenir une habitude. Ensuite on arrete tout et on reflechira.
C'est le cas,
Il faut réinstaller Grub, stage 1 mais surtout stage 1,5 (je n'ai pas pris la peine de vérifier comment stage 1.5 accedait à stage 2 et par défaut je considère qu'il faut refaire son installation, peut-être j'ai tort ?)
Avant de faire lancer le jeu de commande Grub il faut modifier son menu.lst (/boot/grub/menu.lst)
"Alt+F2" "gksudo gedit" etc.
Se repporter à la ligne ## ## End default Options ##
Juste en dessous se situe un paragraphe du genre (peu importe la version du Kernel):
title Ubuntu, kernel 2.6.12-10-386
root (hd0,1)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.12-10-386
savedefault
boot
Le dupliquer et le coller juste en dessous, modifié comme suit (valable uniquement dans ton cas)
title Ubuntu, kernel 2.6.12-10-386 - Nouveau Mbr
root (hd0,2)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda3 ro quiet splash
initrd /boot/initrd.img-2.6.12-10-386
savedefault
boot
faire la même chose avec la version (recovery mode) pour les cas difficiles.
Avec le même éditeur, modifier le fichier /etc/fstab et adapter les accès à / (ou/et) /home (ou/et) /swap.
Après ceci lancer "Grub" (sudo grub) et suivre la procédure classique de réinstallation (pas le script "grub-install") mais la commande "setup".
Voir le Wiki (d'abord lui faire trouver la partition où se situe stage2 et menu.lst "find /boot/grub/menu.lst" ensuite la désigner (si elle a été trouvée) : "root (hd0,2)" ensuite l'installer "setup (hd0)" puis "quit", la routine...
Puis reboot.
Des questions ? des commentaires ?
Hors ligne
#48 Le 28/09/2006, à 12:03
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
mon ordi a explosé!!!
non, je déconne...
tout s'est passé au mieux, j'ai de belles partitions dans l'ordre et une belle table toute neuve
Petite précision concernant la réinstallation de Grub:
dans menu.lst, il faut également changer les indication dans les lignes suivantes:
# kopt=root=/dev/hda3 ro
et
# groot=(hd0,2)
je ne sais plus expliquer pourquoi, mais même si elles sont commentée, elles ont leur importance, puisque grub va chercher les info sur la partition de boot là, et il rechange les lignes de menu automatiquement...
Autre chose: il est impossible de réinstaller grub avant d'avoir rebooté, puisque les partitions montées ne correspondent plus aux partitions réelles...et il est impossible de rebooter sans réinstaller grub... donc: live cd, puis faire les actions que Bubble's Talks indique... et c'est bon...
(corrigez-moi si je dis des bêtises)
Je tiens à remercier tout le monde, et en particulier Bubble's Talks, pour le temps passé sur ce problème... le plus important n'est pas que ça fonctionne, mais que j'ai compris tout ce que j'ai fait... et j'espère que ça servira pour un autre...
Cependant, partman ne voit toujours pas mes partitions de hda, il y a toujours un problème dans les partitions logiques, et testdisk m'indique toujours que
Warning: Bad ending head (CHS and LBA don't match)
et cfdisk
ERREUR FATALE: Partition logique erronnée 6: chevauchement des partitions logiques qui ont été grossies
... enfin, pour le plaisir, voila mon fdisk -l:
Périphérique Amorce Début Fin Blocs Id Système
/dev/hda1 * 63 62974799 31487368+ 7 HPFS/NTFS
/dev/hda2 62974800 108245969 22635585 83 Linux
/dev/hda3 108245970 128744909 10249470 83 Linux
/dev/hda4 128744910 234436544 52845817+ 5 Extended
/dev/hda5 229842018 234436544 2297263+ 82 Linux swap / Solaris
/dev/hda6 128745036 229841954 50548459+ 83 Linux
Les entrées de la table de partitions ne sont pas dans l'ordre du disque
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne
#49 Le 28/09/2006, à 12:22
- cep
Re : [Résolu]Triple Boot et problème partition (mbr)
Tu ne peux pas modifier l'ordre des partitions logiques depuis le mbr, il faut utiliser sfdisk, ou fdisk, ou autre, qui peut le faire aussi pour les primaires. Mais cela n'a aucune importance en principe.
La solution la plus simple serait de récuperer toutes les données qui sont dans /dev/hda6, supprimer /dev/hda5 et /dev/hda6, de même que l'étendue, et laisser le secteur non partitionné pour voir si partman peut travailler. S'il ne peut toujours pas, le problème serait peut-être dans un système de fichiers (ntfs ?). Voir aussi si le disque est déclaré en lba.
Bonne continuation.
cep
Dernière modification par cep (Le 28/09/2006, à 12:22)
Hors ligne
#50 Le 28/09/2006, à 14:35
- BlindeKinder
Re : [Résolu]Triple Boot et problème partition (mbr)
Tu ne peux pas modifier l'ordre des partitions logiques depuis le mbr,
je sais ça, c'est pourquoi j'ai jeté un oeil aux EBR (selon hh comme cité plus haut): hda4 définit hda6 (swap) et le prochain EBR... hda5 n'a que des 000, hda6 rien qui ressemble à un EBR (aa55 etc). Je crois que je vais refaire cette étendue comme tu le propose: ma proposition: copier hda6 sur un autre disque, formater hda4 en étendue, remettre hda6 en hda5, formater la logique restante en swap, le tout avec gparted en live... qu'en dis-tu?
earth@universe:~$ sudo dpkg --force-remove-essential /usa/bill_gates.deb
Hors ligne