Sunteți pe pagina 1din 4

LINUX USER Lnea de Comandos: GRUB 2

El nuevo gestor de arranque GRUB 2

PREPARADOS LISTOS GRUB 2!


Brenda Carson, 123rf

A pesar de que GRUB 2 se encuentra an en desarrollo, mostramos algunas de sus diferencias con su predecesor. POR BRUCE BYFIELD
En el momento en el que escribo este artculo, una diferencia entre el viejo y el nuevo GRUB es la carencia de documentacin. En el nmero anterior de Linux Magazine, cuando describ cmo funcionaba el antiguo GRUB (tambin conocido como Legacy GRUB), haca alusin a las docenas de referencias en Internet. Sin embargo, el sitio de GRUB 2 incluye ms enlaces a pginas vacas que verdadera documentacin, y otros recursos escasean, aunque estn comenzando a aparecer en fase de desarrollo [2]. Otro problema es que, hasta ahora, GRUB 2 es usado solamente por Ubuntu 9.10, cuyas listas de correo proporcionan mucha de la documentacin que se encuentra disponible [3]. Sin embargo, como GRUB 2 no se ha publicado an de manera oficial, Ubuntu est Figura 1: En primer lugar, parecen existir pequeos cambios utilizando una versin beta. entre Legacy GRUB y GRUB 2. Sin embargo, las aparien- sta podra diferir de la vercias engaan. sin final, y parece necesitar a manera en la que arrancamos nuestro ordenador est a punto de cambiar. Tras ms de una dcada, el cargador de arranque GRUB (Figura 1), el cual nos permite seleccionar el sistema operativo o el kernel que se va a ejecutar en nuestro ordenador, est a punto de ser sustituido por su sucesor, GRUB 2 [1]. Encontraremos que nos cuesta acostumbrarnos un poco a los cambios especialmente si preferimos configurar a mano nuestro sistema..

que se resuelvan algunos problemas para que funcione bien al cien por cien, as que parte de lo que escribo aqu podra ser slo relevante a Ubuntu 9.10. Los mayores desafos de GRUB 2 son todos aquellos en los que difiere de Legacy GRUB. GRUB 2 no es slo una reescritura completa de Legacy GRUB, sino tambin un re-anlisis completo de l. Conceptos tales como el intermediate Stage 1.5 de Legacy GRUB han desaparecido totalmente, y algunas operaciones, como aadir una splash al men de arranque, han llegado a ser mucho ms fciles e incluyen ms opciones. Adems, notaremos cambios en el comportamiento durante el arranque. Para presentar el men de arranque, ya no pulsamos la tecla Esc. En su lugar pulsamos Shift. No mostrar ningn men si slo hay configurada una opcin. En gran medida, Legacy GRUB fue diseado para ser configurado en un editor de texto, pero el nfasis en GRUB 2 se encuentra en el uso de scripts para su configuracin. Podemos editarlo

84

Nmero 63

WWW.LINUX- MAGAZINE.ES

Lnea de Comandos: GRUB 2 LINUX USER

