domingo, 15 de mayo de 2016

Recuperar Grub2 de Ubuntu 16.04 LTS



Recuperar Grub2 de Ubuntu 16.04 LTS y Poner Grub2 de Ubuntu 16.04 LTS en Disco externo



NOTA: leer todo antes de realizar alguna modificación de la que nos podamos arrepentir


Iniciamos nuestro ordenador desde el LiveDVD o LiveUSB de Ubuntu, (en este caso LiveUSB) eligiendo la opción del idioma y pulsando en el botón:


Probar Ubuntu


1 - Ver Discos y particiones con el comando fdisk




Abrimos Terminal (Abrir Terminal presionando Ctrl + Alt + T del teclado), para ver nuestras particiones escribimos el siguiente comando:
sudo fdisk -l

sudo fdisk -l


sudo fdisk -l particiones



sudo fdisk -l particiones disco sda


sudo fdisk -l particiones USB sdb


sudo fdisk -l particiones sdc



Nos saldrá algo parecido a esto:
usuario@Ubuntu16:~$ sudo fdisk -l
[sudo] password for usuario: 
Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram1: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram2: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram3: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram4: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram5: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram6: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram7: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram8: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram9: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram10: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram11: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram12: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram13: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram14: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram15: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/loop0: 1,8 GiB, 1952407552 bytes, 3813296 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes




Disk /dev/sda: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb3937725

Disposit.  Inicio     Start     Final  Sectores   Size Id Tipo
/dev/sda1  *      306581504 312580095   5998592   2,9G 82 Linux swap / Solaris
/dev/sda2              2048   2131967   2129920     1G 83 Linux
/dev/sda3           2134014 266579927 264445914 126,1G  5 Extendida
/dev/sda4         266579968 306581503  40001536  19,1G 83 Linux
/dev/sda5           2134016 181489663 179355648  85,5G  7 HPFS/NTFS/exFAT
/dev/sda6         181491712 224036633  42544922  20,3G 83 Linux
/dev/sda7         224038912 266579927  42541016  20,3G 83 Linux

Partition table entries are not in disk order.


Disk /dev/sdb: 29,8 GiB, 32015679488 bytes, 62530624 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe46b6382

Disposit.  Inicio Start    Final Sectores  Size Id Tipo
/dev/sdb1  *       2048 62530623 62528576 29,8G  c W95 FAT32 (LBA)


Disk /dev/sdc: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0xbf766238

Disposit.  Inicio     Start     Final  Sectores  Size Id Tipo
/dev/sdc1  *           2048    718847    716800  350M  7 HPFS/NTFS/exFAT
/dev/sdc2            718848  62633983  61915136 29,5G  7 HPFS/NTFS/exFAT
/dev/sdc3          62633984 107778047  45144064 21,5G  7 HPFS/NTFS/exFAT
/dev/sdc4         107782142 312580139 204797998 97,7G  5 Extendida
/dev/sdc5         107782144 113926143   6144000    3G 82 Linux swap / Solaris
/dev/sdc6         113928192 134898895  20970704   10G 83 Linux
/dev/sdc7         156047360 181094399  25047040   12G 83 Linux
/dev/sdc8         181096448 206079999  24983552 11,9G 83 Linux
/dev/sdc9         206082048 231217151  25135104   12G 83 Linux
/dev/sdc10        231219200 255139121  23919922 11,4G 83 Linux
/dev/sdc11        255141888 277669887  22528000 10,8G 83 Linux
/dev/sdc12        277671936 312580139  34908204 16,7G 83 Linux
usuario@Ubuntu16:~$  



El comando sudo fdisk -l Se utiliza para obtener la información de nuestras particiones. En la columna Dispositivo tenemos cada una de las particiones del Disco Duro, y en la columna Tipo tenemos el tipo de sistema que utiliza cada una de las particiones



Nos aparecerán todos los Discos físicos y particiones que tengamos en nuestro equipo. Los Discos que nos aparecen son:


Disk /dev/sda con un tamaño de: 149,1 GiB

Disk /dev/sdb con un tamaño de: 29,8 GiB

Disk /dev/sdc con un tamaño de: 149,1 GiB



