Actualmente tengo tres sistemas operativos instalados en mi MacBook Air 2017: macOS, Ubuntu y Windows 10. No podía iniciar Ubuntu sin rEFInd, pero prefiero el administrador de inicio predeterminado, porque quiero usar la contraseña del firmware (que rEFInd no tiene).
¿Hay alguna forma de que el administrador de arranque de macOS reconozca Ubuntu sin usar un administrador de arranque de terceros?
NOTAS:
La salida del comando diskutil list
.
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 242.6 GB disk0s2
3: Linux Filesystem 49.9 GB disk0s4
4: Microsoft Basic Data WinData 75.1 GB disk0s5
5: Microsoft Basic Data Windows 125.1 GB disk0s6
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +242.6 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 74.0 GB disk1s1
2: APFS Volume Preboot 25.1 MB disk1s2
3: APFS Volume Recovery 506.6 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
Esta segunda respuesta difiere de mi primera respuesta de las siguientes maneras.
La segunda partición EFI se reemplaza por una partición HFS+.
La etiqueta que se muestra en el Administrador de inicio será "Ubuntu" en lugar del genérico "Arranque EFI".
Asumiré lo siguiente:
Voy a ofrecer dos formas de resolver su problema. Cada uno tiene sus pros y sus contras.
El Administrador de inicio de Mac mostrará un sistema operativo si coloca el archivo .efi en la ubicación correcta. Esta ubicación es la System/Library/CoreServices
carpeta del volumen en una partición HFS+. El nombre del archivo debe ser boot.efi
. Además, puede personalizar el icono que se muestra para el sistema operativo colocando un .VolumeIcon.icns
archivo en la carpeta raíz del volumen en la partición HFS+.
Nota: Aquí, rEFInd todavía se usa, pero no como reemplazo del Administrador de inicio. Podrá utilizar una contraseña de firmware. De hecho, no se muestran los menús rEFInd. El administrador de arranque rEFInd simplemente inicia silenciosamente grub (que inicia Ubuntu).
refind-bin-0.11.2.zip
y este archivo se descargó en su ~/Downloads
carpeta.Monte la nueva partición HFS+ ingresando el siguiente comando.
sudo diskutil mount disk0s3
La nueva partición HFS+ tendrá el nombre de volumen Ubuntu
.
Instale rEFInd en el volumen de la nueva partición HFS+.
cd ~/Downloads/refind-bin-0.11.2
./refind-install --ownhfs /dev/disk0s3
Nota: El mensaje de error
Could not set boot device property: 0xe00002bc
se esperaba y se puede ignorar.
Configure la aplicación TextEdit. Abra TextEdit, luego vaya a la ventana "Preferencias...". Desmarque todas las "Opciones", como se muestra a continuación. Cuando haya terminado, salga de TextEdit.
Use el siguiente comando para navegar a la carpeta que contiene el refind.conf
archivo.
cd /Volumes/Ubuntu/System/Library/CoreServices
Haz una copia de seguridad de este archivo.
sudo cp refind.conf refind.conf.orignal
Agregue permisos de escritura a la CoreServices
carpeta y al refind.conf
archivo.
sudo chmod a+w . refind.conf
Abra el archivo en la aplicación TextEdit.
open -e refind.conf
En este volumen, edite el System/Library/CoreServices/refind.conf
archivo para iniciar grub de forma silenciosa (que iniciará internamente Ubuntu). Esto se puede lograr agregando las siguientes líneas al final del refind.conf
archivo. Debería poder simplemente cortar y pegar estas líneas. Cuando haya terminado, guarde los cambios y salga de TextEdit.
#
# Added to make rEFInd silent.
#
menuentry "Ubuntu" {
icon \System\Library\CoreServices\icons\os_ubuntu.png
volume "EFI"
loader \EFI\ubuntu\grubx64.efi
ostype Linux
graphics on
}
timeout -1
hideui all
scanfor manual
Desmonte el nuevo volumen llamado Ubuntu
, ingresando los siguientes comandos.
cd ~
diskutil unmount disk0s3
Pros: Ubuntu no se ve afectado, por lo que cualquier actualización de Ubuntu no requerirá atención.
Contras: debe usar el administrador de arranque de terceros rEFInd.
Monte la partición EFI original y la nueva partición HFS+ ingresando los siguientes comandos.
sudo diskutil mount disk0s1
sudo diskutil mount disk0s3
La partición EFI original tendrá el nombre EFI
y la nueva partición HFS+ tendrá el nombre Ubuntu
.
En el nuevo volumen denominado Ubuntu
, cree las carpetas EFI/ubuntu
y System/Library/CoreServices
, ingresando los siguientes comandos.
mkdir -p /Volumes/Ubuntu/EFI/ubuntu
mkdir -p /Volumes/Ubuntu/System/Library/CoreServices
Copie los archivos grub.cfg
y grubx64.efi
al nuevo volumen llamado Ubuntu
. Los comandos necesarios se dan a continuación.
cp /Volumes/EFI/EFI/ubuntu/grub.cfg /Volumes/Ubuntu/EFI/ubuntu/grub.cfg
cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/Ubuntu/System/Library/CoreServices/boot.efi
Desmonte la partición EFI original y la nueva partición HFS+ ingresando los siguientes comandos.
diskutil unmount disk0s1
diskutil unmount disk0s3
Pros: no necesita usar el administrador de arranque de terceros rEFInd.
Contras: si el grubx64.efi
o grub.cfg
está actualizado, debe copiar manualmente estos archivos en un nuevo volumen llamado Ubuntu
.
Los pasos a continuación agregarán el siguiente icono de Ubuntu al menú de inicio.
mac-icns.dmg
. Supongo que este archivo se descargó en su ~/Downloads
carpeta.Monte el volumen nombrado Ubuntu
ingresando el siguiente comando.
sudo diskutil mount disk0s3
Utilice la aplicación Finder para copiar el os_ubuntu.icns
archivo de icono en la carpeta raíz del volumen denominado Ubuntu
. Alternativamente, puede usar el comando que se muestra a continuación.
sudo cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/Ubuntu/.
Cambie el nombre del os_ubuntu.icns
archivo de icono a .VolumeIcon.icns
. Esto se puede lograr ingresando el siguiente comando.
sudo mv /Volumes/Ubuntu/os_ubuntu.icns /Volumes/Ubuntu/.VolumeIcon.icns
Nota: Los archivos que comienzan con un punto ( .
) normalmente no aparecen en una ventana de la aplicación Finder.
Utilice la aplicación Finder para expulsar la partición del sistema EFI con el nombre del volumen Ubuntu
. Alternativamente, puede usar el comando que se muestra a continuación para desmontar el volumen.
diskutil unmount disk0s3
Use la aplicación Finder para expulsar el volumen llamado mac-icns
.
Nota: A continuación se basa en el resultado
diskutil list
que proporcionó en su pregunta.
Ingrese el siguiente comando en una ventana de la aplicación Terminal. Creará un volumen "Mac OS Extended" llamado "Ubuntu" en una nueva partición.
sudo diskutil apfs resizeContainer disk0s2 242300M HFS+ Ubuntu 200M
Obtenga el UUID del volumen para el volumen llamado "Ubuntu" ingresando el siguiente comando.
diskutil info Ubuntu | grep "Volume UUID"
La salida debe ser similar a lo que se muestra a continuación.
Volume UUID: 795F14D2-ED1F-3CA0-A004-BD0A27000DC8
A continuación, evite que este nuevo nombre de volumen "Ubuntu" se monte automáticamente, ingresando los siguientes comandos. Sustituya su UUID por el que se muestra a continuación.
sudo bash
echo >> /etc/fstab
echo UUID=795F14D2-ED1F-3CA0-A004-BD0A27000DC8 none hfs rw,noauto >> /etc/fstab
exit
Nota: La forma correcta de editar el
/etc/fstab
archivo es usar el comandosudo vifs
. Usar elecho
comando es solo un atajo rápido.
Utilice la aplicación Finder para expulsar este nuevo volumen. Alternativamente, puede ingresar el comando que se muestra a continuación para desmontar este volumen.
diskutil unmount Ubuntu
Si necesita que amplíe alguno de los pasos anteriores, hágamelo saber.
sudo nano /Volumes/Ubuntu/System/Library/CoreServices/refind.conf
pasar por alto este problema.nano
es un buen sustituto.3.5.1.1 Removable Media Boot Behavior
en la página 91 de la especificación de interfaz de firmware extensible unificada (UEFI) . Para Intel Macs, los medios deben ser extraíbles.Mi segunda respuesta difiere de esta respuesta de las siguientes maneras.
Asumiré lo siguiente:
Le daré dos formas de resolver su problema. Cada uno tiene sus pros y sus contras.
El Administrador de inicio de Mac mostrará un sistema operativo si coloca el archivo .efi en la ubicación correcta. Esta ubicación es la EFI/boot
carpeta del volumen en una partición EFI. El nombre del archivo debe ser bootx64.efi
. Además, puede personalizar el icono que se muestra para el sistema operativo colocando un .VolumeIcon.icns
archivo en la carpeta raíz del volumen en la partición EFI.
Nota: Aquí, rEFInd todavía se usa, pero no como reemplazo del Administrador de inicio. Podrá utilizar una contraseña de firmware. De hecho, no se muestran los menús rEFInd. El administrador de arranque rEFInd simplemente inicia silenciosamente grub (que inicia Ubuntu).
refund-bin-0.11.2.zip
y este archivo se descargó en su ~/Downloads
carpeta.Instale rEFInd en el volumen de la nueva partición EFI.
cd ~/Downloads/refind-bin-0.11.2
./refind-install --usedefault /dev/disk0s3
Desmonte y monte la nueva partición EFI, ingresando los siguientes comandos.
diskutil unmount disk0s3
sudo diskutil mount disk0s3
La nueva partición EFI tendrá el nombre de volumen EFI2
.
Configure la aplicación TextEdit. Abra TextEdit, luego vaya a la ventana "Preferencias...". Desmarque todas las "Opciones", como se muestra a continuación. Cuando haya terminado, salga de TextEdit.
Use el siguiente comando para navegar a la carpeta que contiene el refind.conf
archivo.
cd /Volumes/EFI2/EFI/BOOT
Haz una copia de seguridad de este archivo.
cp refind.conf refind.conf.orignal
Abra el archivo en la aplicación TextEdit.
open -e refind.conf
En este volumen, edite el EFI/BOOT/refind.conf
archivo para iniciar grub de forma silenciosa (que iniciará internamente Ubuntu). Esto se puede lograr agregando las siguientes líneas al final del refind.conf
archivo. Debería poder simplemente cortar y pegar estas líneas. Cuando haya terminado, guarde los cambios y salga de TextEdit.
#
# Added to make rEFInd silent.
#
menuentry "Ubuntu" {
icon \EFI\BOOT\icons\os_ubuntu.png
volume "EFI"
loader \EFI\ubuntu\grubx64.efi
ostype Linux
graphics on
}
timeout -1
hideui all
scanfor manual
Desmonte el nuevo volumen llamado EFI2
.
diskutil unmount disk0s3
Pros: Ubuntu no se ve afectado, por lo que cualquier actualización de Ubuntu no requerirá atención.
Contras: debe usar el administrador de arranque de terceros rEFInd.
Monte las particiones EFI originales y nuevas, ingresando los siguientes comandos.
sudo diskutil mount disk0s1
sudo diskutil mount disk0s3
La partición EFI original tendrá el nombre EFI
y la nueva partición EFI tendrá el nombre EFI2
.
En el nuevo volumen denominado EFI2
, cree las carpetas EFI/ubuntu
y EFI/boot
, ingresando los siguientes comandos.
mkdir -p /Volumes/EFI2/EFI/ubuntu
mkdir -p /Volumes/EFI2/EFI/boot
Copie los archivos grub.cfg
y grubx64.efi
al nuevo volumen llamado EFI2
. Los comandos necesarios se dan a continuación.
cp /Volumes/EFI/EFI/ubuntu/grub.cfg /Volumes/EFI2/EFI/ubuntu/grub.cfg
cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/EFI2/EFI/boot/bootx64.efi
Pros: no necesita usar el administrador de arranque de terceros rEFInd.
Contras: si el grubx64.efi
o grub.cfg
está actualizado, debe copiar manualmente estos archivos en un nuevo volumen llamado EFI2
.
Los pasos a continuación agregarán el siguiente icono de Ubuntu al menú de inicio.
mac-icns.dmg
. Supongo que este archivo se descargó en su ~/Downloads
carpeta.Monte el volumen nombrado EFI2
ingresando el siguiente comando.
sudo diskutil mount disk0s3
Utilice la aplicación Finder para copiar el os_ubuntu.icns
archivo de icono en la carpeta raíz del volumen denominado EFI2
. Alternativamente, puede usar el comando que se muestra a continuación.
cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/EFI2/.
Cambie el nombre del os_ubuntu.icns
archivo de icono a .VolumeIcon.icns
. Esto se puede lograr ingresando el siguiente comando.
mv /Volumes/EFI2/os_ubuntu.icns /Volumes/EFI2/.VolumeIcon.icns
Nota: Los archivos que comienzan con un punto ( .
) normalmente no aparecen en una ventana de la aplicación Finder.
Utilice la aplicación Finder para expulsar la partición del sistema EFI con el nombre del volumen EFI2
. Alternativamente, puede usar el comando que se muestra a continuación para desmontar el volumen.
diskutil unmount disk0s3
Use la aplicación Finder para expulsar el volumen llamado mac-icns
.
Nota: A continuación se basa en el resultado
diskutil list
que proporcionó en su pregunta.
Mientras arranca en macOS, ingrese los siguientes comandos en una ventana de la aplicación Terminal.
sudo diskutil apfs resizecontainer disk0s2 242300M %EFI% n 200M
sudo newfs_msdos -F 32 -v EFI2 /dev/disk0s3
Si necesita que amplíe alguno de los pasos anteriores, hágamelo saber.
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
.
david anderson
diskutil list
comando. Su pregunta se ha hecho antes. Hay varias soluciones simples.kouwei32
diskutil list
salida: Pastebindavid anderson
david anderson
diskutil list
. Reemplace la salida en su respuesta con esta nueva salida. Pregunto esto porquedisk0s3
falta en la salida que se muestra actualmente.