mediante un editor de texto. Una tercera opcin es editar /boot/grub/ grub.cfg, el sustituto de GRUB 2 Figura 2: Con GRUB 2 ejecutaremos update-grub muchas para menu.lst. Tcveces. De hecho, cada vez que editamos un fichero o un nicamente, grub.cfg script. no debe ser editado. manualmente, pero la arquitectura de De hecho, en Ubuntu 9.10, GRUB 2 nos disuade de hacerlo. la primera lnea en el fichero Figura 3: Configuracin del comportamiento general de grub.cfg advierte DO NOT GRUB 2 desde /etc/default/grub. Edicin Bsica EDIT THIS FILE. Sin embargo, y particiones estamos tratando antes de Si deseamos, podemos permitir que en la prctica, este aviso pretende concomenzar a editarlos (vase la Tabla 1). GRUB configure las opciones de arranducirnos hacia /etc/default/grub o /etc/ que automticamente. Siempre que insgrub.d y no es una prohibicin tajante de Edicin del talemos otro sistema operativo o aadalo que debemos hacer. Comportamiento General de mos un kernel sin hacerlo a travs de En la prctica, podemos editar GRUB 2 nuestro sistema de paquetes de distribugrub.cfg, aunque, como con cualquier En GRUB 2, el fichero /etc/default/grub cin, podemos ejecutar update-grub (o fichero de configuracin, primero debeestablece el comportamiento del men en algunas versiones de desarrollo de mos hacer una copia de seguridad en de arranque (Figura 3). Comienza con Ubuntu ms tempranas, update-grub2). caso de que cometamos errores. Tamcampos para configurar la parte ms El script llamar a grub-mkconfig para bin necesitaremos cambiar los permigeneral del comportamiento. La eleccin escribir los cambios a grub.cfg. Este paso sos en grub.cfg de manera que podamos por defecto puede establecerse con extra no debera ser necesario cuando editarlo. Cuando finalizamos nuestra GRUB_DEFAULT, usando 0 (cero) para aadimos otro kernel porque los scripts edicin ejecutando update-grub, los perarrancar la primera entrada en grub.cfg o de paquetes ejecutarn update-grub misos en el fichero se resetearn auto1 para la segunda entrada. Alternativaautomticamente. mticamente. mente, podemos utilizar el valor de Desafortunadamente, la salida de Un Cambio de Nombres saved para arrancar desde el ltimo eleupdate-grub muestra slo los elementos Indiferentemente de los ficheros que edimento de men que inici el ordenador arrancables que tiene localizados (Figura tamos manualmente, debemos ser consexitosamente la ltima vez que arranca2) y no otros scripts que han sido aadicientes de los cambios a las convenciomos o una entrada entre comillas del dos o editados. Existe exclusivamente nes del nombrado de particiones. Al men listado en grub.cfg (vase ms para el propsito de actualizar grub.cfg, igual que en Legacy GRUB, no existe abjo) por ejemplo, Ubuntu, Linux el fichero de configuracin principal. ninguna distincin entre las particiones 2.6.31-17-generic en mi instalacin de Por lo dems, por lo que he podido primarias y lgicas. Pero, recuerda Karmic. comprobar, ejecutar update-grub es fiacmo, en Legacy GRUB, la primera partiEl campo GRUB_TIMEOUT establece ble y riguroso. Sin embargo, si nos topacin del primer disco duro se designaba el nmero de segundos que espera el mos con problemas o simplemente prefecomo (hda0,0)? Ahora, en GRUB 2, al men de arranque si existe ms de un rimos una administracin manual, seguimismo disco duro se le refiere como sistema operativo listado (GRUB 2 puede mos pudiendo editar los ficheros de (hda0,1). En otras palabras, los discos determinar si un sistema operativo tiene configuracin y ejecutar luego continan etiquetndose contando ms de un kernel gracias al campo update-grub para registrar nuestros camdesde 0, pero las particiones se cuentan GRUB_DISTRIBUTOR, el cual crea una bios. desde 1. convencin para el nombrado de kernels En Legacy GRUB, tanto el comportaEste cambio hace que GRUB 2 sea instalados mediante el sistema de admimiento general como las configuraciones incluso ms confuso que Legacy GRUB. nistracin de paquetes). para sistemas operativos y kernels se lisDe modo que, ahora ms que nunca, Sin embargo, en un sistema con un taban en el fichero /boot/grub/menu.lst, tenemos que tener claro con qu discos nico sistema operativo, tambin podeen GRUB 2, sin embargo, el comportamiento general se configura en el fichero /etc/default/grub. Tabla 1: Anotaciones de Discos Los Helper scripts, tal y como se GNU/Linux GRUB GRUB 2 Windows describen en la documentacin inclu1er. disco duro, 1 particin /dev/sda1 (hd0,0) (hd0,1) C yendo opciones de arranque personaliza1er. disco duro, 2 particin /dev/sda2 (hd0,1) (hd0,2) D bles se guardan en la carpeta /etc/ 1er. disco duro, 1 particin extendida /dev/sda5 (hd0,3) (hd0,4) Varias grub.d. Para editar cualquiera de los 2 disco duro, 1 particin /dev/sdb1 (hd1,0) (hd1,1) Varias scripts mencionados, lo hacemos

WWW.LINUX- MAGAZINE.ES

Nmero 63

85

LINUX USER Lnea de Comandos: GRUB 2

mos configurar el nmero de segundos antes de que aparezca el men utilizando GRUB_HIDDEN_TIME-OUT. Por defecto, Ubuntu establece este valor a 0, lo que significa que habitualmente el men no aparece en absoluto. Podemos deshabilitar esta demora aadiendo una # al comienzo de la lnea. Alternativamente, podemos completar el campo con otro valor. Durante el tiempo que describe ese valor, se mostrar una imagen de presentacin (splash) al inicio que hayamos aadido. Para crear este intervalo sin un contador regresivo, establecemos el campo GRUB_HIDDEN_TIMEOUT_QUIET a True. Para mostrar un contador, lo ponemos como False. Si queremos aadir opciones del kernel a una entrada necesitamos GRUB_CMDLINE_LINUX= en /etc/ default/grub. En Ubuntu, el campo GRUB_CMDLINE_LINUX_DEFAULT est establecido como quiet splash, aunque podemos dejar este valor en blanco para ver una pantalla que muestra el proceso de arranque, o podemos configurarlo como splash para ver la pantalla de inicio en un resumen de acciones. Adicionalmente, GRUB_CMDLINE_LINUX_DEFAULT es el lugar para aadir opciones, tales como acpi=off. La mayora de lo que queda de /etc/ default/grub consta de campos que

