Mostrando entradas con la etiqueta Grub. Mostrar todas las entradas
Mostrando entradas con la etiqueta Grub. Mostrar todas las entradas

martes, 3 de junio de 2014

Poner o cambiar contraseña al Grub2

Vamos a ver como se puede poner una contraseña al Grub2, sino tiene contraseña cualquiera puede editar el menú del gestor de arranque y puede cambiar los parámetros adicionales del arranque al kernel y así poder cambiar el nivel de arranque o aun peor, cambiar la contraseña de root.

Protección con contraseña 

Para proteger el grub2 se debe asignar un usuario que sea superusuario (puede ser el root u otro cualquiera) y una contraseña, (para mayor seguridad que  este cifrada, para hacer esto lo haremos con el comando del grub grub-mkpasswd-pbkdf2

root@wheezy-workstation:~# grub-mkpasswd-pbkdf2
Enter password:
Reenter password:
Your PBKDF2 is grub.pbkdf2.sha512.10000.717960070319D229A18981E6AC09189EF480656FE81AA5CC2E8DB34F9298BA3BE79686BFF2E5675446C28D03120E4001902A97F7F11DA4BA26B437CDBE844806.5DEC0FA898DCACEB05C8BA5CF1D4E88C2BEA5834934F5BFBA58255C5F02BE1EE4F8402A885DD76F8674FE23EBF8D37B72873FA28797E41EFE5EF61412D003E75  Una vez generado el la contraseña la tenemos que poner el fichero de configuración del grub2, para que si se actualiza el grub que conserve dicha contraseña,  para ello crearemos un nuevo fichero llamado /etc/grub/01_passwd con las siguientes lineas:

#/bin/bash
cat <<EOF
set superusers="root" 
password_pbkdf2 root grub.pbkdf2.sha512.10000.717960070319D229A18981E6AC09189E
F480656FE81AA5CC2E8DB34F9298BA3BE79686BFF2E5675446C28
D03120E4001902A97F7F11DA4BA26B437CDBE844806.5DEC0FA89
8DCACEB05C8BA5CF1D4E88C2BEA5834934F5BFBA58255C5F02B
E1EE4F8402A885DD76F8674FE23EBF8D37B72873FA28797E41EFE
5EF61412D003E75
EOF

Le damos permiso de ejecución chmod +x /etc/grub/01_passwd 
 
En este caso, el super usuario es root, (pero podría ser otro cualquiera), y la contraseña es el es que se generó anteriormente. Después de editar este archivo se deben aplicar los cambios usando la siguiente orden:

update-grub2


Ahora tu gestor de arranque con Grub 2 está protegido con contraseña!

viernes, 11 de noviembre de 2011

Como Poner Windows en el Grub2

Con el GRUB2 la forma de configurarlo cambia significativamente ya que para empezar no se utiliza el fichero menu.lst...

Para añadir una entrada de un sistema operativo en GRUB2 ahora hay que crear un fichero script en el directorio /etc/grub.d.

Por ejemplo, partiendo de que GRUB ya te detecte Debian y lo que quieres es que te detecte Windows 7 o Windows XP lo que se supone que debes hacer es, como superusuario, debes crear un fichero (script) con la entrada que se necesita en el grub (es muy parecido a lo que poníamos en el menu.lst)

Crear un fichero de texto en /etc/grub.d/ lo llamaremos 11_Windows_(version)

nano /etc/grub.d/11_windows_xp 

En el debe de contener estas lineas

#! /bin/sh -e

cat << EOF
menuentry "Windows 7" {
insmod ntfs 
set root=(hd0,3)
chainloader +1
}
EOF
Siendo ahora el hd0,X el numero de la partición donde esta instalado el windows o los windows. Antes en el Grub (versión 1) las particiones empezaban por el 0 pero ahora con el cambio al grub2 la particiones empiezan por el 1 para no equivocarnos Le damos permiso de ejecución al fichero que hemos creado
chmod +x /etc/grub.d/11_windows_xp
Y actualizamos el grub2 para que surge efecto
update-grub 

viernes, 27 de mayo de 2011

Recuperar Grub

Uno de los problemas que nos podemos encontrar cuando instalamos otro sistema operativo en nuestro PC, es perder el gestor de arranque de los sistemas operativos, es muy común cuando tenemos una instalación  Linux e instalamos un Windows u otro Linux podemos perder el arranque de alguno de ellos, y eso es porque se escribe en el MBR (Master Boot Record) es reescrito por el del último sistema instalado, borrándonos el GRUB, gestor de arranque que utiliza las distribuciones Linux.
Vamos a ver como resolver este problema recuperando el GRUB en sus dos versiones. Para las 2 versiones siempre necesitaremos un CD Live de arranque con un sistema Linux, (ya sea SystemRescueCD, Ubuntu, u otro que tenga capacidad de arranque desde el cd rom u usb, sin depender del disco duro).

Grub2 (para las versiones más modernas)
Lo primero que debemos hacer es arrancar el live-cd o usb y abrir una terminal.
Necesitamos saber cuales son nuestros discos duros, para ellos teclearemos desde la consola en modo root o superusuario:

root@gallardo:/tmp# fdisk -l
Disco /dev/sda: 80.0 GB, 80025280000 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbd12bd12

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1               1        4863    39062016   83  Linux
/dev/sda2            4864        5045     1461915   82  Linux swap / Solaris
/dev/sda3            5046        9729    37624230   83  Linux

Disco /dev/sdb: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcb11cb11

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sdb1   *           1        2310    18555043+  83  Linux
/dev/sdb2            2311        2 

Deberemos saber cual es la partición donde esta nuestro sistema Linux a recuperar. En este caso teníamos ya instalado un sistema Linux en sda y hemos instalado otro en sdb, pero en la instalación este ultimo lo hemos perdido y por lo que el que vamos a recuperar es el sdb que tiene el Grub2 y el sda tiene el Grub que lo veremos más adelante.
Por lo que tenemos que montar la partición sdb1 que es el que tiene el sistema, porque podemos saber que esta la partición, porque es el que tiene el sistema de archivos Linux  (Id=83), necesitamos montarlo.

# Creamos el punto de montaje
# mkdir /mnt/linux
# mount /dev/sdb1 /mnt/linux

Vamos a montar una serie de dispositivos por si nos hicieran falta esto es si os dice sobre todo que el /dev no esta montado, como me paso en mi caso.
#mount --bind /dev /mnt/linux/dev
#mount --bind /dev/pts  /mnt/linux/dev/pts
#mount --bind /proc /mnt/linux/proc
#mount --bind /sys  /mnt/linux/sys
Ahora ya podemos restaurar el GRUB.
Para acceder al sistema montado necesitamos hacer un chroot, ahí veces que le tenemos que decir con que interprete de comando necesitamos acceder, por lo que teclearemos

#chroot /mnt/linux /bin/bash

Ahora ya podremos reinstalar el grub y actualizarlo

# grub-install --recheck /dev/sda 
# update-grub2
si da fallo
# apt-get -f install grub2 

Con esto ya tendrías el grub2 recuperado

Grub1
Lo podemos hacer igual que en el caso anterior o también lo podemos hacer justo al arrancar, una vez que estamos en grub.

Mediante el intérprete de comandos GRUB
Opción 1
Ejecutamos los siguientes comandos:
    # Ejecutamos el interprete de comandos del GRUB
    $ grub
    # Indicamos dónde se encuentra la partición de Ubuntu
    > root (hdX,Y)
    #Instalamos GRUB en ese disco
    > setup (hdX)
    # Salimos del intérprete de comandos de GRUB
    > quit

    Donde X es el número de disco rígido, y Y es el número de partición. Este sistema difiere un poco del usado para montar las particiones en GNU/Linux; ambos son un único número decimal y comienzan en 0; por ejemplo:
    • hd0: es el primero disco duro completo, al igual que hda o sda
    • hd0,0: es la primera partición del primer disco duro, al igual que hda1 o sda1
    • hd0,1: es la segunda partición del primer disco duro, al igual que hda2 o sda2
    • hd1,2: es la tercera partición del segundo disco duro, al igual que hdb3 o sdb3
    El primer disco duro del GRUB es el primer disco duro maestro, el segundo es el primer disco duro esclavo, el tercero es el segundo disco duro maestro, y así sucesivamente.

    Opción 2
    Desde una consola ejecutamos los siguientes comandos:
    # Ejecutamos el intérprete de comandos de GRUB
    $ grub# Busca dónde está la partición de Ubuntu
    > find /boot/grub/stage1
    # Poner el valor devuelto por el paso anterior
    > root (hdX,Y)
    # Instalar GURB en el primer disco duro
    > setup (hd0)
    # Salir del intérprete de comandos de GRUB
    > quit
    Una vez que hemos terminado para salir del chroot ejecutaremos
    exit 
    y para desmontar todas las unidades que hemos montado manualmente ejecutaremos el umount y para no tener que ir una a una le damos la opción de -a
    umount -a
    Espero con estas indicaciones os saque de un apuro.

    miércoles, 25 de mayo de 2011

    Acceder al sistema linux como root sin contraseña

    Lo que voy a explicar es como entrar en el sistema Linux, desde el arranque de la computadora como root y sin contraseña, el sistema lo arrancaremos en modo de administrador, por lo que no tendremos varias fucionalidades, como el acceso a la red, modo multiusuario y demás, pero lo queremos para hacer cosas de administración.
    En el arranque cuando aparece el grub, pulsaremos la letra "e" para poder editar el grub y poder modificar la linea de arranque.
    Lo que necesitamos es borrar todo lo que aparezca detrás de "ro" en la linea que empieza por linux y poner la palabra single por lo que quedaría más o menos de esta forma.

    linux /vmlinux-2.6.30-2-386 root=/dev/sda2 ro single
    y lugo pulsamos ctrl-x o pulsamos la letra b según tengamos el grub2 o grub

    Si de esta forma no accedemos sin contraseña y aun nos la pide, también podemos probar con esta otra forma, poniendo el rw en vez de ro para que monte el sistema en modo de escritura y poniendo también el interprete de comando, de esta forma si acedemos como root sin contraseña

    linux /vmlinux-2.6.30-2-386 root=/dev/sda2 single rw init=/bin/bash 

    Esto solo afecta al arranque que estamos haciendo, no se almacenara nada en la configuración del grub