Pages : 1
#1 Le 13/07/2010, à 15:57
- edge_one
Commande dd et drapeaux.
Salut,
L'utilisation en 2 temps de la commande dd pour créer et re-copier une image de clef USB bootable vers une autre clef vierge inclut-elle les drapeaux (par exemple celui de boot) ?
d'avance merci.
#2 Le 13/07/2010, à 16:03
- tshirtman
Re : Commande dd et drapeaux.
Le drapeau de boot est une caractéristique de la partition et non de la clée, si je n'ai rien loupé, donc je dirais oui
Dernière modification par tshirtman (Le 13/07/2010, à 16:03)
Hors ligne
#3 Le 13/07/2010, à 16:05
- edge_one
Re : Commande dd et drapeaux.
je ferais bien le test mais je n'ai plus qu'une clef...
#4 Le 13/07/2010, à 16:05
- Nasman
Re : Commande dd et drapeaux.
Si ta partition est primaire, le drapeau de boot est dans le mbr,
offset 1be si sda1
offset 1ce si sda2
offset 1de si sda3
offset 1ee si sda4
(adapter sda par sdb ou sdx pour la clé - sda=disque dur)
Si la partition n'est pas primaire alors le drapeau boot est dans un des ebr (plus difficile à localiser)
Qu'appelles tu "L'utilisation en 2 temps de la commande dd" ?
Edit : peux tu poster le résultat de :
sudo dd if=/dev/sdb bs=512 count=1 | hexdump -C
(si ta clé est sdb (à adapter à ton cas)
Dernière modification par Nasman (Le 13/07/2010, à 16:07)
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#5 Le 13/07/2010, à 16:12
- edge_one
Re : Commande dd et drapeaux.
bon une chose est clair, il faut que je m'intéresse au structure de fichiers et aux tables de partitions (sachant que pour un live USB il faut du fat32 )
et je découvre l'existence de l'EBR \o/
j'ai un live sous la main j'vais tenter ta commande. heu mais y'as pas de of...
(je ne maitrise rien )
Qu'appelles tu "L'utilisation en 2 temps de la commande dd" ?
je veux dire dans un premier temps créer un .img depuis la clef USB et dans un second temps recopier le .img (ainsi créé) vers une autre clef USB.
Edit : peux tu poster le résultat de :
sudo dd if=/dev/sdb bs=512 count=1 | hexdump -C
(si ta clé est sdb (à adapter à ton cas)
edge@White-dahlia:~$ sudo dd if=/dev/sdb bs=512 count=1 | hexdump -C
[sudo] password for edge:
1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés, 5,6991e-05 s, 9,0 MB/s
00000000 fa 31 c0 8e d8 8e d0 bc 00 7c 89 e6 06 57 52 8e |.1.......|...WR.|
00000010 c0 fb fc bf 00 06 b9 00 01 f3 a5 ea 20 06 00 00 |............ ...|
00000020 52 b4 41 bb aa 55 31 c9 30 f6 f9 cd 13 72 13 81 |R.A..U1.0....r..|
00000030 fb 55 aa 75 0d d1 e9 73 09 66 c7 06 8d 06 b4 42 |.U.u...s.f.....B|
00000040 eb 15 5a b4 08 cd 13 83 e1 3f 51 0f b6 c6 40 f7 |..Z......?Q...@.|
00000050 e1 52 50 66 31 c0 66 99 e8 66 00 e8 21 01 4d 69 |.RPf1.f..f..!.Mi|
00000060 73 73 69 6e 67 20 6f 70 65 72 61 74 69 6e 67 20 |ssing operating |
00000070 73 79 73 74 65 6d 2e 0d 0a 66 60 66 31 d2 bb 00 |system...f`f1...|
00000080 7c 66 52 66 50 06 53 6a 01 6a 10 89 e6 66 f7 36 ||fRfP.Sj.j...f.6|
00000090 f4 7b c0 e4 06 88 e1 88 c5 92 f6 36 f8 7b 88 c6 |.{.........6.{..|
000000a0 08 e1 41 b8 01 02 8a 16 fa 7b cd 13 83 c4 10 66 |..A......{.....f|
000000b0 61 c3 e8 c4 ff be be 7d bf be 07 b9 20 00 f3 a5 |a......}.... ...|
000000c0 c3 66 60 89 e5 bb be 07 b9 04 00 31 c0 53 51 f6 |.f`........1.SQ.|
000000d0 07 80 74 03 40 89 de 83 c3 10 e2 f3 48 74 5b 79 |..t.@.......Ht[y|
000000e0 39 59 5b 8a 47 04 3c 0f 74 06 24 7f 3c 05 75 22 |9Y[.G.<.t.$.<.u"|
000000f0 66 8b 47 08 66 8b 56 14 66 01 d0 66 21 d2 75 03 |f.G.f.V.f..f!.u.|
00000100 66 89 c2 e8 ac ff 72 03 e8 b6 ff 66 8b 46 1c e8 |f.....r....f.F..|
00000110 a0 ff 83 c3 10 e2 cc 66 61 c3 e8 62 00 4d 75 6c |.......fa..b.Mul|
00000120 74 69 70 6c 65 20 61 63 74 69 76 65 20 70 61 72 |tiple active par|
00000130 74 69 74 69 6f 6e 73 2e 0d 0a 66 8b 44 08 66 03 |titions...f.D.f.|
00000140 46 1c 66 89 44 08 e8 30 ff 72 13 81 3e fe 7d 55 |F.f.D..0.r..>.}U|
00000150 aa 0f 85 06 ff bc fa 7b 5a 5f 07 fa ff e4 e8 1e |.......{Z_......|
00000160 00 4f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 |.Operating syste|
00000170 6d 20 6c 6f 61 64 20 65 72 72 6f 72 2e 0d 0a 5e |m load error...^|
00000180 ac b4 0e 8a 3e 62 04 b3 07 cd 10 3c 0a 75 f1 cd |....>b.....<.u..|
00000190 18 f4 eb fd 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001b0 00 00 00 00 00 00 00 00 58 00 06 00 00 00 80 01 |........X.......|
000001c0 01 00 0b 3d fe fd 3e 00 00 00 ba f1 3b 00 00 00 |...=..>.....;...|
000001d0 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
edge@White-dahlia:~$
Dernière modification par edge_one (Le 13/07/2010, à 16:24)
#6 Le 15/07/2010, à 13:32
- ehmicky
Re : Commande dd et drapeaux.
Sur ta clef, tu n'as qu'une partition FAT32 de 2Go dont la valeur dans le MBR est (offset 1BE - 1CD) :
80 01 01 00 0b 3d fe fd 3e 00 00 00 ba f1 3b 00
Le premier octet 80 indique que le flag boot est actif contrairement à 00 qui indiquerait que ce n'est pas le cas.
dd ne recopiera que les data de la partitions et non le MBR, donc il faudra éditer toi-même :
- en modifiant le MBR en hexa (dangereux)
- en utilisant gparted (clic droit > Manage flags)
- en utilisant parted, par exemple, s'il s'agit de la partition numéro 1 de /dev/sdb :
parted /dev/sdb set 1 boot on
Edit : à corriger si j'ai fait une erreur ^^
Dernière modification par ehmicky (Le 15/07/2010, à 13:34)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#7 Le 15/07/2010, à 13:54
- Nasman
Re : Commande dd et drapeaux.
Pour préciser le structure de la table des partitions : 16 octets sont disponibles par partition primaire, la première partition commence en 1be
1be : 80 (si flag boot), 00 sinon
1bf-1c1 : tête, secteur et cylindre du début de la partition (ce système n'est plus utilisé car taille limitée)
1c2 : 0b - correspond au système de fichiers FAT32 (07=ntfs, 82=Linux-swap, 83=Linux, ...)
1c3-1c5 :tête, secteur et cylindre de la fin de la partition (ce système n'est plus utilisé car taille limitée)
1c6-1c9 : début de la partition en mode d'adressage linéaire, en hexa et little endian, soit 0x0000003e, soit 62. La partition commencerait au secteur 62 (curieux car en général elle commence au secteur 63 - soit au début de la tête 1)
1ca-1cd : taille de la partition (exprimée en secteurs) en hexa et little endian
Structure identique pour les partitions suivantes
Les deux derniers octets (en 1fe et 1ff) sont 55aa
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne