# SOLVED: Limpieza del MBR en GPT - Instalando Grub en UEFI

## Pipeng

Holis, bueno tengo mi equipo con particionado gpt, pero debido a que windows tiene escrito el codigo de arranque en particiones y en el disco no puedo iniciar linux, actualmente inicio desde usb

asi que alguien sabe como limpiar el mbr de las particiones y el disco sin eliminar las particiones?

Muchas Gracias.Last edited by Pipeng on Wed Sep 23, 2015 3:29 am; edited 1 time in total

----------

## esteban_conde

Seguramente puedas arrancar con un linux que contenga gparted, 1)achicar la partición W$ principal 2)crear una partición nueva en se espacio liberado 3) mover las particiones que detras de la creada para que se junten todas las de M$  4)utilizar como tu quieras el espacio creado 5)con grub creo que podrías modificar los sectores de arranque y obtener un arranque dual.

Así creo que lo híce en una ocasión. Tienes mucha información en google.

Si tienes un disco USB que te pueda contener todo lo que tiene el disco duro actual con "dd" puedes hacer copia tanto de los sectores de arranque como de las demás particiones ocultas que seguramente tu disco duro tendrá.

----------

## Pipeng

Holis, gracias por la respuesta, antes hice una pequea investigacion y el problema que encontre es que borrar el mbr tambien borra las particiones, pero ademas estoy en un sistema gpt asi que no estoy seguro de que dd funcione correctamente y podria dejarlo peor ...

----------

## esteban_conde

Arranca con el disco USB y ejecuta fdisk -l contra el disco duro y postea la respuesta.

----------

## Pipeng

Holis, probe lo que digiste de borrar la particion, solo que sin tocar el mbr, en gpt parece que la informacion mbr tambien se guarda en esa particion ya que ahora no tengo como bootear xD en cualquier caso ahora lo bueno es que no esta la informacion de windows en el inicio pero por alguna razon no puedo instalar grub... sobre grub lo pregunto aqui o abro un nuevo tema?

----------

## esteban_conde

Leete el primer post que escribí, no te digo que borres nada, te digo que si tienes un medio autoarrancable un lapiz-usb, un cdrom o dvd, a ser posible con gparted arranque con él y achiques la partición de windows muevas las particiones que queden a la derecha del espacio creado para deja detras del todo el espacio creado y en ese espacio puedes crear más particiones e instalar linux sin alterar los contenidos que tuvieras, esto te lo digo sin que me hayas dado la información que te pedí a saber "fdisk -l" o más especifico si tu disco duro es sda "fdisk -l /dev/sda" sin las comillas, no es un capricho es que windows tal como recuerdo viene con cuatro particiones tres de ellas ocultas de forma que si no sabes que existen ni te enteras.

Si despues de todo has logrado instalar gentoo en una partición y quieres hacerlo arrancable desde el disco duro instal grub2, luego comprueba los comandos disponibles con "ls -l /usr/sbin/*grub*" y si tienes grub2-install haces como root y sin comillas "grub2-install /dev/sda" luego "grub2-mkconfig -o /boot/grub/grub.cfg" y con eso deberias tener todo listo, si surgen problemas paciencia y vuelve a postear con los errores que obtengas.

----------

## Pipeng

Holis, parece que me exprese mal, no estoy intentado instalar gentoo, gentoo ya lo tengo instalado y funcionando, actualmente mi medio de arranque es un usb, el tema es limpiar el mbr de las particiones, ya que con GPT+UEFI este solo pilla la primera instalacion de mbr, y windows la tiene, por eso queria borrarla y poder instalar el mbr de gentoo, ya tengo una particion efi pero por mas que instalaba es boot solo encontraba windows, por eso la borrre y parece que limpio la informacion de arranque, aunque aun no logro instalar grub correctamente, este se instala y se generan los archivos pero no aparece en las opciones de booteo del pc.

fdisk -l /dev/sda

