Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/02/2013, à 23:46

joel33

Modifier table de partition

Bonsoir apres supression d'une ancienne partition windows à la racine de mon disque  ma table de partition semble bugée : impossible de booter et gparted m'affiche non alloué : "partition outsides the disk !"

mon fdisk m'indique ça mon partitionement est simple sda2 mon installe linux et sda2 a home :

fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2f65b5ee

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1        24334336    96344063    36004864   83  Linux
/dev/sda2       122897250   625153409   251128080   83  Linux

Au moins le partitionnement simple devrait je l'espere simplifier un peu la chose, si j'ai bien compris d'autre topic sur le sujet le probleme serait la fin de sda2 quidevrait se termine au secteur 62514248 mais qui se termine plus loin au 625153409, fort de ce constat je peux faire comment ?

Merci

edit alors j'avance enfin je crois grace à un autre sujet un post

alors si j'ai bien suivis ce poste

http://forum.ubuntu-fr.org/viewtopic.ph … #p10673531

il faudrait que je ramene la fin de sda2 à 625142448 et non 625153409 actuellement

donc il me faut comme taille de partition sda2 en secteur toujours suivant la formule eduy poste et t si j'ai bien compris :  625142449-122897250=502245199

c'est apres que je decroche (completement) voici mon mbr obtenu grace à la comande :

