Ubuntu + RAID0 + GRUB
Hace un par de dias mi pc de sobremesa entró en coma de forma inexplicable y súbita (no arrancaba ni windows ni linux, a pesar de que el GRUB parecia funcionar bien), en él tenia instalado Windows XP y Ubuntu sobre un RAID 0 (FakeRAID) formado por 2 HD SATA de 250GB. A parte tengo otro HD PATA que uso para datos críticos ya que el RAID 0 esta MUY bien porque me proporciona un HD de 500GB con una velocidad de transferencia que ronda el doble de lo normal, pero tiene un problema, y es que se duplica la velocidad pero, al estar formado por 2 discos, también duplica la probabilidad de fallos
. Bueno, en realidad tiene 2 problemas, y es que Ubuntu tiene algunos problemas con los RAID(FakeRAID), pero nada que no se pueda solucionar con un poco de paciencia
.
El caso es que, cuando instalé Ubuntu en su día, me volví loco para hacerlo correctamente ya que, cuando iba por el 94% de la instalación, me escupia un error de Ubiquity y ésta se me cerraba. Luego averigüé que era debido a que al GRUB no le gustaba mi RAID y que, cuando, durante el proceso de instalación, le tocaba a él entrar en escena (en torno al 94%), la instalación fallaba y me quedaba con una maravillosa instalación de Ubuntu sin GRUB para arrancarla
. Así que en su día desistí e instalé el GRUB en el HD PATA, en el cual no me daba error -obviamente-, y así arrancaba Ubuntu y Windows XP instalados en el RAID SATA.
Volviendo al problema que me surgió hace un par de dias con la entrada en coma de mi pc…decidí hacer backups de todos los datos y empezar desde 0, y esta vez intentando por todos los medios no depender de mi disco PATA para arrancar el GRUB. Y, despues, de leerme muchos foros, manuales, etc, dí con la solución, y bueno…ya que estoy, pues voy a explicar como instalar Ubuntu en un RAID 0 SATA y resolver el problema del GRUB.
- Instalando Ubuntu en el RAID
Para empezar voy a suponer que habeis arrancado la instalación y estais en el modo Live CD (”probar sin instalar” o algo así). Por defecto la distrubución Desktop no soporta RAID (la alternate o server creo recordar que sí), pero le podemos dar soporte tan solo instalando el paquete dmraid
# aptitude install dmraid
Lo normal es que, al acabar de instalar el paquete ya nos haya detectado el RAID y nos haya creado los dispositivos correspondientes a las particiones en /dev/mapper/, de lo contrario tecleamos
#dmraid -ay
Y, ahora sí, deberiamos tener en /dev/mapper el disco y las particiones del RAID. Por ejemplo , en mi caso, si ejecuto
# fdisk -l /dev/mapper/pdc_cafe
La salida es:
/dev/mapper/pdc_cafe1 * 1 4863 39062016 7 HPFS/NTFS
/dev/mapper/pdc_cafe2 4864 17021 97659135 83 Linux
/dev/mapper/pdc_cafe3 17022 60788 351558427+ 5 Extendida
/dev/mapper/pdc_cafe5 17022 17143 979933+ 82 Linux swap / Solaris
/dev/mapper/pdc_cafe6 17144 60788 350578431 7 HPFS/NTFS
Bien, ya tenemos nuestro RAID funcionando, ahora solo hay que arrancar la instalación sin salir del modo Live CD para que el instalador detecte el RAID correctamente y sea capaz de instalar Ubuntu en una de sus particiones.
- Instalar el GRUB en el RAID
Si estais en mi misma situación, cuando la instalación de Ubuntu vaya en torno al 94% se cerrará escupiendo un error de Ubiquity. No hay que preocuparse, lo único que sucede es que al GRUB le cae pesado el RAID y no le da la gana instalarse en éste. Pero como somos muy cabezotas lo vamos a instalar a manubrio, quiera el GRUB o no.
Para hacerlo, no hay que salir del modo Live CD, o entrar en éste e instalar el soporte para el raid (explicado más arriba) si ya habiamos salido.
Bién, tenemos una flamante Ubuntu instalada y lista para funcionar a falta de un gestor de arranque que la haga funcionar. Lo primero que tenemos que hacer para instalar el GRUB es montar la particion de Ubuntu si no está montada ya, y entrar en su shell. Para ello tecleamos:
# mkdir /media/ubuntu
# mount -t ext4 /dev/mapper/pdc_cafe2 /media/ubuntu
# mount --bind /dev /media/ubuntu/dev
# chroot /media/ubuntu
# mount /sys
# mount /proc -o bind
* Donde ext4 es el sistema de archivos que elegimos durante la instalación, y pdc_cafe2 es la partición donde tenemos Ubuntu.
Si escribimos:
# ls /boot
echareis de menos la carpeta del grub, asi que no vale tan solo con entrar en el shell del GRUB y decirle “ye!, instalate en el MBR!”. Primero hay que crear esa carpeta con todo su contenido a manubrio también.
Para ello tecleamos:
# mkdir /boot/grub
# cp /usr/share/doc/grub/examples/menu.lst /boot/grub
# cp /usr/lib/grub/i386-pc/stage1 /boot/grub
# cp /usr/lib/grub/i386-pc/stage2 /boot/grub
# cp /usr/lib/grub/i386-pc/e2fs_stage1_5 /boot/grub
* Si estais instalando una version de Ubuntu que no sea para procesadores x86, en lugar de i386-pc tendreis que poner el directorio que corresponda, claro está
.Antes de instalar el GRUB en el MBR hay que editar el archivo menu.lst para que concuerde con nuestra configuracion de particiones, ya que es un archivo de ejemplo.
Hay que buscar las lineas:
#kopt=root= ro
#groot=(hdx,x)
Y cambiarlas por:
#kopt=root=/dev/mapper/pdc_cafe2
#groot=(hd0,1)
* Donde /dev/mapper/pdc_cafe2 es la particion donde reside Ubuntu y hd0,1 el dispositivo correspondiente en el GRUB.
* Recuerda que GRUB numera los dispositivos y las particiones comenzando desde 0, no desde 1 como lo hace el kernel. Así pues, si tienes Linux instalado en pdc_cafe2, en el GRUB se corresponde con hd0,1.En el archivo menu.lst está bastante bien explicada la estructura del mismo así que no voy a entrar en detalles de como configurar en el menú los distintos SO instalados, así que solo voy a dejar mi menu.lst como ejemplo.
Ahora sí, ya tenemos los archivos necesarios para instalar el GRUB en el MBR. Entramos en el shell del GRUB (hay que asegurarse de que éste paso se realiza como root, ya que GRUB no devuelve ningun error al ejecutar su shell sin privilegios de root, solo devuelve errores del tipo “dispositivo desconocido” o “no se encuentra el archivo”, y puede llevar a confusión):
# grub --device-map=/dev/null
Mapeamos el disco RAID a -en mi caso- hd0 para que el GRUB lo reconozca y lo instalamos en el MBR.
grub> device (hd0) /dev/mapper/pdc_cafe
grub> root (hd0,1)
grub> setup (hd0)
grub> quit
# update-grub
* hd0 corresponde con el dispositivo RAID, y hd0,1 con la particion donde tengo instalado Linux.
Y ya está!, ya podemos reiniciar y ya tendremos nuestro Ubuntu con GRUB incluido sobre un RAID 0!
Nota: Es posible que al reiniciar no consigais arrancar Linux y os escupa algun error tipo Kernel Panic. Esto es debido a que vuestra instalacion no tiene el dmraid instalado, de modo que cuando salis del asistente y arrancais vuestra instalación no tendrá soporte para el RAID (recordad que al instalarlo antes, realmente lo hicimos en el modo Live, en cuanto reinicias se elimina todo) y no detecte éste correctamente. Para solventar este problema tan solo teneis que teclear antes de reiniciar:
# aptitude install dmraid
Chewrafa
23 May, 2009 | 14:09Curioso. De momento nunca he necesitado hacer nada para instalar Ubuntu o Win sobre Raid, más que nada porque no uso, pero no puedo negar la utilidad del tutorial y que está bastante bien explicado (¡plas plas plas!). Ahora, me surgen un par de dudas que vienen motivadas por la mera curiosidad, a saber:
– ¿Este problema te da al instalar Ubuntu 9.04 o alguna otra versión anterior?
– Veo que usas el sistema de archivos Ext4. Yo por ahora estoy usando ReiserFS, que me va bastante bien y parece ser “algo” más rápido que Ext3. El caso es que pensaba que Ext4 aún no había sido, por así decirlo, “lanzado”, si no que aún estaba en pruebas y se incluía su última versión estable en Ubuntu para quienes quisieran probarlo. ¿Es así?. Lo pregunto más que nada porque Ext3 generalmente ha sido el considerado “nativo” para Linux (o eso creo), Ubuntu en este caso, por lo que si Ext4 ya está oficialmente lanzado como sistema de archivos la próxima vez lo usaré. Si lo recomiendas, claro está xD.
Ale, a pasarlo bien.
Took
23 May, 2009 | 17:23Gracias!
El problema me surgió desde que intenté instalar Ubuntu por primera vez en el RAID, allá por la version 8.04 si no recuerdo mal (o incluso en alguna anterior).
Ext4 ya es estable desde finales del año pasado, asi que es totalmente fiable en la version 9.04 de Ubuntu.
No recuerdo si en la instalacion por defecto crea las particiones en Ext3 o Ext4, pero la verdad es por ahora no me ha dado ningun problema. Te diria que va ligeramente mejor que el Ext3, pero la mejora de rendimiento puede ser dada por la nueva version de Ubuntu, o incluso por mi propia autosugestión jeje, asi que tampoco te puedo decir que se note demasiado. Quizás lo note a la larga, ya que Ext4 ofrece mejoras sobretodo en prevencion y tratamiento de la fragmentación. Así que tampoco te lo voy a vender como la panacea. Pruebalo
Chewrafa
25 May, 2009 | 10:57Sé que en la instalación de Ubuntu 9.04 ya daba la opción de Ext4, de ahí mi pregunta. En el caso de Reiserfs la “rapidez” que he notado viene a cuento de ver el contenido de las carpetas propias de la partición, es decir, el acceso a mi carpeta personal y su contenido, que ahora es considerablemente más rápido, a mi parecer. Igual también tiene que ver con los cambios de la versión (estos de Ubuntu cada versión consiguen siempre mejorar algo los cabrones, son buenos.
De todas maneras he encontrado una bonita imagen de comparativa entre Ext3 y Ext4, que esas cosas siempre molan (tablas con valores y funcionalidades comparadas… ya puedo oir como tu bragueta revienta).
Chewrafa
25 May, 2009 | 10:57No se ha posteado la imagen, así que dejo el enlace en texto plano:
http://upload.wikimedia.org/wikipedia/commons/5/53/Tabla_ext3_ext4.png
Took
25 May, 2009 | 21:18Sí, yo tb habia visto esa tabla en la wikipedia. En mi opinion ext4 deberia ser mas rapido que reiserfs ya que añade mejoras de rendimiento en la reserva de bloques al crear archivos, a parte de las mejoras de prevencion de la fragmentacion, pero tampoco me he empollado toda la especificacion y de reiserfs no tengo mucha idea, solo se que va bien con sistemas que manejan archivos de pequeño tamaño. La verdad es que la version 9.04 está bastante bien, han corregido algunos fallos que cometieron en la Intrepid Ibex. Para mi Intrepid Ibex fue un desastre de versión, estaba plagada de fallos y el rendimiento bajó de forma brutal con respecto a versiones anteriores (tb encontré una grafica que mostraba el rendimiento de las diferentes versiones, pero no se por donde para ahora mismo jeje).
tito
10 June, 2009 | 20:21Hola, muchas gracias por la guia, con esto que has explicado se supone que compartes windows y ubuntu o solo ubuntu? Cuando instalo el dmraid y he seleccionado el particionado ubuntu me dice que no enctonro ningun s.o. del que cargar perfiles, ¿eso quiere decir se lo puede cargar?
Took
10 June, 2009 | 21:44En la guia he supuesto que conviven Windows y Ubuntu en un mismo disco. Yo no le haria mucho caso a lo de los perfiles, nunca me he fijado en que es exactamente, pero yo no le hago mucho caso
. Con lo de “se lo puede cargar” supongo que te refieres a si Ubuntu puede cargarse el Windows. Si es así la respuesta es que no, es decir, lo de los perfiles no tiene nada que ver. Si durante la instalacion le dices que lo instale en la particion que toca, no le pasará nada a tu Windows.
Víctor
11 June, 2009 | 11:50Grandisimo tutorial, justo lo q necesitaba. Solo me deja una duda, entenderas q no e puesto linux en mi vida, alguna tiene q ser la primera… Quiero intalar ubuntu con raid cero y que conviva con windows, =qtu, la unica difrencia esq mi ubuntu es de 64b, me podrias decir en q cambiaria el comando q especificas q es para lo de 86?? o alguna forma de q yo vea q es lo q tengo q poner. Jeje muxas gracias de todas formas y sigue haciendo guiones como este, muy currao si seños.
tito
11 June, 2009 | 19:35Gracias por la respuesta Took!
Took
11 June, 2009 | 20:06Gracias Victor
. Si no me equivoco (no tengo ningun cd de instalacion a mano), las unicas lineas que tendrias que cambiar son:
# cp /usr/lib/grub/i386-pc/stage1 /boot/grub
# cp /usr/lib/grub/i386-pc/stage2 /boot/grub
# cp /usr/lib/grub/i386-pc/e2fs_stage1_5 /boot/grub
Por:
# cp /usr/lib/grub/x86_64-pc/stage1 /boot/grub
# cp /usr/lib/grub/x86_64-pc/stage2 /boot/grub
# cp /usr/lib/grub/x86_64-pc/e2fs_stage1_5 /boot/grub
No estoy seguro si el directorio se llama x86_64-pc. Si no es así, será un nombre muy parecido. Mira que directorios hay en /usr/lib/grub, y por ahí andará el que necesitas. Si no te aclaras dimelo y lo miro con detalle.
Un saludo!
Took
11 June, 2009 | 20:09De nada tito, pa eso tamos
Víctor
13 June, 2009 | 14:36Pos muxas gracias, en cuanto acabe los examenes (o antes jeje) lo pruebo y te comento…Muxas gracias, muxas gracias, muxas gracias
Víctor
17 June, 2009 | 1:07WEnas otra vez x aki jeje, ya e intentao intalarlo y de exo lo e exo, salvo el grub. Pa empezar la opcion por defecto es ext3, me gustaria poner la ext4 pero nose exactamente como se ace y como tengo q particionar el espacio reservado para ubuntu…y todavia me quedan dos dudillas.
———-
# mount –bind /dev /media/ubuntu
# chroot /media/ubuntu
# mount /sys
# mount /proc -o bind
———–
a la primera linea creo q antes del bind hay q poner dos guiones (creo), y la 2ª y 4ª linea no me tiran…nose porq, si tengo q especificar algo, sino os importa decirme el q para verlo e informar…
Y por ultimo el comando /dev/mapper/ va tal cual?xq ami me sale q no es un directorio o algo asi, no lo e memorizado exactamente. creo q es todo x el momento, siento ser tan torpe pero llevo unas horejas exadas en la consola y e sacao muxas cosas pero esos fecos se me resisten y como os e visto buenos samaritanos…Muxas gracias por tos, enserio
Víctor
17 June, 2009 | 16:49PD: el menu.lst cuando lo abro solo me sale hasta la opciones de color pero todo lo de debajo (q es bastante y justo lo q hay q cambir) no me sale. Muxisimas gracias por adelantado y aunq no me podais resolver las dudas gracias por la intencion. cuidaos
Víctor
17 June, 2009 | 17:39Ahora mismo estoy en el ajo y me sale este mensaje
—————–
ubuntu@ubuntu:~$ sudo chroot /media/ubuntu
chroot: cannot run command `/bin/bash’: No such file or directory
—————–
nose si esq e exo algo mal (probalemente) o xq es…gracias
Took
17 June, 2009 | 20:53Si que te veo liado Victor, si jaja. A ver…por partes:
Víctor
17 June, 2009 | 21:142º pto superado, supongo q algo podria mal en el terminal.
3ºOK me peleare un pk con el pa ver si aprendo pero, si veo q no saco nada, copio el tuyo y lo pego.
4º OK me asegurare de no aber metio la pata antes. Muchas gracias por la ayuda, sin estaria perdido jeje.
Gracias por tanta paciencia, ya te informare cuando lo consiga…
Víctor
17 June, 2009 | 21:27Al buscar con el dolphin me encuentro con la carpeta media/ubunu/… de la cual se despliengan varias carpetas, eso se supone q ocurriria si e exo bien el comando : mount -t ext4 /dev/mapper/pdc_hbjhej5 /media/ubuntu , no?.
Xq xon los demas comandos no me escupe ningun error.
Si hay alguna forma de ver donde cometo el error te o agradeceria mucho, ya no te dare mas la lata, gracias otra vvez
Took
17 June, 2009 | 21:33Sí, entonces es que está todo correcto
Víctor
17 June, 2009 | 21:43Pos nose xq no me deja tirar el comando ch root, asiq supongo q tendre q intalar algo o acer algo, jeje a googlear se a dicho, muchas gracias por un tutorial tan explicito y sencillo y por tanta pacindia, deberas.
Víctor
18 June, 2009 | 18:25Buenas de nuevo, llevo unas cuantas oras buscando y no encuentro nada q tenga q acer antes de usar el comando chroot y no alla exo…querria saber si hay otra forma de acer lo mismo, o si para tirar el chroot ay q intalar algo, e probao con el apt-get install pero no me va…si hay otro modo (sencillo si puede ser) de hacer q rule un raid 0 o de meter el grub agradeceria la ayuda…esq estoy ya un pk desesperado…gracias
Took
21 June, 2009 | 12:03Perdon por la ausencia estos dias, el viernes terminé los examenes y estaba celebrandolo xD.
Para saber si de verdad tienes montado en /media/ubuntu la partición que toca, ejecuta:
# mount
Deberian salir todos los dispositivos que tienes montados y la ubicacion donde los tienes montados. Por lo tanto deberia salir una linea parecida a esta entre todas las que salen:
/dev/mapper/pdc_hbjhej5 on /media/ubuntu type ext3 (rw, relatime,…)
Si no es así es que algo esta mal. De lo contrario, asegurate que la partición que estas montando es la de Ubuntu. Una vez la has montado, en lugar de hacer el chroot pon:
# ls /media/ubuntu
Deberian de salirte estos directorios entre otros: bin boot dev etc home lib, lost+found media mnt …etc. No sea cosa que te hayas equivocado de particion y estés intentando hacer chroot en la de windows, o algo así
Víctor
21 June, 2009 | 18:43Ok muxas gracias, demomento no te puedo decir nada xq mi PC a muerto, y nose xq asiq tardare un tiempo en volver a la carga.
El sabado al volver de un examen (jeje q casualidad) no me arrancaba nada, e intentado reparar la instalacion de win pero si esas, no me detectaba el raid, lo he desexo y un disco tira bn pero el otro no me deja ni installar el windows xq el formato es incompatible con windows, lo curioso esq la particion la creo con el propio disco de instalacion asiq me tengo q enterar primero de si me cargao el disco duro o si tiene salvacion. Cuando me ponga con el ubuntu te informare y muxas gracias.
Víctor
25 June, 2009 | 15:48Xfin e acabado los examenes y e arreglao lo HD aunq e perdido toso…e estao tentado a dejar algo sin particionar pal grub pero nio me gustan las salida facila
Siguiendo con el asunto, me sale loq me tiene q salir
/dev/mapper/pdc_befhjje5 on /media/ubuntu type ext4 (rw)
Pero si ejecito :
ubuntu@ubuntu:~$ ls /media/ubuntu
adsp dsp input mapper ppp ram2 sda stderr tty16 tty27 tty38 tty49 tty6 urandom usbdev4.1_ep81 vcs vcsa3
audio dvd kmem mem psaux ram3 sdb stdin tty17 tty28 tty39 tty5 tty60 usb usbdev5.1_ep00 vcs1 vcsa4
block dvdrw kmsg mixer ptmx ram4 sequencer stdout tty18 tty29 tty4 tty50 tty61 usbdev1.1_ep00 usbdev5.1_ep81 vcs2 vcsa5
bus ecryptfs log mixer1 pts ram5 sequencer2 tty tty19 tty3 tty40 tty51 tty62 usbdev1.1_ep81 usbdev6.1_ep00 vcs3 vcsa6
cdrom fd loop0 mixer2 ram0 ram6 sg0 tty0 tty2 tty30 tty41 tty52 tty63 usbdev2.1_ep00 usbdev6.1_ep81 vcs4 vcsa7
cdrw fd0 loop1 net ram1 ram7 sg1 tty1 tty20 tty31 tty42 tty53 tty7 usbdev2.1_ep81 usbmon0 vcs5 vcsa8
char full loop2 network_latency ram10 ram8 sg2 tty10 tty21 tty32 tty43 tty54 tty8 usbdev3.1_ep00 usbmon1 vcs6 xconsole
console fuse loop3 network_throughput ram11 ram9 shm tty11 tty22 tty33 tty44 tty55 tty9 usbdev3.1_ep81 usbmon2 vcs7 zero
core hidraw0 loop4 null ram12 random snapshot tty12 tty23 tty34 tty45 tty56 ttyS0 usbdev3.2_ep00 usbmon3 vcs8
cpu_dma_latency hidraw1 loop5 oldmem ram13 rtc snd tty13 tty24 tty35 tty46 tty57 ttyS1 usbdev3.2_ep81 usbmon4 vcsa
disk hpet loop6 pktcdvd ram14 rtc0 sndstat tty14 tty25 tty36 tty47 tty58 ttyS2 usbdev3.2_ep82 usbmon5 vcsa1
dri initctl loop7 port ram15 scd0 sr0 tty15 tty26 tty37 tty48 tty59 ttyS3 usbdev4.1_ep00 usbmon6 vcsa2
Q me parece q no es lo q me tiene q salir no? nos pero en con el /dev/mapper la salida es:
Device Boot Start End Blocks Id System
/dev/mapper/pdc_befhjje1 * 1 57835 464559606 7 HPFS/NTFS
/dev/mapper/pdc_befhjje2 57836 121576 511999582+ 5 Extended
/dev/mapper/pdc_befhjje5 57836 120121 500312263+ 83 Linux
/dev/mapper/pdc_befhjje6 120122 121576 11687256 82 Linux swap / Solaris
sabes donde cometo el error?gracias macho menudo lio en el q te meto
Took
25 June, 2009 | 16:17Vale, ya está claro el error. Mea culpa ^^U. En el manual puse que habia que ejecutar:
# mount --bind /dev /media/ubuntu
Eso es erroneo porque te monta el directorio de dispositivos en la raiz del sistema, que son todos los archivos que te salen en la raiz, y no deben estar ahí. Lo correcto es ejecutar:
# mount --bind /dev /media/ubuntu/dev
Siento las molestias. Mira que revisé el manual, pero bueno, algun errata tenia que escaparse. 2 erratas en la misma linea, estuve fino fino
Víctor
25 June, 2009 | 16:25Ok aun asi tiene muxisimo merito lo q
Víctor
25 June, 2009 | 16:27ok, tiene muxisimo merito lo q aces enserio, sino es por gente como tu la inrfatica seria cosa exclusiva de informaticos, menos gracias y siento las molestias solo una cosa, como puedo borra lo q tengo en el media/ubuntu pa empezar con la correcion exa. Muxas gracias fiera
Took
25 June, 2009 | 16:42Para corregir el fallo solo tienes que desmontar el directorio de dispositivos. Para ello ejecuta:
#umount /media/ubuntu
Esto deshace lo que hizo el comando que estaba mal. Te dejará en /media/ubuntu las carpetas que te dije que tiene que haber en esa ruta (bin, boot, dev, etc, home, etc…)
Y luego ejecuta:
# mount –bind /dev /media/ubuntu/dev
Y así estará todo correcto.
Víctor
25 June, 2009 | 23:52Tengo alguna dudilla con lo del menu.lst, en teoria puedo copiar y pegar el tuyo no??esq no tengo idea de como editarlo…simplemente se escribe obre el como un texto normal o se ace en la terminal???ademas (ya te lo comente) no encuentro las lineas a cambiar, te dejo mi archivo pa q lo veas:
#
# Sample boot menu configuration file
#
# Boot automatically after 30 secs.
timeout 30
# By default, boot the first entry.
default 0
# Fallback to the second entry.
fallback 1
# For booting GNU (also known as GNU/Hurd)
title GNU (also known as GNU/Hurd)
root (hd0,0)
kernel /boot/gnumach.gz root=device:hd0s1
module /hurd/ext2fs.static –multiboot-command-line=${kernel-command-line} –host-priv-port=${host-port} –device-master-port=${device-port} –exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume)
module /lib/ld.so.1 /hurd/exec $(exec-task=task-create)
# For booting GNU/Linux
title GNU/Linux
root (hd1,0)
kernel /vmlinuz root=/dev/hdb1
#initrd /initrd.img
# For booting GNU/kFreeBSD
title GNU/kFreeBSD
root (hd0,2,a)
kernel /boot/loader.gz
# For booting GNU/kNetBSD
title GNU/kNetBSD
root (hd0,2,a)
kernel –type=netbsd /boot/knetbsd.gz
# For booting Mach (getting kernel from floppy)
title Utah Mach4 multiboot
root (hd0,2)
pause Insert the diskette now!!
kernel (fd0)/boot/kernel root=hd0s3
module (fd0)/boot/bootstrap
# For booting FreeBSD
title FreeBSD
root (hd0,2,a)
kernel /boot/loader
# For booting NetBSD
title NetBSD
root (hd0,2,a)
kernel –type=netbsd /netbsd
# For booting OpenBSD
title OpenBSD
root (hd0,2,a)
kernel –type=netbsd /bsd
# For booting OS/2
title OS/2
root (hd0,1)
makeactive
# chainload OS/2 bootloader from the first sector
chainloader +1
# This is similar to “chainload”, but loads a specific file
#chainloader /boot/chain.os2
# For booting Windows NT or Windows95
title Windows NT / Windows 95 boot menu
rootnoverify (hd0,0)
makeactive
chainloader +1
# For loading DOS if Windows NT is installed
# chainload /bootsect.dos
# For installing GRUB into the hard disk
title Install GRUB into the hard disk
root (hd0,0)
setup (hd0)
# Change the colors.
title Change the colors
color light-green/brown blink-red/blue
Siento las molestias.
Took
26 June, 2009 | 17:38Prueba con este menu.lst . Como no se que versión del kernel tienes, tendrás que averiguarlo y cambiar un par de lineas para que arranque correctamente.
En la linea:
kernel /boot/vmlinuz-2.6.28-11-generic root=/dev/mapper/pdc_cafe5 ro quiet splash
Cambia vmlinuz-2.6.28-11-generic por el que tengas tu en /boot.
En la linea:
initrd /boot/initrd.img-2.6.28-11-generic
Cambia initrd.img-2.6.28-11-generic por el que tengas tb en /boot.
Obviamente para saber cuales tienes debes hacer:
#ls /boot
Y ver los archivos initrd.img-2.loquesea y vmlinuz-2.loquesea y cambiarlo en el menu.lst
Víctor
28 June, 2009 | 3:56Antes de nada, enorabuena xq has conseguido q el grub carge y me de a elegir sistemas, pero todavia me debo de fastidiar algo (puto menu.lst) xq al cargar el ubuntu no carga, me acaba saliedo un error de q o es capaz de leer el acpi o algo de eso, tmbn comenta algo de la BIOS. y el mesage q entiendo bn es una alerta de q no existe el pdc_befhjje5 donde tengo instalado el linux precisamente…
Nose el q pero algo e exo mal, y mira q del menu.lst q mas colgao solo tengo q cambiar las numeraciones de las particiones, ya tengo el mismo kernel q tu, o eso creo…
Took
28 June, 2009 | 11:38Pega aqui el menu.lst que has usado exactamente y la salida que te produce el comando:
#ls /boot
Víctor
28 June, 2009 | 17:07Una apreciacion, cada vez q apago y vuelvo a encender, pa cambiar algo tengo q volver a acerlo todo.
mi menu.lst es:
#
# Sample boot menu configuration file
#
# Boot automatically after 30 secs.
timeout 10
# By default, boot the first entry.
default 1
# Fallback to the second entry.
fallback 1
# For booting GNU/Linux
title Kubuntu
root (hd0,4)
kernel /boot/vmlinuz-2.6.28-11-generic root=/dev/mapper/pdc_befhjje6 ro quiet splash
initrd /boot/initrd.img-2.6.28-11-generic
# For booting Windows NT or Windows95
title XP-64bits
rootnoverify (hd0,0)
makeactive
chainloader +1
# Change the colors.
title Change the colors
color light-green/brown blink-red/blue
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/mapper/pdc_befhjje6 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,5)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
## indomU=true
## indomU=false
# indomU=detect
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
y mi ls /boot:
ubuntu@ubuntu:~$ sudo ls /boot
abi-2.6.28-11-generic config-2.6.28-11-generic grub memtest86+.bin System.map-2.6.28-11-generic vmcoreinfo-2.6.28-11-generic
Took
28 June, 2009 | 18:02Tienes varias incoherencias en el archivo. Segun la salida que te dió el fdisk tu particion de linux es /dev/mapper/pdc_befhjje5, y tu has puesto /dev/mapper/pdc_befhjje6, y por lo tanto, donde pone # groot=(hd0,5) tb deberia ser # groot=(hd0,4).
Cuando corrijas estos fallos recuerda que para que tengan efecto tienes que ejecutar luego:
Víctor
28 June, 2009 | 18:26ok lo puse segun lo habias puesto tu, comparandolo con tus particiones, q estan por hay arriba pero claramente me confundio buen pos una vez exo los cambios me deberia quedar asi no?
#
# Sample boot menu configuration file
#
# Boot automatically after 30 secs.
timeout 10
# By default, boot the first entry.
default 1
# Fallback to the second entry.
fallback 1
# For booting GNU/Linux
title Kubuntu
root (hd0,4)
kernel /boot/vmlinuz-2.6.28-11-generic root=/dev/mapper/pdc_befhjje5 ro quiet splash
initrd /boot/initrd.img-2.6.28-11-generic
# For booting Windows NT or Windows95
title XP-64bits
rootnoverify (hd0,0)
makeactive
chainloader +1
# Change the colors.
title Change the colors
color light-green/brown blink-red/blue
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/mapper/pdc_befhjje5 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,4)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
## indomU=true
## indomU=false
# indomU=detect
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
Si es correcto lo copio cargo eso ultimo q me as dicho y a probar suerte jeje q ganitas de cacharrear hay q tener pa usar kubuntu de verdad….gracis
Víctor
28 June, 2009 | 18:36Creo q e puesto algo mal xq no encuentra un archivo al hacer
grub> device (hd0) /dev/mapper/pdc_befhjje
Took
28 June, 2009 | 19:33El menu.lst lo veo bien ahora. Te has asegurado de haber activado el soporte RAID (dmraid) antes de actualizar el Grub? Haz #ls /dev/mapper, si no te sale nada es pq no has activado el soporte RAID, cuando lo actives te deberia de listar las particiones
Víctor
28 June, 2009 | 20:50me salen las particiones pero sigue sin detectar nada…
Víctor
28 June, 2009 | 20:52ubuntu@ubuntu:~$ ls /dev/mapper/
control pdc_befhjje pdc_befhjje1 pdc_befhjje5 pdc_befhjje6
ubuntu@ubuntu:~$ grub –device-map=/dev/mapper/pdc_befhjje
Probing devices to guess BIOS drives. This may take a long time.
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> device (hd0) /dev/mapper/pdc_befhjje
device (hd0) /dev/mapper/pdc_befhjje
Error 15: File not found
Xcierto la particion Extendida (en tu caso pdc_cafe3 para q vale xq en mi menu.lst no aparece para nada…
Víctor
28 June, 2009 | 20:59Olvidate de los ultimos post, esta arreglao ponia una linea mal…lo siento, un ultimo detalle, al actualizar el grub me sale una pantalla de q el menu.lst esta modificao, que quiero acer con el? yo le digo q no lo toque
Muxas gracias y q sea lo q bill gates quiera
Took
28 June, 2009 | 22:21Perfecto
. Lo del aviso del grub es relativamente normal, dile que lo deje como está y ya esta.
Víctor
29 June, 2009 | 1:38Esta vez no me a salido lo del avis pero me sale el mismo erro, la APCI_nose q de la BIOs no funciona de tal forma q linux sea capaz de entender q me ponga en contacto con mi proveedor de la placabase y de linux…
ALERT! el pdc_befhjj5 no existe…
esta confirmao, a mi PC no le cae bn linux…gracias de todos modos…
Víctor
29 June, 2009 | 12:54Estoy buscando algun error q aya cometido en potencia…
al hacer el #chroot /media/ubuntu los dos siguientes comandos (# mount /sys , y, #mount /proc -o bind) los ago con el root@ubuntu, es decir:
ubuntu@ubuntu:~$ sudo chroot /media/ubuntu
root@ubuntu:/# mount /sys
root@ubuntu:/# mount /proc -o bind
pero liego me salro de root@ubuntu, eso esta bn exo??
Otra cosa, al copiar el menu.lst y demas (stage1, stage 2…) eso tien q ir en el /boot/grub o en el /medua/ubuntu/boot/grub??
Y lo ultimo ya por saber algo mas, la particion q figura como extended pa q vale?
muxas gracias
Took
29 June, 2009 | 13:48Mmm…efectivamente no, NO tienes que salir del chroot, en el manual en ningun momento pone que tengas que salir
. A partir del chroot, todo se hace en ese shell.
Como estas dentro del chroot, el menu.lst se copia a /boot/grub.
La partición extendida se puede ver como un contenedor de particiones. No hay que usarla para nada. Los discos están limitados a contener un máximo de 4 particiones primarias, por lo que se ideó el concepto de particion extendida, que no es mas que un contenedor de particiones lógicas, para “burlar” ese límite. No contiene un sistema de archivos en sí, sino que contiene particiones.
Víctor
29 June, 2009 | 14:03ok esq me da este error
root@ubuntu:/# cp /usr/share/doc/grub/examples/menu.lst /boot/grub
cp: no se puede efectuar `stat’ sobre «/usr/share/doc/grub/examples/menu.lst»: No existe el fichero ó directorio
y por eso me salia de hay…aunq modificaba las direcciones pa copiar las cosas en su sitio…
sabes xq puedo tener este problema?
Víctor
29 June, 2009 | 14:04PD. muxas gracias x la esplicacion…deberas
Souf
13 August, 2009 | 11:07Hola,
Tengo este mismo problema, pero yo no uso raid, he visto que el problema de ubiquity se va arrastrando desde la versión 8.04, hasta, de momento, la 9.04 en 64 bits.
Yo me acabo de comprar un nuevo pc, y quería sacarle rendimiento a estos 64 bits, pero me he encontrado con el problema que el grub no arrancaba.
En un principio creía que el problema era de tener instalado también centos (usaré esta distro de servidor, para hacer pruebas, y para correr el asterisk), pero ví que centos escribía correctamente en /boot el grub, así que pensé que era un problema de ubuntu, que no podía instalar el grub en la partición que tengo de /boot (por lo que creí que era problema de tener la partición de /boot), y finalmente ví que era un problema de ubuntu (https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/73849).
Hoy, decidido a bajarme el cd de 32 bits, y evaluando el probar la alpha 4 de la siguiente versión, o el alternate, he llegado a esta entrada.
He de decir que yo intenté instalar el grub, pero no me dejaba, ya que en /boot no existía el directorio grub, y siempre me daba error (grub-install no encontraba /boot/grub), por lo que ya no sabía que hacer, he probado el cd de super grub disk, pero tampoco sirve, ya que todo esto solo recupera el grub, pero no lo instala.
Esta tarde probaré el crear el directorio y los ficheros de /boot/grub, pero supongo que no deberé de referirme al directorio en el que tengo instalado ubuntu (/), sino la partición donde tengo instalado /boot, ¿es así?
Gracias, y perdonad el tostón que he puesto…
Took
8 September, 2009 | 12:39Perdona Souf, ultimamente no he estado muy atento del blog y no me di cuenta de tu comentario. En efecto, si tienes una particion para /boot deberias referirte a esa, pero es posible que, para que Ubuntu sepa que tienes una particion dedicada para /boot, tengas que decirselo durante la instalación, probablemente durante la parte del particionado de disco. Nunca he usado una particion para /boot, pero no deberia dar problemas en Ubuntu 64 (ya está relativamente madurita como para tener esos fallos garrafales), y menos aun en la version para 32 bits.