Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

chtite question sur lilo

15 réponses
Avatar
Zigomaths
Bonjour,

J'ai deux disques /dev/hda et /dev/hdc. les données sur /dev/hdc sont
le mêmes que sur /dev/hda.

Je veux que la MBR de /dev/hdc soit une copie exacte de la MBR de
/dev/hda (pour pouvoir échanger physiquement les deux disques en cas
de crash de /dev/hda).

Comment puis-je faire ?

--
Philippe Monroux
Ile de la Reunion
E 55.3 S 21.5

10 réponses

1 2
Avatar
Michel SIMIAN
Zigomaths wrote:
Bonjour,

J'ai deux disques /dev/hda et /dev/hdc. les données sur /dev/hdc sont
le mêmes que sur /dev/hda.

Je veux que la MBR de /dev/hdc soit une copie exacte de la MBR de
/dev/hda (pour pouvoir échanger physiquement les deux disques en cas
de crash de /dev/hda).

Comment puis-je faire ?



Les 2 disques sont-ils identiques ?

en trouvant la taille de la MBR 512 octets, je crois),
et par dd if=/dev/hda of=/dev/hdc bs=...

--
L'Amer Michel

Avatar
Zigomaths
Le Sat, 17 Jan 2004 10:33:37 +0100,
Dans le forum fr.comp.os.linux.configuration,

Les 2 disques sont-ils identiques ?


non donc je crois qu'on ne peux pas faire un dd if=/dev/hda of=/dev/hdc

en trouvant la taille de la MBR 512 octets, je crois),
et par dd if=/dev/hda of=/dev/hdc bs=...


un truc du genre :

dd if=/dev/hda of=/dev/hdc ibsQ2 obsD6 c=1 ?

(mais je ne suis pa sur pur ibsQ2 obsD6 c=1)

--
Philippe Monroux
Ile de la Reunion
E 55.3 S 21.5

Avatar
Zigomaths
Le Sat, 17 Jan 2004 10:33:37 +0100,
Dans le forum fr.comp.os.linux.configuration,

Les 2 disques sont-ils identiques ?


non donc je crois qu'on ne peux pas faire un dd if=/dev/hda of=/dev/hdc

en trouvant la taille de la MBR 512 octets, je crois),
et par dd if=/dev/hda of=/dev/hdc bs=...


un truc du genre :

dd if=/dev/hda of=/dev/hdc ibsQ2 obsD6 c=1 ?

(mais je ne suis pas sur pour ibsQ2 obsD6 c=1)

--
Philippe Monroux
Ile de la Reunion
E 55.3 S 21.5

Avatar
no_spam
On Sat, 17 Jan 2004 07:09:58 +0000, Zigomaths wrote:

Bonjour,

J'ai deux disques /dev/hda et /dev/hdc. les données sur /dev/hdc sont
le mêmes que sur /dev/hda.

Je veux que la MBR de /dev/hdc soit une copie exacte de la MBR de
/dev/hda (pour pouvoir échanger physiquement les deux disques en cas
de crash de /dev/hda).

Comment puis-je faire ?


En imaginant que la partition sur laquelle tu bootes est /dev/hda1
mount /dev/hdc1 /mnt/
chroot /mnt /bin/bash
dans cet environnement, edites /etc/lilo.conf et
change:
boot=/dev/hda
par boot=/dev/hdc
et ajoute:
disk=/dev/hdc
bios=0x80
Ensuite:
lilo -v
exit
umount /dev/hdc1

Jettes un coup d'oeil à man lilo.conf pour plus de détails.

Avatar
Zigomaths
Le Sat, 17 Jan 2004 11:45:03 +0100,
Dans le forum fr.comp.os.linux.configuration,
On Sat, 17 Jan 2004 07:09:58 +0000, Zigomaths wrote:

Bonjour,

J'ai deux disques /dev/hda et /dev/hdc. les données sur /dev/hdc sont
le mêmes que sur /dev/hda.

Je veux que la MBR de /dev/hdc soit une copie exacte de la MBR de
/dev/hda (pour pouvoir échanger physiquement les deux disques en cas
de crash de /dev/hda).

Comment puis-je faire ?


En imaginant que la partition sur laquelle tu bootes est /dev/hda1
mount /dev/hdc1 /mnt/
chroot /mnt /bin/bash
dans cet environnement, edites /etc/lilo.conf et
change:
boot=/dev/hda
par boot=/dev/hdc


oui j'ai déja fait ça : cela indique-t-il que lilo écrit son block de boot
dans la MBR de dev/hdc ?

et ajoute:
disk=/dev/hdc
bios=0x80


j'ai fait ça aussi : je crois que ça fait comprendre au bios que hdc
est le premier disque. Mais ce que je ne comprend ps c'est pourquoi il
faut rajouter disk=/dev/hdc bios=0x80 à boot=/dev/hdc (n'est-ce pas
redondant ?)


--
Philippe Monroux
Ile de la Reunion
E 55.3 S 21.5


Avatar
Zigomaths
Le Sat, 17 Jan 2004 10:33:37 +0100,
Dans le forum fr.comp.os.linux.configuration,

en trouvant la taille de la MBR 512 octets, je crois),
et par dd if=/dev/hda of=/dev/hdc bs=...


pour revenir la dessus, j'ai lu qqpart que pour sauver la MBR de hda
dans le fichier /tmp/MBR par exemple il fallait faire :

dd if=/dev/hda of=/tmp/MBR bsQ2 count=1 (*)

puis pour restaurer la MBR de hda à patir du fichier /tmp/MBR

dd if=/tmp/MBR of=/dev/hda bsD6 count=1 (**)

Donc il suffirait de remplacer hda par hdc dans (**), mais ce que je
ne comprend pas c'est pourquoi il faut mettre 446 au lieu de 512.D'où
questions :

1) est-ce bien nécéssaire de remplacer 512 par 446 lors de la
restauration de la MBR à partir du fichier/tmp/MBR

2)Comment REGROUPER LES DEUX COMMANDES SUIVANTES EN UNE SEULE qui
permettrait d'avoir les MBR de hda et hdc identiques (de manière à ce
que, si on interverti physiquement les deux disques, l'ordinateur
redémarre comme avant l'intervertion,sans rien changer dans le BIOS
etc...)

1ere commande :
dd if=/dev/hda of=/tmp/MBR bsQ2 count=1 (*)

2ieme commande :
dd if=/tmp/MBR of=/dev/hdc bsD6 count=1 (**) ?

--
Philippe Monroux
Ile de la Reunion
E 55.3 S 21.5

Avatar
no_spam
On Sat, 17 Jan 2004 11:17:53 +0000, Zigomaths wrote:

Le Sat, 17 Jan 2004 11:45:03 +0100,
Dans le forum fr.comp.os.linux.configuration,
On Sat, 17 Jan 2004 07:09:58 +0000, Zigomaths wrote:

Bonjour,

J'ai deux disques /dev/hda et /dev/hdc. les données sur /dev/hdc sont
le mêmes que sur /dev/hda.

Je veux que la MBR de /dev/hdc soit une copie exacte de la MBR de
/dev/hda (pour pouvoir échanger physiquement les deux disques en cas
de crash de /dev/hda).

Comment puis-je faire ?


En imaginant que la partition sur laquelle tu bootes est /dev/hda1
mount /dev/hdc1 /mnt/
chroot /mnt /bin/bash
dans cet environnement, edites /etc/lilo.conf et
change:
boot=/dev/hda
par boot=/dev/hdc


oui j'ai déja fait ça : cela indique-t-il que lilo écrit son block de boot
dans la MBR de dev/hdc ?


Oui


et ajoute:
disk=/dev/hdc
bios=0x80


j'ai fait ça aussi : je crois que ça fait comprendre au bios que hdc
est le premier disque. Mais ce que je ne comprend ps c'est pourquoi il
faut rajouter disk=/dev/hdc bios=0x80 à boot=/dev/hdc (n'est-ce pas
redondant ?)


Ce n'est pas redondant:
lilo "marque" dans le MBR de hdc qu'il doit booter dessus. Pour celà,
il doit garder l'ID du disque pour charger les secteurs dont il
a besoin via le BIOS. Pour hdc, cet ID est 0x82.
Donc, si tu échange hda et hdc, lilo essaiera de booter sur ce qui
était hdc auparavant, mais ira lire les secteurs dont il a besoin
sur le disque d'ID 0x82, c.a.d. celui qui était auparavant hda !
La ligne bios=0x80 prévient lilo qu'il ne doit pas se préocuper
du nom du disque et qu'il doit utiliser l'ID BIOS 0x80.
Ainsi, lorsque tu échangeras tes disques, il trouvera les secteurs
dont il a besoin au bon endroit.



Avatar
françois
dd if=/tmp/MBR of=/dev/hda bsD6 count=1 (**)

Donc il suffirait de remplacer hda par hdc dans (**), mais ce que je
ne comprend pas c'est pourquoi il faut mettre 446 au lieu de 512.D'où
questions :

1) est-ce bien nécéssaire de remplacer 512 par 446 lors de la
restauration de la MBR à partir du fichier/tmp/MBR



Salut tlm



Cette taille est du a la structure du mbr: (passage tiré de je ne sais
plus ou)

"La structure du MBR est définie par une convention qui s'applique à tous
les systèmes d'exploitation.
Les 446 premiers octets sont réservés au code du programme (1).
Les 64 octets suivants offrent la place nécessaire à une table des
partitions qui peut contenir jusqu'à quatre entrées (voir...) (2).
Les 2 derniers octets doivent contenir un "nombre magique" (AA56): un MBR
contenant autre chose à cet emplacement est considéré par le BIOS et tous
les systèmes d'exploitation du PC comme n'étant pas valide.

