# Problema al cambiar discos puerto sata a puerto sata jmicron

## Hefistion

Hola, tenia puestos dos discos duros en los puertos SATA de mi placa base (Asus m2v-mx) y mi grabadora en el puerto SATA con controladora jmicron, de esta forma todo funciona perfectamente, pero al ir a cambiar los dos discos duros a los puertos jmicron(para conseguir una velocidad de transferencia de 3Gbps) y la grabadora al puerto sata normal gentoo no me arranca, se queda en el prompt del grub, he probado a cambiar en la bios AHCI por IDE pero nada, he probado a arrancar con el minimal cd de gentoo para amd64, me reconoce los discos como sda y sdb y la grabadora como sdg0, he hecho un chroot y volver a instalar grub sin errores, todo perfecto, pero al desenjaular y volver a reiniciar el equipo vuelve a salir el prompt de grub.

también desde el promp he probado a pasarle los parámetros de arranque que tengo en mi grub.conf pero me da error 21 de que no existe ese disco (hd0)

Alguna ayuda?

salu2 y gracias

----------

## esteban_conde

No se si lo sabes pero existe un pequeño truco, edita la linea que tu crees que debe arrancar tu sistema en la pantalla de grub borra unos cuantos carcteres  *Quote:*   

> boot (hd0,3)

  *Quote:*   

> boot (hd<---)

  y pulsa tab, eso deberia mostrate un listado de los dispositivos disponibles asi como las particiones de tus discos duros, si crees que la bios lo toma como sda o sdb sustituye la hd por sd y pulsa tab, en fin haz pruebas de ese tipo.

----------

## Hefistion

Pues no conocía el truco, ahora se una cosa mas   :Razz:  , bien he probado lo que me has dicho, desde el prompt del grub

he escrito

```
root (
```

 y le he dado al tabulador y me salido esto

```
root (fd0)
```

  :Shocked:   :Shocked:   cuando no tengo disquetera, siguiendo las pruebas he vuelto a hacer 

```
root (sd
```

 y aquie es donde me da el error

```
Error 23: Error while parsing number
```

 y probado también con hd pero no hace nada.

Lo raro es que en la pantalla de arranque del sistema cuando llega a la controladora del jmicron aparecen reconocidos los dos discos duros, e inmediatamente me salta el prompt del grub   :Rolling Eyes:   :Rolling Eyes:  , ni siquiera me lleva al menu del grub para elegir el arranque, tambien he probado a quitar y poner varias opciones de la bios (AHCI por IDE, deshabilitar el IDE, desactivar el sata y dejar solo jmicron,etc)pero con el mismo resultado

salu2

----------

## esteban_conde

Es raro si, arranca con un liveCD y ejecuta demesg|less para mirar con detenimiento como y con que nomenclatura te detecta el hardware (de momento no se me ocurre nada mas).

Suerte.

----------

## Magnum44

Mmmm... a mi se me ocurre que si cambias de un puerto sata a otro y tienes 4... prueba con hd0, hd1, hd2 o hd3. Alguno tendrá que ser, no?

----------

## Hefistion

 *esteban_conde wrote:*   

> Es raro si, arranca con un liveCD y ejecuta demesg|less para mirar con detenimiento como y con que nomenclatura te detecta el hardware (de momento no se me ocurre nada mas).
> 
> Suerte.

 

He arrancado con el minimal cd 2007.0 para amd64, desde la regrabadora sata en el puerto sata sin jmicron, los discos duros los he conectado a los dos puertos jmicron, me reconoce sda, sdb y hdg, la regrabadora como sr0, osea que los discos los reconoce, el problema lo tengo en el arranque

 *Magnum44 wrote:*   

> 
> 
> Mmmm... a mi se me ocurre que si cambias de un puerto sata a otro y tienes 4... prueba con hd0, hd1, hd2 o hd3. Alguno tendrá que ser, no?
> 
> 

 

he probado con todas y nada, es como si no reconocira los discos, he actualizado a la ultima version de la bios por si las moscas pero nada   :Confused:   :Confused: 

salu2 y gracias

----------

## esteban_conde

 *Quote:*   

> también desde el promp he probado a pasarle los parámetros de arranque que tengo en mi grub.conf pero me da error 21 de que no existe ese disco (hd0) 

 

Esto no me queda claro, si has reinstaldo grub desde el liveCD sin errores supongo que lo habras hecho en /dev/sda = hd0(en grub si no me equivoco), la bios encuentra grub(sector de arranque de sda)-->grub no conoce su ubicacion.

Aclaranos esos puntos asi como si tienes soporte SATA en el kernel pues me da que eso no es de la bios.

----------

## Hefistion

Gracias por la ayuda 

- He reinstalado grub desde el live cd, en sda, sin errores

- Nada mas arrancar y pasar los test de la placa base (donde la controladora reconoce los dos discos duros) me lleva al prompt del grub, ni menu de arranque ni nada, directamente al prompt,

- Desde el prompt si intento arrancar desde ahi me da el error 21, no encuentra los discos duros

- En el kernel

```

Device Drivers->Serial ATA (prod) and Parallel ATA (experimental) drivers  --->

<*> ATA device support

<*>   AHCI SATA support 

<*>   VIA SATA support

<*>   JMicron PATA support 

<*>   VIA PATA support

```

```

Device Drivers->SCSI device support  --->

< > RAID Transport Class

     --- SCSI device support

     < >   SCSI target support

     [*] legacy /proc/scsi/ support

    --- SCSI support type (disk, tape, CD-ROM)

    <*> SCSI disk support

    < > SCSI tape support

    < > SCSI OnStream SC-x0 tape support

    <*> SCSI CDROM support 

     [*]   Enable vendor-specific extensions (for SCSI CDROM)

    <*> SCSI generic support

    < > SCSI media changer support 

    --- Some SCSI devices (e.g. CD jukebox) support multiple LUNs

    [ ] Probe all LUNs on each SCSI device

    [ ] Verbose SCSI error reporting (kernel size +=12K)

    [ ] SCSI logging facility

    [ ] Asynchronous SCSI scanning

    SCSI Transports  --->  

```

En grub.conf

```
# Boot automatically after 30 secs.

timeout 5

# By default, boot the first entry.

default 0

splashimage=(hd0,1)/grub/splash.xpm.gz

#splashimage=(hd1,0)/grub/cbg2.xpm.gz

# For booting GNU/Linux

title  GNU/Linux

root=(hd0,1)

kernel /vmlinuz root=/dev/sda3

initrd /fbsplash-gentoo-1024x768

title Windows XP

rootnoverify (hd0,0)

makeactive

chainloader +1

```

Si necesitais mas datos decidmelo

salu2

----------

## esteban_conde

 *Quote:*   

> default 0
> 
> splashimage=(hd0,1)/grub/splash.xpm.gz
> 
> #splashimage=(hd1,0)/grub/cbg2.xpm.gz
> ...

 

Deduzco que tienes una particion /boot (hd0,1) y otra / (hd0,2); nunca he tenido el sistema particionado asi por lo que la sintaxis no puedo decirte si la tienes bien o no.

Arranca con la liveCD de nuevo monta /dev/sda3 y ejcuta chroot contra esa particion, ejecuta grub

grub>

grub> root (hd0,2)

grub> kernel /vmlinuz

grub> setup (hd0)

Es para probar si instalar de esa forma te da errores, si lo hace bien deberias arrancar sin problemas la vez siguiente.

Sigue contandonos, como va.

Por cierto ¿como tienes fstab?

----------

## pcmaster

Como al cambiar el puerto ahora el disco tiene otro dispositivo asociado. Si antes era hd0, ahora puede ser hd1, hd2, hd3... dado que cada puerto tiene su dispositivo.

Por eso, no has de cambiar solamente la configuración del grub... sino también reconfigurar los nombres de las particiones en /etc/fstab.

----------

## Hefistion

 *esteban_conde wrote:*   

> 
> 
> Deduzco que tienes una particion /boot (hd0,1) y otra / (hd0,2); nunca he tenido el sistema particionado asi por lo que la sintaxis no puedo decirte si la tienes bien o no.

 

Las tengo asi de toda la vida  :Smile: , prefiero separar el arranque del sistema por si las moscas

 *Quote:*   

> 
> 
> Arranca con la liveCD de nuevo monta /dev/sda3 y ejcuta chroot contra esa particion, ejecuta grub
> 
> grub>
> ...

 

Os cuento el proceso que me tiene un poco quemado ya   :Evil or Very Mad:  , he hecho lo que me has comentado, sin errores, es mas si desde el chroot ejecuto grub y pongo 

```

grub> root (

```

y le doy al tabulador me dice que tengo disponibles hd0 y hd1

La instalacion la hace correctamente, parece como si grub no reconociera los SATA (recuerda que la jmicron si los reconoce)

He probado a poner la grabadora en el puerto sata junto con el disco a(instalacion de gentoo) y en disco b(almacen) en el puerto jmicron y entonces si me aparece el menu de grub para elegir el arranque(linux o xp)

He probado a utilizar el config del livecd y recompilar el kernel con esas opciones pero sigue el mismo problema

Como nota curiosa, una vez hecho lo anterior (grabadora y disco a en sata y disco b en jmicron) aparece el menu del grub para seleccionar el aranque, windows arranca perfectamente pero ahora linux me da el erroor

```

VFS: cannot open device "sda3" or unknowm block (0,0)
```

Si vuelvo a poner los disocs en los puertos sata y la grabadora en el jmicron arranca sin problemas otra vez   :Rolling Eyes:   :Rolling Eyes: 

 *Quote:*   

> 
> 
> Por cierto ¿como tienes fstab?

 

Si quieres lo posteo pero es que nada mas ararncar se queda en el prompt del grub, ni siquiera llega a descomprimir el kernel y por supuesto no llega ni a leer el fstab

Salu2 y gracias de nuevo  :Smile: 

----------

## gringo

Recuerda que grub a veces no lee correctamente la información suminstrada por la bios ( o simplemente la bios no informa debidamente a grub), asi que hd0 NO tiene porque ser el primer disco duro y hd1,0 NO tiene porque ser el segundo, sobre todo si mezclas pata y sata o varias controladoras sata.

Ya que estás en la consola de grub lo mejor es que uses find para buscar algun archivo del sistema de archivo, p.ej. que devuelve find /sbin/fdisk ? Ese debería ser tu root  :Wink: 

saluetes

----------

## Hefistion

Pues nada que no hay manera, me tiene mas quemado que la pipa de un indio, mi desesperacion a llegado a tal extremo, de que he formateado el disco duro que se utiliza para botear, borrado enterito e intentar instalar kubumtu para ver de donde venia el problema pero me da el mismo error 21 una vez finalizada la instalacion y querer arancar.

He probado a utilizar el comando

```
grub> find /etc/fstab
```

 dando como resultado root(0,2), he probado a poner root(0,2) y sigo con el mismo error

ya no se que hacer mas   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad: 

salu2 y gracias de nuevo

----------

## esteban_conde

 *Quote:*   

> grub> find /etc/fstab

 

¿Desde el prompt de grub al arrancar o desde el chroot?

Una gran sugerencia la de gringo, nunca te acostaras....., el caso es que con el tabulador salen todos los posibles comandos pero de ese no habia hecho uso nunca.

----------

## Hefistion

 *esteban_conde wrote:*   

> 
> 
> ¿Desde el prompt de grub al arrancar o desde el chroot?
> 
> .

 

Lo hacia desde el prompt del grub en el chroot , desde el prompt del grub que sale nada mas arrancar no reconoce nada  :Sad: 

He puesto el disco que uso para almacen en el puerto jmicron y el SO en el ICH8, entonces me he dado cuenta que el disco puesto en la jmicron lo denomina sda y el otro sdb, asi he conseguido arrancar (modificando fstab y grub.conf) pero si vuelvo a poner el disco del SO en la jmicron me vuelve a dar error (error 21).

PD: He leido (o intentando leer  :Smile:  ) este post

https://forums.gentoo.org/viewtopic-p-4053160.html#4053160, donde creo entender que existe problemas de grub con las controladoreas jmicron?

salu2

Edito:

Acabo de leer que este error 21 puede ser debido a que la BIOS no reconoce los discos duros, en mi caso al ponerlo en la controladora jmicron , si entro en la bios, no aparecen, aparecen en la pantalla de la controladora. 

Seguimos en ello  :Smile: 

----------

## pcmaster

Si los discos que conectas en la controladora jmicron NO se ponen en el setup de la BIOS sino en el de la propia controladora, posiblemente en la secuencia de arranque de la BIOS tengas que ponerle como primer dispositivo el SCSI. Mira también a ver si en el SETUP propio de la controladora hay algo referente al arranque..

----------

## gringo

 *Quote:*   

>  dando como resultado root(0,2), he probado a poner root(0,2) y sigo con el mismo error 

 

vaya ...

 *Quote:*   

> https://forums.gentoo.org/viewtopic-p-4053160.html#4053160, donde creo entender que existe problemas de grub con las controladoreas jmicron? 

 

ahi lo que deduzco es que hace falta una versión moderna del kernel, cuál tienes ?

En /boot/grub/device.map están todos los dispositivos que grub entiende; mira a ver que sale ahi, haz una copia en algún lao siquieres, bórralo y vuelve a generarlo desde la línea de comandos de grub con --device-map. Ahora comprueba que dispositivos aparecen.

saluetes

edito - /boot/grub/ es la ruta correcta.

----------

## Hefistion

 *gringo wrote:*   

> 
> 
> ahi lo que deduzco es que hace falta una versión moderna del kernel, cuál tienes ?
> 
> En /boot/grub/device.map están todos los dispositivos que grub entiende; mira a ver que sale ahi, haz una copia en algún lao siquieres, bórralo y vuelve a generarlo desde la línea de comandos de grub con --device-map. Ahora comprueba que dispositivos aparecen.
> ...

 

Pues la version del kernel que tengo es gentoo-sources-2.6.20-r8 

Y respecto al devices map 

```
(fd0)   /dev/fd0

(hd0)   /dev/sda

(hd1)   /dev/sdb

```

curioso lo de fd0 cuando lo tengo deshabilitado por bios, y es precisamente solo fd0 lo que reconoce cuando arranco desde jmicron

salu2

----------

## esteban_conde

Pues despues de leer el post que pones, creo que el problema está en que no le has dado soporte en el kernel, parece que hablan de la seccion sata (new), la opcion que te propongo es un poco chapuzas pero no creo que pierdas nada por probarla:

Copia el kernel de la liveCD con la que arrancas, copia los modulos del directorio /lib/modules a tu /lib/modules y pasale a grub los parametros nuevos, arranca con ese kernel observa las opciones que tiene seleccionadas sobre todo las que se refieran a tus discos, toma nota y luego compila un kernel a tu medida.

Asumo que si con ese kernel arranca la live y reconoce tus discos no será necesario tocar nada en la bios, aunque a lo mejor me equivoco.

Suerte.

----------

## Hefistion

Ante todo daros las gracias por vuestra ayuda  :Smile:  y sugerencias por que si yoempiezo a cansarme no se vosotros  :Smile: 

esteban_conde he probado a instalar la kubuntu-7.04 para amd64 y tenia el mismo problema, también copie el config.gz del live de gentoo y recompilar el kernel y lo mismo, he mirado y remirado los modulos sata del kernel y creo que eso esta bien, pienso que va mas por un tema de grub pero no doy con la solución, de momento me tengo que confirmar con poner el hd en el disco sata ya que asi es la única forma de que arranque

salu2

----------

## zorth

hola hefiston.

recuerdas que las placas de toda la vida " ", se llamaba hda, hdb, hdc, hdd.. etc, para segun era ide0 o ide1, master o slave? pues eso mismo pasa con las sata.

tu placa si tiene 2 controladoras, para linux, la controladora 1, puerto1 de sata, es sda, el puerto 2, sdb, asi sucesivamente.

si la controladora 2, tu jmicron, tiene 2 puertos, estos seran sdd por ejemplo, sdf, por ejemplo..........etc.

entonces! si pinchas un disco que era en su momento sda en una controladora que para linux es sdf, tu /etc/fstab asi como el propio grub no apuntan ya a sda, sino a sdf y ahi viene el que no te arranque. eso mismo, me paso a mi no hace ni 2 semanas al ir moviendo discos de un sitio a otro xD

