Problema Arch, GRUB

Iniciado por leogtz, 22 Enero 2011, 00:35 AM

0 Miembros y 1 Visitante están viendo este tema.

leogtz

Hola a todos, acabo de instalar Arch Linux, pero tengo problemas para instalar el GRUB.

Instalé Arch en el segundo disco, en hd1, pero no puedo bootear. Al elegir Arch Linux en el menú del GRUB me da un error 17.

Ya intenté editando a hd1 0, hd1 1, hd1 2, etc, etc, pero no he podido.

¿Alguien sabe de esto?

EDITO:

Segùn gparted, el dispositivo /dev/sdb1 tiene el boot.
Código (bash) [Seleccionar]
ubuntu@ubuntu:/mnt$ sudo grub-install /dev/sdb
Could not find device for /boot: Not found or not a block device.
ubuntu@ubuntu:/mnt$



Código (bash) [Seleccionar]
ubuntu@ubuntu:/mnt/dev$ sudo fdisk -l

Disco /dev/sda: 40.0 GB, 40020664320 bytes
255 cabezas, 63 sectores/pista, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0xda130d5b

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1   *           1        1785    14337981    7  HPFS/NTFS
/dev/sda2            1786        4865    24740100    5  Extendida
/dev/sda5            1786        4732    23671746   83  Linux
/dev/sda6            4733        4865     1068291   82  Linux swap / Solaris

Disco /dev/sdb: 80.0 GB, 80026361856 bytes
255 cabezas, 63 sectores/pista, 9729 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x906776e1

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sdb1   *           1          20      160618+  83  Linux
/dev/sdb2              21          59      313267+  82  Linux swap / Solaris
/dev/sdb3              60        1016     7687102+  83  Linux
/dev/sdb4            1017        9729    69987172+  83  Linux
ubuntu@ubuntu:/mnt/dev$
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Exe U.

En la web ya hay bastante sobre como solucionar este error, asumo que las has probado =P podrias pegar el archivo /boot/grub/menu.lst

Salu2

PD: Exelente distro Arch ;)
Archlinux + DWM | /blog

leogtz

Claro, ya he probado de todo y no me ha funcionado.

La mayoría de las cosas que encontré están para el primer disco, mi problema es que tengo instalado Arch en el segundo disco duro, y hallé poco para eso. Sé que no cambia mucho, pero aún así no he podido.

Mañana les pego más información. Espero y puedan ayudarme. Estos problemas son la razón por la que no he utilizado desde hace mucho Arch o Gentoo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

leogtz

#3
Bueno, ahora sí les dejo todos los datos, para ver si me ayudan.

Arch lo tengo instalado en TODO el disco hd1, gparted sobre Ubuntu en el primer disco me dice que es /dev/sdb, y la partición que tiene el boot es /dev/sdb1. El error que me da al intentar bootear es:

CitarBooting 'Arch Linux'

root (hd1,0)
Filesystem type unknow partition type 0x7
Kernel /vmlinuz26 root=/dev/disk/by-uuid/f41629e7-cf04-4a2e-a7e2-1862b12cbb82 ro

Error 17: Cannot mount selected partition

Y este es mi menu.lst:

Citar# gral configuration
timeout 5
default 0
color light-blue/black light-cyan/blue

# (0) Arch Linux
title Arch Linux
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/f41629e7-cf04-4a2e-a7e2-1862b12cbb82 ro
initrd /kernel26.img

# (1) Arch Linux
title Arch Linux Fallback
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/f41629e7-cf04-4a2e-a7e2-1862b12cbb82 ro
initrd /kernel26-fallback.img

# (2) Windows
# title Windows
# rootnoverify (hd0,0)
# makeactive
# chainloader +1



Citargrub> find /boot/grub/stage1
   (hd1,4)

Citargrub> find /boot/grub/stage2
   (hd1,4)

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Exe U.

Hola =)
Al parecer tenes mal el menu.lst mas concretamente en

Citar# (0) Arch Linux
title Arch Linux
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/f41629e7-cf04-4a2e-a7e2-1862b12cbb82 ro
initrd /kernel26.img