sudo dd if=/dev/sda bs=512 count=1 | hexdump -C
1+0 records in
1+0 records out
512 bytes (512 B) copied, 6.4329e-05 s, 8.0 MB/s
00000000  eb 63 90 d0 bc 00 7c fb  50 07 50 1f fc be 1b 7c  |.c....|.P.P....||
00000010  bf 1b 06 50 57 b9 e5 01  f3 a4 cb bd be 07 b1 04  |...PW...........|
00000020  38 6e 00 7c 09 75 13 83  c5 10 e2 f4 cd 18 8b f5  |8n.|.u..........|
00000030  83 c6 10 49 74 19 38 2c  74 f6 a0 b5 07 b4 07 8b  |...It.8,t.......|
00000040  f0 ac 3c 00 74 fc bb 07  00 b4 0e cd 10 eb f2 88  |..<.t...........|
00000050  4e 10 e8 46 00 73 2a fe  46 10 00 80 01 00 00 00  |N..F.s*.F.......|
00000060  00 00 00 00 ff fa 90 90  f6 c2 80 74 05 f6 c2 70  |...........t...p|
00000070  74 02 b2 80 ea 79 7c 00  00 31 c0 8e d8 8e d0 bc  |t....y|..1......|
00000080  00 20 fb a0 64 7c 3c ff  74 02 88 c2 52 be 80 7d  |. ..d|<.t...R..}|
00000090  e8 17 01 be 05 7c b4 41  bb aa 55 cd 13 5a 52 72  |.....|.A..U..ZRr|
000000a0  3d 81 fb 55 aa 75 37 83  e1 01 74 32 31 c0 89 44  |=..U.u7...t21..D|
000000b0  04 40 88 44 ff 89 44 02  c7 04 10 00 66 8b 1e 5c  |.@.D..D.....f..\|
000000c0  7c 66 89 5c 08 66 8b 1e  60 7c 66 89 5c 0c c7 44  ||f.\.f..`|f.\..D|
000000d0  06 00 70 b4 42 cd 13 72  05 bb 00 70 eb 76 b4 08  |..p.B..r...p.v..|
000000e0  cd 13 73 0d f6 c2 80 0f  84 d8 00 be 8b 7d e9 82  |..s..........}..|
000000f0  00 66 0f b6 c6 88 64 ff  40 66 89 44 04 0f b6 d1  |.f....d.@f.D....|
00000100  c1 e2 02 88 e8 88 f4 40  89 44 08 0f b6 c2 c0 e8  |.......@.D......|
00000110  02 66 89 04 66 a1 60 7c  66 09 c0 75 4e 66 a1 5c  |.f..f.`|f..uNf.\|
00000120  7c 66 31 d2 66 f7 34 88  d1 31 d2 66 f7 74 04 3b  ||f1.f.4..1.f.t.;|
00000130  44 08 7d 37 fe c1 88 c5  30 c0 c1 e8 02 08 c1 88  |D.}7....0.......|
00000140  d0 5a 88 c6 bb 00 70 8e  c3 31 db b8 01 02 cd 13  |.Z....p..1......|
00000150  72 1e 8c c3 60 1e b9 00  01 8e db 31 f6 bf 00 80  |r...`......1....|
00000160  8e c6 fc f3 a5 1f 61 ff  26 5a 7c be 86 7d eb 03  |......a.&Z|..}..|
00000170  be 95 7d e8 34 00 be 9a  7d e8 2e 00 cd 18 eb fe  |..}.4...}.......|
00000180  47 52 55 42 20 00 47 65  6f 6d 00 48 61 72 64 20  |GRUB .Geom.Hard |
00000190  44 69 73 6b 00 52 65 61  64 00 20 45 72 72 6f 72  |Disk.Read. Error|
000001a0  0d 0a 00 bb 01 00 b4 0e  cd 10 ac 3c 00 75 f4 c3  |...........<.u..|
000001b0  00 00 00 00 00 00 00 00  ee b5 65 2f 00 00 00 fe  |..........e/....|
000001c0  ff ff 83 fe ff ff 00 50  73 01 00 c8 4a 04 00 fe  |.......Ps...J...|
000001d0  ff ff 83 fe ff ff 62 43  53 07 20 d2 ef 1d 00 00  |......bCS. .....|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200

Quelle valeur je dois modifier ?

de plus faut encore que j'arrive à installer ghex j'ai seulement un cd de parted magic sur le cd hiren mais je ne sais pas coment installer de soft sous parted magic je crois que c'est une base slackware alors ça risque d'être fastidieux

Merci

Dernière modification par joel33 (Le 15/02/2013, à 00:13)

Hors ligne

#2 Le 15/02/2013, à 03:22

Maisondouf

Re : Modifier table de partition

Allez, un petit cours de partitionnement....
Le disque fait 320072933376 octets.
Divisé par la taille d'un secteur (512), ça fait  625142448 secteurs (jusque là c'est bon)
Ces secteurs sont numérotés de 0 à 625142447 (LBA)
Ta partition foireuse commence sur le secteur N° 122897250 donc le 122897251 ème....
Elle est donnée (à tord) comme occupant 502256160 secteurs...
Ça suit ?
Le numéro du secteur de départ et le nombre de secteurs sont notés en format Intel 8 bits par soucis de compatibilité avec des vieilles brouettes.
Donc il faut lire les infos octets par octets de la droite vers la gauche.
Pour le N° de début, il y a dans la table "62 43 53 07" ce qui donne en hexa 0x07534362 et en décimal 122897250, Bingo !
Pour la longueur,  il y a dans la table "20 d2 ef 1d" ce qui donne en hexa 0x1defd220 et en décimal 502256160, RE-Bingo !!

Le but étant de ramener la longueur afin que la partition ne dépasse pas, il faut faire juste la soustraction entre le début de la partition et la fin du disque.
625142448 - 122897250 = 502245198
Et là grave erreur, on a soustrait un numéro d'un nombre....
Les numéros partent de 0, les nombres de 1.
Il faut donc enlever 1 du résultat comme si on avait soustrait le nombre de secteurs avant la partition du nombre total de secteur

0 ------------------ 122 897 249 | 122 897 250 -------------------------- 625 142 447

Donc la longueur est de 502245197 secteurs
Soit en hexa 0x1DEFA74D soit en notation Intel "4d a7 ef 1d" à placer au bon endroit.
Les descripteurs de partitions font 16 octets et commencent en 0x01BE (446).
Celui de sda2 commence donc en 0x1CE et contient:

00 fe ff ff 83 fe ff ff 62 43 53 07 20 d2 ef 1d

- 00 : flag
- fe ff ff : position CHS début (obsolète)
- 83 : code partition Linux
- fe ff ff : position CHS fin (obsolète)
- 62 43 53 07 : notre beau n° de secteur de début
- 20 d2 ef 1d : la longueur incriminée.

C'est donc ces 4 octets qu'il faut remplacer par "4d a7 ef 1d"


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#3 Le 15/02/2013, à 03:40

Maisondouf

Re : Modifier table de partition

Avec 'dd' tu dois pouvoir patcher le MBR, il te faut juste un fichier de 4 octets avec le bon contenu.

echo -n aaaa >f1
sed 's/a/\x4d/' f1 >f2
sed 's/a/\xa7/' f2 >f3
sed 's/a/\xef/' f3 >f4
sed 's/a/\x1d/' f4 >f5
hd f5

si "f5" est correct, ensuite :

sudo dd if=/dev/sda of=mbr count=1
cp mbr new
sudo dd if=f5 of=new seek=474 bs=1 notrunc
hd new

si "new" a bien été patché

sudo dd if=new of=/dev/sda

Important: utilises "resize2fs" pour réduire le taille de 'ext4' avant de changer la taille de la partition

Dernière modification par Maisondouf (Le 15/02/2013, à 03:44)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne