Grub

Marco Bisetto blug@lists.linux.it
Fri, 03 Jan 2003 11:17:38 +0000


>Ho intenzionalemente spazzolato Grub dal MBR perchè non
>capivo una situazione strana che si era verificata dopo
>la cancellazione di una partizione. Ora che ho capito,
>vorrei ripristinare la situazione iniziale, ma.....
>non so i comandi (tipo FIXMBR) per farlo.

Dipende da cosa intendi per spazzolato. Se il problema riguarda la
perdita di dati relativa al solo codice di avvio, allora basta
reinstallare grub o lilo da un rescue disk. Questo puo` essere fatto
usando i file di configurazione presenti nell'HD stesso, basta montare
temporaneamente la partizione root. Per esempio sul dischetto di
rescue della Debian e` presente una versione di lilo che legge il file
/target/etc/lilo.conf facendo un chroot su /target:

(si parte dal dischetto di rescue)
# mount /dev/hda? /target
(eventualmente editare /target/etc/lilo.conf)
# lilo

Se invece hai perso anche gli ultimi byte del settore, quelli che
contengono la partition table, e` necessario ricavare la geometria
dell'HD con molta pazienza e ricostruire la partition table a mano.

Sulla Debian per default quando si installa lilo per la prima volta
viene creato un file tipo: /boot/boot.0303 che contiene lo stato
originale del settore prima della sua sovrascrittura. Pero` e` chiaro
che se non si provvede a farne una copia su un altro disco, la perdita
dei dati del primo settore implica anche l'impossibilita` di conoscere
la posizione precisa del file.

Dato che cancellando i pochi byte della partition table tutto l'HD
diventa inutilizzabile, ho l'abitudine di farne una copia in un disco
backup le rare volte che la modifico.

Per esempio, il primo settore del mio HD e` qui sotto. La partition
table si trova da 0x1be alla fine del settore, escluso il magic number
finale 0xaa55. Tutto quello che viene prima e` il binario del mio boot
loader.


alnilam:~# dd if=/dev/hda count=1|hexdump -C
1+0 records in
1+0 records out
00000000  fc 31 c0 8e d0 31 e4 8e  d8 8e c0 be 00 7c bf 00  |.1...1.......|..|
00000010  06 b9 00 01 f3 a5 be ee  07 b0 08 ea 20 06 00 00  |............ ...|
00000020  80 3e b5 07 ff 75 04 88  16 b5 07 80 3c 00 74 04  |.>...u......<.t.|
00000030  08 06 b2 07 83 ee 10 d0  e8 73 f0 e8 39 01 80 3e  |.........s..9..>|
00000040  b4 07 ff 74 4f cd 1a 89  16 00 08 f6 06 b3 07 80  |...tO...........|
00000050  74 06 b4 01 cd 16 75 3c  f6 06 b3 07 40 74 07 f6  |t.....u<....@t..|
00000060  06 17 04 0f 75 2e 31 c0  cd 1a 2b 16 00 08 2a 16  |....u.1...+...*.|
00000070  b4 07 80 de 00 72 d4 a0  b3 07 24 07 3c 07 75 0b  |.....r....$.<.u.|
00000080  be be 07 b0 00 b9 04 00  80 3c 00 75 66 fe c0 83  |.........<.uf...|
00000090  c6 10 e2 f4 e8 e0 00 b4  0e be a0 07 8a 0e b2 07  |................|
000000a0  ac d0 e9 73 02 cd 10 08  c9 75 f5 b0 3a cd 10 31  |...s.....u..:..1|
000000b0  c0 cd 16 3c 00 74 f8 3c  0d 74 bc 3c 61 72 06 3c  |...<.t.<.t.<ar.<|
000000c0  7a 77 02 2c 20 88 c3 be  a0 07 8a 0e b2 07 ac d0  |zw., ...........|
000000d0  e9 73 04 38 c3 74 06 08  c9 75 f3 eb d2 b8 0d 0e  |.s.8.t...u......|
000000e0  31 db cd 10 8d 84 5f 00  3c 07 75 07 b0 1f a2 b2  |1....._.<.u.....|
000000f0  07 eb a1 e8 81 00 31 d2  b9 01 00 3c 04 74 47 73  |......1....<.tGs|
00000100  f0 30 e4 b1 04 d2 e0 be  be 07 01 c6 8a 16 b5 07  |.0..............|
00000110  f6 c2 80 74 2b b4 41 bb  aa 55 56 52 cd 13 5a 5e  |...t+.A..UVR..Z^|
00000120  72 1e 81 fb 55 aa 75 18  f6 c1 01 74 13 8b 44 08  |r...U.u....t..D.|
00000130  8b 5c 0a be 90 07 89 44  08 89 5c 0a b4 42 eb 0c  |.\.....D..\..B..|
00000140  8a 74 01 8b 4c 02 b8 01  02 bb 00 7c bf 05 00 50  |.t..L......|...P|
00000150  c6 06 92 07 01 cd 13 58  73 05 4f 75 f2 eb 92 81  |.......Xs.Ou....|
00000160  3e fe 7d 55 aa 75 f6 31  db b8 0d 0e cd 10 b0 0a  |>.}U.u.1........|
00000170  cd 10 ea 00 7c 00 00 50  b8 0d 0e 31 db cd 10 be  |....|..P...1....|
00000180  8c 07 b9 04 00 ac cd 10  e2 fb 58 c3 4d 42 52 20  |..........X.MBR |
00000190  10 00 01 00 00 7c 00 00  00 00 00 00 00 00 00 00  |.....|..........|
000001a0  31 32 33 34 46 00 00 41  4e 44 54 6d 62 72 00 00  |1234F..ANDTmbr..|
000001b0  00 00 90 c7 12 80 00 00  00 00 00 00 a8 01 00 01  |................|
000001c0  01 00 82 fe 3f 0f 3f 00  00 00 d1 eb 03 00 00 00  |....?.?.........|
000001d0  01 10 83 fe 3f f5 10 ec  03 00 66 61 38 00 80 00  |....?.....fa8...|
000001e0  01 f6 83 fe 7f db 76 4d  3c 00 66 61 38 00 00 00  |......vM<.fa8...|
000001f0  41 dc 05 fe ff ff dc ae  74 00 c6 ed 4a 01 55 aa  |A.......t...J.U.|
00000200

m