Todos los demás que contienen un número son particiones que corresponden a su Disco, como por ejemplo:

sdc6 con un tamaño de:  10G


Para saber cual es la partición donde esta instalado nuestro Ubuntu miramos en la columna Tipo donde pone:

83 Linux
Si solo tenemos un Ubuntu instalado, sabremos enseguida cual es, pero si tenemos varios sistemas Linux instalados, se hace mas complicado saber cual es nuestro Ubuntu, en ese caso lo mejor es guiarnos por los tamaños de las particiones, si es posible desde el administrador de Archivos "Nautilus" montar las particiones y ver el contenido de cada una de ellas para estar totalmente seguros

__________




2 - Ver Discos y particiones con el comando blkid



También podemos utilizar el siguiente comando para ayudarnos a localizar la partición adecuada, especialmente si las particiones están etiquetadas (lo hemos tenido que hacer anteriormente)

Para ver nuestras particiones escribimos en Terminal (Abrir Terminal presionando Ctrl + Alt + T del teclado) el siguiente comando:

sudo blkid

sudo blkid



sudo blkid particiones



sudo blkid particiones etiquetadas




Nos saldrá algo parecido a esto:
usuario@Ubuntu16:~$ sudo blkid
[sudo] password for usuario: 
/dev/sda2: LABEL="compartido 1GB" UUID="e9377b77-e0ed-43af-9b3a-00d594f09ddb" TYPE="ext4" PARTUUID="b3937725-02"
/dev/sda4: LABEL="Ubuntu16.04-64" UUID="ee586736-e8c0-4aeb-ad91-a45245c6e77d" TYPE="ext4" PARTUUID="b3937725-04"
/dev/sda5: LABEL="Disco Almacen" UUID="785389A93DD27C75" TYPE="ntfs" PARTUUID="b3937725-05"
/dev/sda6: LABEL="Trasuntu16.04-32" UUID="503ea303-2d03-4a5b-a2d9-799a4927644a" TYPE="ext4" PARTUUID="b3937725-06"
/dev/sda7: LABEL="Trasuntu16.04-64" UUID="977db785-8047-48b8-acec-91f8c4ce301b" TYPE="ext4" PARTUUID="b3937725-07"
/dev/sdb1: LABEL="MULTISYSTEM" UUID="74AE-DB6E" TYPE="vfat" PARTUUID="e46b6382-01"
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="8aaefe2d-3c58-4ad4-8640-0a4fa80ace72" TYPE="swap" PARTUUID="b3937725-01"
/dev/sdc1: LABEL="Reservado para el sistema" UUID="D2B61E54B61E3A05" TYPE="ntfs" PARTUUID="bf766238-01"
/dev/sdc2: LABEL="Windows 10" UUID="B64475A344756751" TYPE="ntfs" PARTUUID="bf766238-02"
/dev/sdc3: LABEL="Disco Datos" UUID="2A0C788D0C785633" TYPE="ntfs" PARTUUID="bf766238-03"
/dev/sdc5: UUID="b9ad8a36-aa2f-4d37-8898-40e0d4316aaf" TYPE="swap" PARTUUID="bf766238-05"
/dev/sdc6: LABEL="Ubuntu16.04-64" UUID="02734f2f-7009-44e7-8623-f80f7cf7a7e5" TYPE="ext4" PARTUUID="bf766238-06"
/dev/sdc7: LABEL="Lubuntu 14.04" UUID="74b81c1c-a3fb-4058-8938-a9fb33cdfa67" TYPE="ext4" PARTUUID="bf766238-07"
/dev/sdc8: LABEL="Xubuntu14.04" UUID="954d2f3f-fb8f-49d7-b24f-34b5bda76a03" TYPE="ext4" PARTUUID="bf766238-08"
/dev/sdc9: LABEL="Debian 8" UUID="2ba98920-6a7e-4b4c-b9fe-5f8a9ce8e7ee" TYPE="ext4" PARTUUID="bf766238-09"
/dev/sdc10: LABEL="Ubuntu 16.04" UUID="fcb8c5f2-be6a-4fcf-991e-833d3867296a" TYPE="ext4" PARTUUID="bf766238-0a"
/dev/sdc11: LABEL="Ubuntu Mate14.04" UUID="0b0d3a56-8657-4b15-9de1-5836fb3e6752" TYPE="ext4" PARTUUID="bf766238-0b"
/dev/sdc12: LABEL="Trasuntu16.04-32" UUID="0609f214-7e36-4d6c-8431-6b2dc8c9f538" TYPE="ext4" PARTUUID="bf766238-0c"
usuario@Ubuntu16:~$ 



El comando sudo blkid Se utiliza para obtener la información de los Discos físicos y particiones que tengamos, o estén conectados en nuestro equipo . Si las particiones están etiquetadas, (lo hemos tenido que hacer anteriormente, se hace con Gparted) veremos el nombre de las particiones



Con el comando blkid podemos ver donde se encuentra la partición de Ubuntu 16.04-64 (en este caso)

/dev/sdc6


__________



3 - Ver Discos y particiones con el Editor de particiones GParted




GParted es un editor de particiones gratuito para gestionar gráficamente las particiones del disco
Con GParted se puede cambiar el tamaño, crear, eliminar, etiquetar, copiar, mover particiones sin pérdida de datos y crear un espacio para nuevos sistemas operativos


Si queremos abrir Editor de particiones GParted buscaremos la aplicación en el tablero con el icono:

Editor de particiones GParted



Una vez abierto Gparted, en la parte superior derecha tenemos un desplegable donde podemos ver cada uno de los Discos físicos que tengamos, o estén conectados en nuestro equipo, así mismo, cada Disco seleccionado nos aporta las particiones que le corresponden



Los Discos que nos aparecen son:


Disk /dev/sda como Disco Interno y sus particiones, con un tamaño de: 149,1 GiB

Disk /dev/sdb como LiveUSB con un tamaño de: 29,8 GiB

Disk /dev/sdc como Disco Externo y sus particiones, con un tamaño de: 149,1 GiB



En Disk /dev/sdb cabe destacar el Punto de montaje que en los demás Discos no aparece, siendo:

/cdrom


Además del tamaño, es un indicativo de que es un LiveUSB, dato a tener en cuenta antes de realizar alguna modificación en las particiones de los Discos




GParted sda



GParted sdb



GParted sdc


__________



4 - Recuperar Grub2 de Ubuntu 16.04 LTS



Para recuperar el Grub desde un LiveUSB tenemos que montar la partición donde se encuentra nuestro Ubuntu, como norma general suele estar instalado en un Disco Interno del equipo, normalmente sda

En este caso la recuperación la vamos a realizar en un Disco Externo sdc

Si la recuperación la realizamos en otro Disco, cambiaríamos la letra del Disco y su número de partición, ejemplo:
sda6




Procedemos a montar la partición donde está instalado Ubuntu en Disco Externo, escribimos en Terminal (Abrir Terminal presionando Ctrl + Alt + T del teclado):
sudo mount /dev/sdc6 /mnt


sudo mount /dev/sdc6 /mnt





Teniendo montada la partición de Ubuntu, procedemos a instalar los archivos del cargador de arranque Grub, escribimos en Terminal:
sudo grub-install --root-directory=/mnt/ /dev/sdc


sudo grub-install --root-directory=/mnt/ /dev/sdc



sudo grub-install Ningun error encontrado




Nos saldrá algo parecido a esto:
usuario@Ubuntu16:~$ sudo grub-install --root-directory=/mnt/ /dev/sdc
[sudo] password for usuario:
Instalando para plataforma i386-pc.
Instalación terminada. Ningún error encontrado.
usuario@Ubuntu16:~$ 




Nota: sdc, lo debemos substituir por el Disco Duro que utilizamos para arrancar los sistemas operativos, ya que puede ser sda, sdb, sdc, no poner el número de partición, solo el Disco
Recordemos que este caso la recuperación la realizamos en un Disco Externo sdc

Si la recuperación la realizamos en otro Disco, cambiaríamos la letra del Disco, ejemplo:
sda



Repito a pesar de hacerme pesado, pero es Importantísimo tenerlo claro:
Ubuntu como norma general suele estar instalado en un Disco Interno del equipo, normalmente sda