solucion? o vuelves a pinchar el disco donde lo tenias, o editas tu /etc/fstab a mano arrancando desde un livecd y montando la particion/es asi, como el /boot/grub.conf y por ultimo, desde la livecd, reinstalas grub correctamente.

por ej.,

si tu tenias /boot en sda y tu grub.conf era algo tipo:

title=mi linux

root(hd0,0)

kernel /boot/bzImage-miversion.de.nucleo root=/dev/sda1

ahora, si estas en lugar de sda pongamos, en sdf, tu sda1 es sdf1 por tanto:

title=mi linux

root(hd5,0)

kernel /boot/bzImage-mivesion.de.nucleo root=/dev/sdf1

PERO!!!!!

has de instalar grub:

#haciendolo a mano

grub

root(hd5,0)

setup (hd5)

quit

y por ultimo, yo la cague por esa linea que pongo como ejemplo→

kernel /boot/bzImage-mivesion.de.nucleo root=/dev/sdf1

ponia " kernel /boot/bzImage.....bla bla bla "

y sobraba /boot xDDDDDDDDDD 

tenia que quedar " kernel /bzImage...... bla bla bla "

bueno... no se me ocurren mas ideas y espero que te ayude por si algo te paso por alto. si me he equivocado en algo que me corrijan  :Smile: 

saludos.

----------

## gringo

 *Quote:*   

> Pues la version del kernel que tengo es gentoo-sources-2.6.20-r8 
> 
> (...)
> 
> curioso lo de fd0 cuando lo tengo deshabilitado por bios, y es precisamente solo fd0 lo que reconoce cuando arranco desde jmicron 

 

lo del kernel déjalo estar de momento, primero hay que ver porque el grub no ve los discos duros y yo diría que es obvio que algo está mal en la bios. 

La controladora jmicron que modos de operación tiene y cuál es el que tienes activao en la bios? Ahci, raid, etc ? He estao mirando el manual de tu placa pero no veo nada que me de mas ideas ...

saluetes

----------

## Hefistion

gringo Pues yo tambien he leido y releido el manual de placa y no he visto nada, la controladora jmicrom tiene dos modos de funcionamiento IDE y AHCI y probado de la dos formas y ya no tiene mas opciones de configuraciÃ³n.

Yo creo que el tema viene por la placa me da que a lo mejor la controladora jmicron anda regular, ya que ayer a ultima hora desde windows el hd que tengo pinchado en el puerto de la jmicron hacia cosas raras y al final colgo el ordenador dos o trs veces. Asi que a lo mejor la semana que viene lo llevo al RMA a ver que me dicen

zorth Al pichar el sata en la controladora jmicron lo reconoce como sda y el otro en sdb ,no lo llama sdc  :Sad:  he reinstalado grub con varias opciones, editado fstab cambiando por los posibles,etc y nada de nada

salu2 y muchas gracias por el interÃ©s  :Smile: 

----------

## sfo

Yo tengo la misma placa base y el mismo problema.

El problema está en grub. He generado un disquete de diagnóstico de la última versión de lilo y reconoce perfectamente los discos via BIOS. Por tanto creo que funcionaría con lilo, pero las distribuciones no suelen incluirlo.

La solución que he encontrado es crear una pequeña partición FAT de 30 MB al principio del disco e instalar en ella syslinux.

He instalado XP usando esa partición FAT como sistema y otra a continuación NTFS como inicio, dejando a continuación sitio libre para linux.

Se salva el sector de boot de XP usando la utilidad copybs de syslinux com dos.bss

Se instala syslinux

Se instala linux sin gestor de arranque

Se copia el kernel y el initrd a la partición FAT

Se hace un syslinux.cfg que permita elegir entre xp y linux y ya está

Un saludo.

----------

## Hefistion

Muchas gracias por la respuesta la verdada es que esta currada  :Smile:  lo malo o bueno segÃºn se mire, es que cambie la placa base por otra que no lleva jmicron para la controladora SATA y ahora lo reconoce todo sin problemas  :Wink: 

salu2

----------

