› Foros › PC › Software libre
Yukino escribió:Por fin he podido arrancar windows sin ningún problema, sin perder ningún dato, etc, etc. Os explico lo que hay que hacer:
Windows, a pesar de acceder al disco duro en modo LBA, necesita para arrancar una "buena" tabla CSH (Cabezal-Cilindro-Sector), que es como una traducción de la geometría real del disco duro (el modo LBA pasa de la geometría, numera los sectores todos seguidos, de 0 a un montón). Se ve que grub, durante la instalación, modifica esta tabla, haciendo imposible el arranque de windows, creo que esto es porque el kernel 2.6.x también hace su propia interpretación geométrica del disco, cuyos valores no coinciden con la traducción de la BIOS. Esto no se soluciona haciendo /fdisk/mbr o fixmbr, porque la tabla ésa no está en el mbr.
Se hace lo siguiente:
Desde el terminal de root, hay que escribir el siguiente comando:
sfdisk -d /dev/hda | sfdisk --no-reread -H255 /dev/hda
La rayita esa | es un pipe, sirve para "conectar" la salida de un comando con la entrada de otro. En este caso puede surgir un problema, y es que el comando sfdisk -d /dev/hda nos da información sobre las particiones de nuestro disco duro, pero puede elevar algunos warnings, y con esos warnings, el 2º comando no lo aceptará como entrada. La solución es redireccionar la salida a un fichero, así:
sfdisk -d /dev/hda > TablaParticiones.txt
A continuación, hay que editar ese fichero borrando los warnings, debe quedar algo así:
# partition table of /dev/hda
unit: sectors
[y aquí a continuación la tablita con la información]
Después de guardar ese fichero, se hace
cat TablaParticiones.txt | sfdisk --no-reread -H255 /dev/hda
Con el 2º comando lo que estamos haciendo es cambiar el número de cabezales (H) de 16 a 255 (antes de hacer esto podéis comprobar que el número que tenéis es 16, haciendo sfdisk -g). El número de cilindros es mejor no tocarlo, ya que se cambia automáticamente al cambiar H. Puede ocurrir que tras ejecutar el comando os diga:
I don't like these partitions - nothing changed.
(If you really want this, use de --force option)
en cuyo caso el 2º comando hay que ejecutarlo así:
sfdisk --no-reread --force -H255 /dev/hda
Y ya está. Después de hacer eso a lo mejor os dice que hay no sé qué ocupado y que ejecutes mksf y que reinicies... yo pasé de eso.
Todo esto lo he sacado de la web de redhat ,
aquí
Antes de hacer todo eso, saqué una copia de seguridad de mis datos, por si acaso...