[eside-ghost] Sobre el MBR que me acabo de cargar
Jon Ander Hernández
hernandez en movimage.com
Lun Mayo 22 12:54:16 CEST 2006
Aupi!!
On Mon, 2006-05-22 at 11:46 +0200, Fernando de Urien y Muñiz wrote:
> Ieeep,
> Releyendo mails antiguos me ha surgido una dudilla.
>
> >>On 2/12/06, Cymo <gcymoril en gmail.com> wrote:
>
> >>>> Disco arranque de winchof 98 y ejecutar fdisk /mbr
>
> >>Joder. También puede hacer # dd if=/dev/zero of=/dev/hda ibs=512
> count=200
>
> >>Por poner algo.
>
>
> Ok, tengo un sistema al uqe tengo que reparar el mbr. El caso es que lo del
> disquete de win98 no me vale porque no va a pillar el disco (no lo pilla el
> cd de arranque del xp tp) El caso es que me he dicho... Coño, yo leí por la
> lista que se podía hacer a golpe de DD jejejeje y me he encontrado eso :-)
> (utilizando una live que sí uqe me detecta el disco)
>
> El caso es... ¿qué hace exactamente este comando que planta Cymo? Amos, que
> yo... fé ciega, pero tb me interesa saber porque funciona. (si es que
> funciona y no me jode los datos, algo totalmente INdeseable)
Básicamente te destroza el sistema. xDDD.
En el mbr no solo está el código del gestor de arranque, también esta la
tabla de particiones, con lo cual hay que andar con mucho cuidado
haciendo trapis, es decir, es buena idea hacer por ejemplo un backup del
mbr pero siempre y cuando no modifiques la tabla de particiones.
El comando lo que hace es leer de /dev/zero (if de "in file") y escribir
a /dev/hda, osea todo el disco (of de "out file"), leyendo un bloque de
512bytes (ibs creo que significa "in block size") 200 veces (por el
count 200). Osease el comando escribe en /dev/hda 512*200 bytes de 0s.
De todas maneras si llenas de 0s solamente la parte del mbr reservada al
código del bootloader (440 Bytes) lo que lograrás no es librarte del
lilo o del grub, sino hacer que la BIOS se pare al terminar el POST,
cuando instalar el mbr de windows 98 en el mbr se instala un programa
que lo que hace es buscar la primera partición activa, y cargar y
ejecutar el bootloader que se encuentra ahí. Es decir aparte del código
de arranque que se encuentra en el bootloader, en cada partición también
existe un espacio donde se guarda otro trozo del bootloader, y gracias a
esto por ejemplo cargar con el grub windows es :
grub> rootnoverify (hd0,1) # indicamos que la segunda partición del
disco es el root y no la intentamos montar (noverify), porque el ntfs no
es legible.
grub> makeactive # pone la flag active en la partición (esto no se muy
bien como va :-S).
grub> chainloader +1 # carga los primeros 512kbs del bootloader
guardados en la segunda partición del disco.
grub> boot # pasamos el control al bootloader cargado en memoría.
Otro tema interesante es el de las nuevas BIOS (EFI, extensible Firmware
Interface) y el nuevo formato de particiones que se esta empezando a
extender (el GPT, GUID Partition Table).
En este nuevo escenario la función del mbr desaparece, el EFI que es una
BIOS ya mas potente incorpora drivers para poder leer desde particiones
FAT con lo cual la propia BIOS es capaz de ir a una partición
determinada y buscar en su interior el bootloader, cargarlo y
ejecutarlo. Esto en cuanto al reemplazo de BIOS, en cuanto al GPT que es
el nuevo sistema de tabla de particiones el MBR se sigue conservando por
si acaso, en plan por si a alguna utilidad le da por escribir algo y así
dejandolo como espacio sin usar te evitas que te haga nada, aunque por
otro lado podría servir para llevar un disco GPT a un ordenador sin EFI
y poder usar el HDD, por ejemplo el Grub 2 soporta GPT y linux también
(y los MacIntel todos usan GPT).
Un saludete!!
JonAn.
http://en.wikipedia.org/wiki/Master_Boot_Record
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://www.linuxforums.org/forum/installation/35107-installed-grub-mbr-first-sector-boot-partition.html
Más información sobre la lista de distribución eside-ghost