Secteur d'amorçage
---------------------------

Les secteurs d'amorçage sont les premiers secteurs des partitions du disque
dur (3).
Ils offrent un espace de 512 octets et sont destinée à abriter le code qui
permettra de lancer le système d'exploitation qui se trouve sur cette
partition.
Les secteurs d'amorçage des partitions formatées DOS, Windows ou OS/2
jouent toujours ce rôle (et contiennent en plus d'importantes données de
base du système de fichier).
Par contre, les secteurs d'amorçage des partitions Linux - même àprès la
création d'un système de fichier - sont au départ toujours vides (!).
Une partition Linux n'est donc pas par elle-même amorçable, même si ele
contient un noyau ainsi qu'un système de fichiers racine valide.

Un secteur d'amorçage possédant un code de démarrage du système valide, a
le même identifiant "magique" que le MBR dans les 2 derniers octets.
...

(1) Le code lui-même - et sa fonctionnalié - dépendent toutefois du système
d'exploitation sous lequel le MBR a été crée !
(2) Sans table des partitions, il n'y a pas de système de fichiers (MS-DOS;
unités de disque), ce qui signifie que le disque dur 'est pratiquemelnt pas
utiisable.
(3) Sauf la partition étendue qui ne sert qu'à contenir d'autres
partitions. "

Voilà ( c que du copier collé mais ça peut servir :-) )

Avatar
no_spam
On Sat, 17 Jan 2004 12:04:14 +0000, françois wrote:

dd if=/tmp/MBR of=/dev/hda bsD6 count=1 (**)

Donc il suffirait de remplacer hda par hdc dans (**), mais ce que je
ne comprend pas c'est pourquoi il faut mettre 446 au lieu de 512.D'où
questions :

1) est-ce bien nécéssaire de remplacer 512 par 446 lors de la
restauration de la MBR à partir du fichier/tmp/MBR


Cette taille est du a la structure du mbr: (passage tiré de je ne sais
plus ou)

"La structure du MBR est définie par une convention qui s'applique à tous
les systèmes d'exploitation.
Les 446 premiers octets sont réservés au code du programme (1).
Les 64 octets suivants offrent la place nécessaire à une table des
partitions qui peut contenir jusqu'à quatre entrées (voir...) (2).
Les 2 derniers octets doivent contenir un "nombre magique" (AA56): un MBR
contenant autre chose à cet emplacement est considéré par le BIOS et tous
les systèmes d'exploitation du PC comme n'étant pas valide.


C'est 0xAA55 pour MSDOS (pas AA56). GEM utilisait un autre nombre
magique.

Secteur d'amorçage
---------------------------

Les secteurs d'amorçage sont les premiers secteurs des partitions du disque
dur (3).
Ils offrent un espace de 512 octets et sont destinée à abriter le code qui
permettra de lancer le système d'exploitation qui se trouve sur cette
partition.
Les secteurs d'amorçage des partitions formatées DOS, Windows ou OS/2
jouent toujours ce rôle (et contiennent en plus d'importantes données de
base du système de fichier).
Par contre, les secteurs d'amorçage des partitions Linux - même àprès la
création d'un système de fichier - sont au départ toujours vides (!).
Une partition Linux n'est donc pas par elle-même amorçable, même si ele
contient un noyau ainsi qu'un système de fichiers racine valide.

Un secteur d'amorçage possédant un code de démarrage du système valide, a
le même identifiant "magique" que le MBR dans les 2 derniers octets.


Non. Pour MSDOS, une partition amorçable à un flag dans la table
des partitions, et il ne peut y en avoir qu'une seule.
Celà n'a aucun sens pour la plupart des autres OS (non Microsoft)
qui se servent généralement d'un boot-loader qui a sa propre gestion
des partitions amorçable. En aucun cas le BIOS ne se préocupe du contenu
des boot-records des partitions.

(2) Sans table des partitions, il n'y a pas de système de fichiers (MS-DOS;
unités de disque), ce qui signifie que le disque dur 'est pratiquemelnt pas
utiisable.


C'est faux. La table des partitions est absolument optionelle
et cet emplacement peut contenir du code. C'est le cas sur les
disquettes, sur lesquelles on crée rarement des partitions.
Le système de fichier, sa présence et sa validité n'ont aucun
rapport avec le contenu du boot-record.
Encore une fois, le 0xAA55 ne sert que pour le boot-loader des
systèmes Microsoft.


Avatar
françois
françois wrote:
Cette taille est du a la structure du mbr: (passage tiré de je ne sais
plus ou)



en faite ça vient de là :
de la documentation en fr fournie avec SuSE 6.0 .

1 2