```
Disco /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectores

Unidades: sectores de 1 * 512 = 512 bytes

Tamaño de sector (lógico/físico): 512 bytes / 4096 bytes

Tamaño de E/S (mínimo/óptimo): 4096 bytes / 4096 bytes

Tipo de etiqueta de disco: gpt

Identificador del disco: 5877D2D0-C5BF-40E0-B8EA-A40174512029

Device          Start        End    Sectors   Size Type

/dev/sda1        2048     468991     466944   228M EFI System

/dev/sda3      468992  614402047  613933056 292,8G Microsoft basic data

/dev/sda4   737287110 1871604629 1134317520 540,9G Linux filesystem

/dev/sda5  1871605760 1912567807   40962048  19,5G Microsoft basic data

/dev/sda6  1912570380 1953520064   40949685  19,5G Linux swap

/dev/sda7   614402048  737286143  122884096  58,6G Linux filesystem

La partición 5 no empieza en el límite del sector físico.

La partición 7 no empieza en el límite del sector físico.

Las entradas de la tabla de particiones no están en el orden del disco.

```

sda1 > particino efi montado en /boot/efi

sda3 > particion windows ntfs (sistema)

sda4 > gentoo

sda5 > memoria virtual windows

sda6 > swap linux

sda7 > debian - respaldo

```
sudo grub2-install --efi-directory /boot/efi --boot-directory /boot --target x86_64-efi

Installing for x86_64-efi platform.

efibootmgr: EFI variables are not supported on this system.

efibootmgr: EFI variables are not supported on this system.

Instalación terminada. No se notificó ningún error.
```

respecto a la instalacion de grub cuando lo instala me dice sin errores pero no resulta, respecto a la el mensaje, las efivars por alguna razon no quieren funcionar, ya trate cargandolas de modulos, y estan añadidas al kernel, aun asi desconozco el problema.

Lamento los inconvenientes.

----------

## esteban_conde

¿Has echado un vistazo a este tuto https://wiki.gentoo.org/wiki/GRUB2/es ?.

Por otro lado despues de ejecutar grub2-install, mira a ver si te ha creado el directorio grub dentro de /boot/, algo así:  *Quote:*   

> esteban@localhost ~ $ ls /boot
> 
> boot --> este boot es el resultado de "ln -sf ." bastante útil por cierto ya que si busca boot desde dentro de boot esta es la solución. 
> 
> grub
> ...

 

si te lo ha instalado ejecuta grub2-install y postea el resultado de "cat /boot/grub/device.map".

----------

## Pipeng

Holis, segui la wiki de gentoo para instalarlo, respecto al archivo device.map no lo encuentro ya que la aplicaion que lo creaba paso a ser parte de grub2 por lo que lei, la opcion --recheck pero aun asi este no se me genera..

```
ls /boot 

efi

grub

initramfs-genkernel-x86_64-4.0.5-gentoo

initramfs-genkernel-x86_64-4.1.6-hardened

kernel-genkernel-x86_64-4.0.5-gentoo

kernel-genkernel-x86_64-4.1.6-hardened

System.map-genkernel-x86_64-4.0.5-gentoo

System.map-genkernel-x86_64-4.1.6-hardened
```

----------

## quilosaq

 *Pipeng wrote:*   

> efibootmgr: EFI variables are not supported on this system.

 Esto quiere decir que no se ha podido modificar la configuración del firmware UEFI para que ejecute grub en el proceso de arranque.

No estoy muy seguro pero creo que no estás arrancando en modo UEFI y deberías hacerlo.

En este mini-artículo proponen 2 medios CD/DVD a usar para conseguirlo:

https://wiki.gentoo.org/wiki/UEFI_Gentoo_Quick_Install_Guide

El Minimal Installation CD no sirve.

----------

## Pipeng

Holis, actualmente el equipo arranca con uefi, el modelo no me permite pasar a la bios antigua, respecto a la guia no la puedo ver ya que dice que fue pasada al handbook, y el handbook no esta habilitado, por alguna misteriosa razon.