Apagamos el equipo para desconectar el LiveUSB


__________




5 - Preparar Disco externo para Poner Grub2 en Ubuntu 16.04 LTS


Después de haber reiniciado el equipo y estando en nuestro Ubuntu del Disco externo

Para que no nos salgan errores de montaje de particiones, montamos las particiones que queremos que aparezcan en el Grub del Disco externo



Para montar las particiones del Disco externo (en este caso), nos vamos a la Carpeta personal, en la parte izquierda nos situamos en cada uno de los Discos a montar, pulsamos con el botón derecho o secundario del ratón, nos aparece un desplegable, y con el botón izquierdo o primario del ratón, pulsamos donde pone:
Montar



Carpeta personal particiones montadas




Comprobamos desde GParted que las particiones que hemos montado corresponden al Disco externo, en este caso sdb y no las del Disco interno sda


Los Discos que nos aparecen desde GParted son:


Disk /dev/sda como Disco Interno y sus particiones, con un tamaño de: 149,1 GiB

Disk /dev/sdb como Disco Externo y sus particiones, con un tamaño de: 149,1 GiB




GParted disco dev sda



GParted disco dev sdb



__________



6 - Poner Grub2 de Ubuntu 16.04 LTS en Disco externo



Ubuntu, como norma general suele estar instalado en un Disco Interno del equipo, normalmente sda

En este caso el Grub2 lo vamos a poner en un Disco Externo sdb


Ponemos los siguientes comandos en la Terminal (Abrir Terminal presionando Ctrl + Alt + T del teclado):

sudo grub-install /dev/sdb


sudo grub-install /dev/sdb



sudo grub-install /dev/sdb Ningun error encontrado





Nos saldrá algo parecido a esto:

usuario@Ubuntu16:~$ sudo grub-install /dev/sdb
[sudo] password for usuario: 
Instalando para plataforma i386-pc.
Instalación terminada. Ningún error encontrado.
usuario@Ubuntu16:~$ 



Nota: sdb, lo debemos substituir por el Disco Duro que utilizamos para arrancar los sistemas operativos, ya que puede ser sda, sdb, sdc, no poner el número de partición, solo el Disco


Recordemos que este caso el Grub2 lo vamos a poner en un Disco Externo sdb


Si el Grub2 lo fuésemos a poner en otro Disco, cambiaríamos la letra del Disco, ejemplo:
sda



Actualizamos el Grub desde Terminal con los comandos siguientes:

sudo update-grub2


sudo update-grub2



sudo update-grub2 particiones



Nos saldrá algo parecido a esto:

usuario@Ubuntu16:~$ sudo update-grub2
[sudo] password for usuario: 
Generando archivo de configuración grub...
Se encontró una imagen linux: /boot/vmlinuz-4.4.0-22-generic
Se encontró una imagen initrd: /boot/initrd.img-4.4.0-22-generic
Se encontró una imagen linux: /boot/vmlinuz-4.4.0-21-generic
Se encontró una imagen initrd: /boot/initrd.img-4.4.0-21-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Encontrado en Ubuntu 16.04 LTS (16.04) en /dev/sda4
Encontrado en Ubuntu 16.04 LTS (16.04) en /dev/sda6
Encontrado en Ubuntu 16.04 LTS (16.04) en /dev/sda7
Encontrado en Windows 10 (loader) en /dev/sdb1
Encontrado en Ubuntu Xenial Xerus (development branch) (16.04) en /dev/sdb10
Encontrado en Ubuntu 14.04.3 LTS (14.04) en /dev/sdb11
Encontrado en Ubuntu 16.04 LTS (16.04) en /dev/sdb12
Encontrado en Ubuntu 14.04.3 LTS (14.04) en /dev/sdb7
Encontrado en Ubuntu 14.04.3 LTS (14.04) en /dev/sdb8
Encontrado en Debian GNU/Linux (8.2) en /dev/sdb9
hecho
usuario@Ubuntu16:~$ 




Salimos de Terminal siempre con:
exit

exit




Ya tenemos recuperado el Grub2 y Grub2 de Ubuntu 16.04 LTS en Disco externo


________________________________