root (hdx,x) indica en que particion se encuentra /boot
Si te fijas en tu menu.lst dice hd1,0 pero si te fijas la salida que te dio el comando find esta en hd1,4. Calculo que la creaste con cfdisk durante la instalacion =P

Te tendria que quedar asi root (hd1,4)

Despues en la linea kernel /vmlinuz26 root=/dev/disk/by-uuid/f41629e7-cf04-4a2e-a7e2-1862b12cbb82 ro el parametro root= especifica en que particion se va a montar el sistema, como tu particion raiz es sdb1 comproba si ese uuid pertenece realmente a sdb1 para eso desde el terminal haces ls -l /dev/disk/by-uuid sino cambialo.

Salu2
Archlinux + DWM | /blog

leogtz

Es extraño, porque lo comentas ya lo había hecho, hablo de editar la línea del root, cuando uso find que me dió (hd1,4) lo usé con root, pero yo todo lo hice desde la consola del grub, y editando ahí mismo el archivo menu.lst.

Pero bueno, voy a seguir probando.

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Exe U.

#6
Creo que ya se por donde viene la mano.
Estas booteando desde el segundo disco??
Segun lei por ahi grub y el bios detectan los discos en formas diferentes.
Podrias pegar la salida del archivo /boot/grub/device.map?
Sino lo tenes se puede generar.

Filesystem type unknow partition type 0x7

0x7 es NTFS.

Lo que da a entender que grub interpreta que hd1 es el primer disco que tiene windows y hd0 es quien tiene arch.

Encontre esto relacionado a lo que te comento. A ver si lo solucionas
http://ubuntuforums.org/showpost.php?p=3518911&postcount=9
http://elreinodelterror.wordpress.com/2008/06/11/grub-error-17/

Salu2
Archlinux + DWM | /blog

leogtz

#7
Efectivamente, estoy booteando desde el segundo disco. Ahora mismo me pongo a ello. Ya les pondré mis avances.

EDITO:

Tenías razón, he cambiado la línea root desde el GRUB del segundo disco a hd0.

¿O sea que si booteo desde el GRUB del primer disco, para referirme a Arch en el
segundo disco debería ser hd1, cierto?

Otra cosa, ya pude bootear Arch, ya me sale la línea del prompt pidiendo el nombre de usuario, pero lo pongo bien y me sale error, solo puedo entrar como root.

¿Otra cosa, como inicio las X, o mi gestor gráfico?, amo la consola, pero soy demasiado nuevo en Arch.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Exe U.

Citar¿O sea que si booteo desde el GRUB del primer disco, para referirme a Arch en el
segundo disco debería ser hd1, cierto?

Calculo que si =)

CitarOtra cosa, ya pude bootear Arch, ya me sale la línea del prompt pidiendo el nombre de usuario, pero lo pongo bien y me sale error, solo puedo entrar como root.

Durante la instalación de Arch en ningun momento te pide que crees un usuario. Tan solo te da la opción de definir la contraseña del root.
Para crearte un usuario usas el comando useradd.

Citar¿Otra cosa, como inicio las X, o mi gestor gráfico?, amo la consola, pero soy demasiado nuevo en Arch.

Arch solo instala el sistema base sin ningun  agregado innecesario (como X por ejemplo) de modo que vas armando el sistema de acuerdo a tus necesidades =D es parte de su filosofia.

Leete la guia de principiantes de Arch donde te detalla el todo el proceso de instalacion y configuracion del sistema =)

Al principio puede parecer molesto tener que andar editando a mano tanto ficheros de configuración y manejarte por la consola pero los conocimientos que adquirís lo valen. Arch te obliga a aprender =D

Salu2



Archlinux + DWM | /blog

leogtz

Listo, ya cambié añadí al grub del primer disco Arch y bootea perfecto.

También ya definí mi usuario y password con useradd y passwd.


Bueno, por ahora me urge agregar un entorno gráfico... y saber cómo hacerme root.


Lo de andar editando archivos me gusta, lo que me jode es estar reiniciando e iniciando otro sistema para consultar ahí.

Muchas gracias.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com