Aunque se que puedo instalar grub en UEFI desde un cd de instalacion de debian, aunque este solo me deja si lo instala desde el instalador de arranque de la propia instalacion el cual especifica que es uefi, desde el sistema no me deja...

----------

## Pipeng

Como duda.. por el hecho de bootear por usb, no sera que asi no se inicia e uefi aunque este en ese modo?

----------

## esteban_conde

 *Pipeng wrote:*   

> Como duda.. por el hecho de bootear por usb, no sera que así no se inicia e uefi aunque este en ese modo?

 

No puedo darte una respuesta categórica ya que no he podido llegar a ese nivel de matiz, unas vece me ha hecho /dev/sda = (hd0) arrancado desde usb y otras dev/sdX = (hd0) si a eso le añades que estas en un chroot la cosa se complica, de todas formas creo que es una parte sin pulimentar de grub2.

https://wiki.archlinux.org/index.php/GRUB_%28Espa%C3%B1ol%29 esa guía te puede servir perfectamente.

Observa esta secuencia por si te sirve de algo:

 *Quote:*   

> localhost / # mv boot boot-movido
> 
> localhost / # mkdir boot
> 
> localhost / # mkdir boot/grub
> ...

  como ves grub2-mkconfig funciona, no te pego el contenido de grub.cfg pero lo crea perfectamente.

Para ser más precisos respecto al chroot y las dificultades de saber como actua grub2 en esa situación te diré como lo he resuelto en alguna ocasión aunque solo sea a titulo ilustrativo:

Supongo que tu dispositivo usb tiene grub instalado, si es así edita grub.cfg (haz copia antes) y sustituye los UUID del usb por los del disco duro y el "set root='hd1,msdos1' si es asi como lo nombra por 'hd0,msdos5' a ver si puedes entrar en el disco duro y desde allí ejecutar grub2-install y grub2-mkconfig para evitar ambiguedades.

----------

## Pipeng

Uff, finalmente lo logre, contare un poco las conclusiones y sucedido, primero, UEFI solo se aplica como unicamente a la maquina instalada, eso significa que mi equipo solo puede arrancar con UEFI y en casos de otros equipos si este esta habilitado, pero no ocurre con los booteos de USB, desde estos podemos arrancar a travez del MBR y por esa razon cuando arrancaba el sistema desde usb esto no partia en modo UEFI, supongo que se puede pensar como una trampa al sistema.

En sistemas GPT toda la informacion del MBR queda almacenada en la primera particion que debe ser FAT, si queremos borrar todo eso solo se necesita borrarla y volver a hacerla en modo FAT32.

Para instalar un sistema de arranque se necesita entrar en modo UEFI desde primera instancia, sin un medio UEFI no podremos instalar el Gestor de arranque, ya que el Kernel no se inicia en ese modo las efivars quedan desabilitadas para escribir la secuencia de arranque, pero esto significa que necesitamos un USB o CD UEFI para instalar, actualmente los USB casi ninga distro con estos funciona correctamente pero encontre una:

https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB/es#Arranque_de_memorias_USB_con_UEFI

Instalamos un LiveCD de fedora con modo UEFI segun esas instrucciones, como detalle necesitaran este paquete:

https://github.com/rhinstaller/livecd-tools

instalar las herramientas para poder hacerlo, ademas, cuando corran las aplicaciones tienen que tener cuidado, ya que muchas llamadas a las aplicaciones del script son tipo /sbin/app, pero gentoo las puede tener en cualquier otro lado, asi que deberan editar el script para cambiarlo de /sbin/app -> app de esa forma correra bien, tengan cuidado, no tocar las rutas con los if, los condicionales, unicamente las llamadas  a las aplicaciones.

Despues inician el USB en modo UEFI y siguen las instrucciones de la wiki, y finalmente funcionara.

----------

