Recientemente he actualizado mi PC, mi nueva placa base (ASUS M5A99X EVO) usa UEFi en lugar de la opción MBR normal.
Tengo una instalación de Ubuntu 11.10 que hice cuando tenía mi hardware anterior (MSI MS 7267), Ubuntu solo arranca bien, y también Windows 7, sin embargo, Windows 7 usa el arranque UEFI (GPT) mientras que Ubuntu usa MBR.
Tengo mis sistemas operativos en unidades separadas, por lo que GRUB2 no será reemplazado por el cargador de arranque de Windows y viceversa, como dije que ambos sistemas operativos arrancan bien por sí mismos, pero para hacerlo tengo que desconectar una unidad en este caso, la unidad Ubuntu como evita que Windows se cargue.
Ahora mi pregunta es, ¿cómo puedo cambiar / convertir la unidad de Ubuntu para que en lugar de usar MBR use GPT y permita que Windows arranque?
Preferiblemente sin reinstalar todo el sistema ni perder ningún dato.
Y si tuviera que borrar el disco, ¿cómo puedo instalar Ubuntu en GPT, UEFI, sea cual sea el modo?
He usado gdisk para convertir de MBR a GPT, pero ahora Ubuntu no puede arrancar parece que grub simplemente no se inicia.
He reinstalado el sistema operativo, y la unidad es GPT ahora de forma predeterminada, sin embargo, grup-pc
todavía se está utilizando en lugar de grub-efi
.
¿Cómo puedo hacer que Ubuntu arranque desde EFI?
Respuestas:
Tabla de contenido:
Terminología
BIOS = Sistema básico de entrada / salida
(U) EFI = (Unificado) Interfaz de firmware extensible
MBR = Registro de arranque maestro
GPT = Tabla de particiones GUID
UEFI / EFI / BIOS = interfaz de firmware
MBR / GPT = Cómo la computadora sabe (por disco duro) qué particiones hay en el disco y cómo arrancar desde ellas.
UEFI / BIOS
Una interfaz de firmware es la forma en que interactúan el firmware (el software dentro de los dispositivos) y el sistema operativo. Inicializa el hardware, luego ejecuta el sistema operativo y garantiza que los controladores del sistema operativo puedan operar el hardware.
El BIOS ha sido la interfaz de firmware habitual que se ha utilizado. La UEFI es una interfaz más nueva que tiene varias características, como ser más rápida, tener una GUI y poder iniciar la tarjeta de red y obtener una dirección IP. UEFI reemplaza a EFI. (Los que desarrollaron EFI vieron que había otros haciendo algo similar y se unieron a ellos, trayendo las ideas de EFI con ellos. Esto se convirtió en UEFI).
Un BIOS requiere que el cargador de arranque esté al inicio del disco, sin embargo, un UEFI usa una partición para esto y puede elegir entre múltiples cargadores de arranque para usar.
MBR / GPT + GRUB
El MBR es una sección de código al comienzo del disco que contiene un cargador de arranque (para el BIOS), así como el mapa de partición y un identificador de disco único.
Para instalar GRUB en un disco con un MBR, GRUB coloca un pequeño programa en el MBR para cargar el resto de GRUB desde otra parte del disco. (Esto se hace porque el MBR es demasiado pequeño para contener todo GRUB). El espacio que se elige es el espacio entre el MBR y la primera partición, que generalmente existe.
GPT es un estándar sobre cómo se especifican las particiones. Tiene un MBR 'protector', sin embargo, esto es solo para permitir que las computadoras basadas en BIOS arranquen y detengan herramientas que solo saben acerca de MBR al intentar destruir la GPT. Puede tener
(La forma en que se maneja GPT depende de si se está iniciando utilizando un BIOS (o un sistema UEFI en modo de emulación de BIOS) o UEFI. Me centraré en UEFI en lo que respecta a la pregunta).
Los cargadores de arranque para sistemas operativos se almacenan en una partición llamada EFI System Partiton, que está formateada (generalmente) con FAT32. Aquí es donde está instalado GRUB.
Mudado
Primero...
Estamos jugando con la mesa de partición, por lo que la seguridad garantizada no es posible. Es una operación arriesgada. Sin embargo, el método no debe perder datos.
Otros se encuentran con esto: no lo use en Apple Macs.
Ahora...
Deberá hacer esto en un CD en vivo (u otra instalación de Linux instalada en un disco diferente).
Cuando se trata de discos GPT, necesitamos usar un programa compatible con GPT. 'GPT fdisk' es una buena herramienta para usar y lo que usaré. Se puede llamar
gptfdisk
ogdisk
dependiendo de la distribución (Ubuntu lo llamagdisk
). Parted (y Gparted) también es compatible con GPT, por lo que se puede usar de forma 'segura' con discos GPT.Para convertir necesitas:
1) Cambiar el tamaño de la partición
Use
parted
(línea de comando) ogparted
(GUI) para cambiar el tamaño de la primera y la última partición. La primera partición debe tener aproximadamente 200MiB antes que ella, y la última partición debe tener 1MiB a 2MiB (cualquiera de las dos tendrá) al final.2) Convertir el disco
correr
cambiar el dispositivo que quieres convertir es
/dev/sdx
.Debería decirle que convertirá la tabla de partición.
Ahora agregue una nueva partición, haciéndola del tipo 'sistema EFI'. Debería encontrar el espacio libre al principio (sugiero un número de sector bajo como 34) y usar automáticamente todo el espacio libre. Los ejemplos utilizan una unidad flash USB de 4 GB con 1 partición ya allí, redimensionada según lo anterior.
Ahora debería tener la partición EFI.
Luego salga
gdisk
Ahora use Gparted (o línea de comandos
mkfs.vfat
) para formatear la partición como FAT32.3) Instalar GRUB
Esto viene con menos garantías de que la parte anterior ya que no lo he probado yo mismo.
No estoy seguro de este paso, así que supongo que usaré las instrucciones de RAOF :
Debe averiguar con qué versión de grub-efi instalar
Si dice
EFI32
instalar elgrub-efi-ia32
paquete, si diceEFI64
instalar elgrub-efi-amd64
paquete. Puedes instalar los paquetes conEsto probablemente solo funcionará si ha arrancado en modo EFI.
Si no funciona, puede probar estas instrucciones paso a paso (en "Instalar GRUB2 en sistemas (U) EFI") una vez que
grub-efi
esté instalado.Configuración (+ arranque dual)
Si las instrucciones de RAOK funcionan, debería poder agregar la siguiente línea a
/etc/grub.d/40_custom
Se supone que Windows es reconocido
hd0
por GRUB. Es posible que deba cambiarse parahd1
que funcione.Ahora corre
para actualizar el archivo de configuración.
Referencias y lecturas adicionales
Usé varias fuentes.
fuente
grub-pc
e instalargrub-efi
mientras está en el Live CD (quizás antes de instalar?)Esta respuesta es incompleta; No he probado nada de esto. Es poco probable que comas ninguno de tus datos, ¡pero te han advertido!
Lo que supongo que está sucediendo aquí es que su BIOS se está iniciando preferentemente desde MBR heredado, por lo que el viejo UEFI Windows 7 se está pasando por alto.
Una de las cosas buenas de UEFI es que ya no debería tener que preocuparse de que Windows sobrescriba GRUB; ambos deberían coexistir bien en la partición EFI. Por lo tanto, una opción sería cambiar a
grub-efi
. Nota: No estoy seguro sigrub-efi
entiende particiones de estilo MSDOS; Yo creo que lo hace. Si no es así, esto no se iniciará y necesitará un LiveCD para recuperarse. De hecho, ¡tenga un LiveCD a mano de todos modos!Para cambiar a
grub-efi
desearías/boot/efi
. Agrega esto a/etc/fstab
¹grub-efi
paqueteUEFI and Legacy
aUEFI only
(o una opción similar)Eso debería dejarte con una instalación de Ubuntu con arranque UEFI. Si no es así, inicie su LiveCD de confianza (o el CD de instalación alternativo de Ubuntu: la opción "Arreglar un sistema roto" es lo que está buscando ☺), inicie sesión en su sistema e instálelo
grub-pc
nuevamente.¹: Más detalles para este paso: necesitará encontrar lo que el kernel de Linux llama su partición del sistema EFI. Esto será algo así como
/dev/sda2
,/dev/sdb3
o such². Luego deberá crear el/boot/efi
directorio y agregarle una línea/etc/fstab
. Si su partición EFI es/dev/sdb3
, entonces agregaría la siguiente línea:Una vez que ejecute
sudo mount /boot/efi
, debería encontrar que/boot/efi
contiene unEFI
directorio, con un subdirectorio para Windows 7.²: Dado que tiene varios discos duros, puede ser una buena idea averiguar el UUID de la partición, ya que será estable si se agregan o quitan discos duros, mientras
/dev/sda2
que no se garantiza que el nombre no cambie. Sin embargo, esto se puede hacer una vez que haya terminado de configurar todo lo demás.Puede encontrar el UUID buscando
/dev/disk/by-uuid
. Por ejemplo, obtengo:En mi caso, sé que
/dev/sda1
es mi partición del sistema EFI, así que tengoen mi
/etc/fstab
.fuente
Disk utility
programa. Hasta que haya encontrado y montado su partición EFI,grub-efi
no podrá funcionar: debe pegar su gestor de arranque en la partición del sistema EFI.sudo grub-install
ysudo update-grub
para poder instalar y configurar GRUB en la partición EFI. Tendrá que hacer esto después de iniciar la instalación (porque necesita saber cosas sobre la instalación en su disco duro). Si necesita ayuda para hacerlo, puedo agregar detalles a la respuesta.create partition efi
. Para obtener información sobre diskpart, consulte technet.microsoft.com/en-us/library/cc766465%28WS.10%29.aspxEso es ideal, por lo que es probable que tenga al menos una partición primaria libre en la tabla de particiones.
No tiene que convertir MBR a GPT para iniciar UEFI, solo cree una partición FAT primaria, instale el
grub-efi-amd64-bin
paquete y siga las instrucciones en Agregar un ESP a una instalación existente con MBR que debería funcionar con las versiones actuales de Ubuntu.fuente
diskpart
,dism /apply-image
y luegobcdboot
(más opciones en ambas cosas, por supuesto) para que sea instalar MBR o GPT, independientemente de cómo se ha arrancado.Para complementar la respuesta de Portablejim (que realmente me ayudó a convertir de MBR a GPT, ¡gracias!), Puede usar Boot-Repair para reinstalar grub. Funcionó de maravilla para reparar mi arranque después de que no pude completar el paso 3, y una vez más cuando la instalación de Windows 10 hizo que la opción de arranque de Linux desapareciera.
fuente