Tabla 2:
Prefijo 00_ 05_ 10_ 20_ 30_ 40_

estn comentados con una marca almohadilla (#) al inicio del fichero y pueden Figura 4: Ubuntu 9.10, la primera versin de una distribucin mayohabilitarse elimi- ritaria que incluye GRUB 2, viene con una variedad de scripts que nando dichas almo- podemos modificar segn nuestros propsitos. hadillas. Una de estas scripts disponen de una convencin de opciones ms tiles es nombres especfica, la cual determina el GRUB_GFXMODE, con la que podemos orden en el que se ejecutan (Tabla 2). configurar la resolucin del men a cualProbablemente los usuarios ms avanzaquiera de nuestros soportes de tarjetas dos deseen escribir los suyos propios, los de vdeo. Si no estamos seguros de qu cuales pueden modificar para sus propresoluciones soporta nuestra tarjeta, sitos personales (recuerde realizar una introducimos c en nuestra lnea de copia de seguridad primero). comandos GRUB cuando arrancamos y Un modo de editar estos scripts es escribimos vbeinfo para ver una lista de cambiando los colores utilizados en el resoluciones disponibles. Si deseramos men. Abrimos /etc/grub.d/ evitar que se muestren kernels mono05_debian_theme y buscamos las lneas: usuario en la presentacin en el men, podemos utilizar set menu_color_normal=U GRUB_DISABLE_LINUX_RECOVERY white/black =true. De modo similar, podemos desset menu_color_highlight=U habilitar el sondeo para otros sistemas black/white operativos con GRUB_DISABLE_OS _PROBER=true. Los valores de los colores en primer Despus de haber realizado todas las plano del texto se listan primero, modificaciones en /etc/default/grub, no seguido por el color de fondo. Sustituidebemos olvidar ejecutar update-grub mos los valores existentes con los colopara que tengan efecto la prxima vez res que deseamos. Si no estamos seguros que iniciemos el sistema. de qu colores utilizar, los listados en el Edicin con Scripts manual de Legacy GRUB deberan ir bien El comportamiento de GRUB 2 tambin [4]. est afectado por cualquier script en el Otra manera de editar directorio /etc/grub.d (Figura 4). Estos 05_debian_theme es configurando una pantalla de inicio que aparezca detrs del men, para una distribucin comerConvenciones de Nombrado de Scripts cial o bien para personalizar nuestra insTipo de Script talacin. Tras crear una pantalla de iniReservado para cabeceras cio compatible con GRUB 2 y nuestro Establece los colores fondo y primer plano de texto y temas ordenador [5], copiamos la imagen a Busca kernels nativos; Ubuntu 9.10 se subdivide en los kernels Hurd y Linux /boot/grub/ o a /usr/share/images/desEjecuta aplicaciones de terceros, tales como memtest86+ ktop-base. Luego abrimos el script /etc/ Busca sistemas operativos y otras particiones grub.d/05_debian_theme y buscamos la Personaliza entradas de men lnea:
for i in U {/boot/grub,/usr/share/U images/desktop-base}U /moreblue-orbit-grub.U {png,tga};U do

Tabla 3: Entrada Minimal de GNU/Linux


Entrada menuentry Ubuntu 9.10 Default { Elemento Elemento que aparece en el men de arranque y mar cador para el inicio de la seccin Particin desde la que se arranca Ruta de bsqueda

set root=(hd0,1) search --no-floppy --fs-uuid --set 3d775613-5ac9-46b0-ffecb62ce0c3 linux /boot/vmlinuz-2.6.31-11-generic root=UUID=3d775613-5ac9-46b0ffecb62ce0c3 initrd /boot/initrd.img-2.6.31-11-generic }

Sistemas de ficheros temporal usado durante el arranque


Sistema de ficheros temporal usado durante el arranque Marcador de final de stanza

Sustituimos moreblue-orbit-grub.{png,tga} con el nombre de nuestra nueva imagen, y ya est. Sin embargo, el uso ms comn de estos scripts probablemente sea aadir

86

Nmero 63

WWW.LINUX- MAGAZINE.ES

Lnea de Comandos: GRUB 2 LINUX USER

Posiblemente tambin se encuentren disponibles otras opciones, pero, si este es el Figura 5: Ubuntu proporciona una plantilla de script vaca caso, no pudimos Figura 6: La lnea de comandos de GRUB 2 se parece a la en su mayor parte para entradas de men personaliza- encontrarlas. Sin de Legacy GRUB, aunque un examen ms profundo revela bles. embargo, estos muchos cambios. ejemplos, modificamuchos de los comandos utilizados en una entrada personal a grub.cfg, bien dos en nuestro ordenador, deberan funLegacy GRUB parecen haber desapareporque no se ha detectado un sistema cionar tanto como un script personal cido o han sido renombrados. Por operativo o un kernel, o bien porque los como si estamos editando directamente ejemplo, find parece haber sido sustiusuarios desean afinar sus opciones. El grub.cfg. Una vez que hemos creado las tuido por locate. GRUB 2 tambin script 40_custom de Ubuntu proporciona entradas personales, debemos asegurarposee muchos comandos nuevos pero la estructura bsica para aadir entradas, nos de que el script es ejecutable ejecuno documentados, as como algunas adems de los comentarios para ayudartando el comando chmod +x ausencias molestas, incluyendo less, nos a usarlas (Figura 5). /etc/grub.d/ <nombrefichero>. A conticuya carencia significa que la ayuda y La manera ms fcil de crear una nuacin ejecutamos update-grub para muchos de los ficheros de GRUB 2 se nueva entrada es copiar una existente de hacer que GRUB 2 se entere del nuevo desplazan demasiado rpido para grub.cfg y modificarla. Para ser utilizascript. poder leerlos. ble, cada entrada debe comenzar con Resolucin de Problemas en Si nos topamos con problemas, debeuna lnea para menuentry y { (una llave la Lnea de Comandos ramos usar la lnea de comandos de abierta) y acabar con } (una llave En Legacy GRUB, podemos comenzar GRUB 2 para ayudarnos a encontrar el cerrada) en una lnea separada. Como una lnea de comandos en un terminal camino en un sistema daado. En parocurre con Legacy GRUB, el resto de las virtual o abrir uno pulsando c en el ticular, podemos localizar un kernel configuraciones se encuentran contenimen de arranque. Manteniendo el arrancable utilizando set y luego espedas en un apartado o grupo de opciones nfasis en los scripts, GRUB 2 ha elimicificar las configuraciones para arrany dependen del tipo de sistema operativo nado la lnea de comandos en el escricarlo de uno en uno. Pero, en esta que est cargndose. Los requerimientos torio al menos en Ubuntu 9.10 etapa, las ventajas de la lnea de mnimos son en su mayor parte similares (Figura 6). An podemos abrir un tercomandos de GRUB 2 con la de Legacy a los de Legacy GRUB, pero sus nombres minal en el men de arranque, aunque GRUB son difciles de ver. estn cambiados (Tablas 3-5). En muchos casos, nuestra mejor Tabla 4: Entrada Mnima de opcin al utilizar la lnea de comandos de GRUB es recorrer el alfabeto con el CD de Rescate GNU/Linux sistema de autocompletado del tabulaEntrada Elemento dor para ver la lista de comandos dismenuentry System Rescue CD { Elemento que aparece en el men de arranque y mar ponibles. Pero este proceso es tan cador para el inicio dela seccin set root=(hd0,3) Particin desde la que se arranca pesado que, sospecho que, por ahora, linux #sysrcd/rescuecd subdir=sysrcd Localizacin de la imagen del CD de rescate muchos usuarios lo evitarn a menos /setkmap=us Localizacin de la imagen del CD de rescate que sea estrictamente necesario. I
initrd/sysrcd/initram.igz }
Localizacin del sistema de ficheros temporal usado durante el arranque Marcador de final de la seccin

RECURSOS
[1] GNU GRUB: software/grub

http://www.gnu.org/

Tabla 5: Entrada Mnima para Windows


Entrada Elemento

menuentry Windows XP insmod chain insmod ntfs search --fs-uuid --set 3d775613-5ac9-46b0-ffecb62ce0c3 chainloader +1 }

{ Elemento que aparece en el men de arranque y marcador para el inicio de la seccin Opcin del kernel cargable para arrancar otro sistema operativo Opcin del kernel cargable para lectura del sis tema de ficheros Windows Trayectoria de bsqueda Comando que pasa el proceso de arranque al cargador Windows Marca final de la seccin

[2] Wiki de GRUB 2: http://grub.enbug. org/ Manual#head-21f23e1d0efb30d818a9 f54c4c9f796d6ebc8787 [3] Bsicos de GRUB 2 de Ubuntu: http:// ubuntuforums.org/showthread. php?t=1195275 [4] Colores de men de Legacy GRUB: http://www.gnu.org/software/grub/ manual/html_node/color.html [5] Aadir una imagen de inicio: http:// members.iinet.net/~herman546/p20/ GRUB2%20Splashimages. html#make_your-own

WWW.LINUX- MAGAZINE.ES

Nmero 63

87

S-ar putea să vă placă și