Inicialize o Ubuntu a partir do HDD USB externo no Retina MacBookPro 2015

1

Instalei o Ubuntu 15.04 / x86_64 em um disco rígido externo USB, o disco tem uma tabela de partição GUID e o Ubuntu foi instalado com o gerenciador de inicialização EFI.

Posso inicializar com êxito o HDD USB em alguns PCs com Windows no modo UEFI, mas ele não funciona no meu novo modelo Retina MacBook Pro 2015 (MacBookPro11,5), quando reinicializo o computador com a tecla "Option" pressionada, a entrada de inicialização simplesmente não apareceu.

É um pouco estranho que o meu RMBP suporte o UEFI 2.0, ele pode inicializar o Windows8 / 10 a partir do disco rígido externo no modo EFI. Não faço ideia do porque o Ubuntu não funciona.

    
por Windoze 20.07.2015 / 18:46

2 respostas

1

Bem, meio idiota, mas consegui fazer a inicialização do USB HDD externo. O Ubuntu instala os arquivos de inicialização EFI em "EFI / ubuntu" por padrão, basta renomeá-lo para "BOOT" e copiar "grubx64.efi" para "bootx64.efi" e tudo funciona como esperado.

Segundo os comentários do @RodSmith, a solução acima funciona como EFI/BOOT/bootx64.efi é o nome de fallback em que a EFI encontra um gerenciador de inicialização.

Pode ser muito útil se alguém puder explicar os comportamentos do Apple EFI em detalhes.

    
por Windoze 20.07.2015 / 20:04
1

Quando o Windows 10 - 64 bit é inicializado no modo EFI, o arquivo carregado pelo firmware está localizado em /EFI/BOOT/bootx64.efi na partição EFI oculta. Basicamente, você moveu e renomeou o grub 2 para esse local e nome. Seu Mac acha que está inicializando o Windows quando, na verdade, é o boot grub 2. Isso não é porque você tem um novo modelo Retina MacBook Pro 2015 (MacBookPro11,5). Isso também funciona para mim e eu tenho um modelo iMac 2007 (iMac7,1).

Atualização 1:

Eu admito que o post acima está mal redigido. Quando me referi ao Windows 10, eu estava olhando para uma instalação feita no modo EFI usando o VirtualBox no meu 2007 iMac. O comentário de Rod está correto, ambos EFI/BOOT/bootx64.efi e EFI/Microsoft/Boot/bootmgfw.efi existem e são idênticos. Não tenho certeza qual arquivo o VirtualBox usa para inicializar a máquina virtual.

Eu tenho o Windows 8.1 - 64 bit instalado no meu iMac mesmo que o site da Apple " Requisitos do sistema para instalar o Windows no seu Mac usando o Boot Camp "especifica apenas o Windows 7 - 32 bits. Esta instalação usa o esquema de BIOS / MBR legado.

O ponto que eu estava tentando fazer era que a solução da Windoze para inicializar o Ubuntu (via GRUB 2) não tem nada a ver com ter um Mac compatível com UEFI. Eu testei com sucesso seu método para inicializar o Ubuntu instalado no meu disco rígido interno. Este fato é de interesse para outros usuários de Mac.

Quanto a uma explicação detalhada de por que esse método funciona para o caso de Windoze, refiro-me ao Interface de Firmware Extensível Unificada Especificação , Versão 2.5, abril de 2015. Seção 3.5.1.1 Comportamento de inicialização de mídia removível , nas páginas 88-89, especifica a arquitetura x64 que o firmware tentará inicializar a partir de mídia removível usando o arquivo localizado em \EFI\BOOT\BOOTx64.EFI .

Atualização 2:

Isto é em resposta ao comentário de Ron sobre Mac não estar em conformidade com UEFI.

Ao determinar se um Mac tem um UEFI, vejo o arquivo /Applications/Utilities/Boot Camp Assistant.app/Contents/Info.plist . Abaixo está uma listagem tirada do meu Mac com o Yosemite OS X 10.10.4 e o Boot Camp Assistant versão 5.1.4 (500) instalado. Especificamente, estou olhando para o array listado após a chave PreUEFIModels . Assumi que, se um modelo Mac for posterior a um dado na matriz, o Windows pode e deve ser instalado no modo EFI / GPT.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>32BitSupportedModels</key>
    <array>
        <string>MacBook7,1</string>
        <string>MacBookAir5,2</string>
        <string>MacBookPro10,1</string>
        <string>MacPro5,1</string>
        <string>Macmini5,3</string>
        <string>iMac12,2</string>
    </array>
    <key>BuildMachineOSBuild</key>
    <string>14D81</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleDisplayName</key>
    <string>Boot Camp Assistant</string>
    <key>CFBundleExecutable</key>
    <string>Boot Camp Assistant</string>
    <key>CFBundleGetInfoString</key>
    <string>Boot Camp Assistant 5.1.4, Copyright © 2015 Apple Inc. All rights reserved</string>
    <key>CFBundleIconFile</key>
    <string>DA</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.bootcampassistant</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Boot Camp Assistant</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>5.1.4</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>500</string>
    <key>DARequiredROMVersions</key>
    <array>
        <string>IM41.0055.B08</string>
        <string>IM42.0071.B03</string>
        <string>IM51.0090.B03</string>
        <string>IM52.0090.B03</string>
        <string>IM61.0093.B01</string>
        <string>MP11.005C.B04</string>
        <string>MB11.0061.B03</string>
        <string>MBP11.0055.B08</string>
        <string>MBP12.0061.B03</string>
        <string>MM11.0055.B08</string>
    </array>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>6D504m</string>
    <key>DTPlatformVersion</key>
    <string>GM</string>
    <key>DTSDKBuild</key>
    <string>14D77</string>
    <key>DTSDKName</key>
    <string>macosx10.10internal</string>
    <key>DTXcode</key>
    <string>0630</string>
    <key>DTXcodeBuild</key>
    <string>6D504m</string>
    <key>LSApplicationCategoryType</key>
    <string>public.app-category.utilities</string>
    <key>LSMinimumSystemVersion</key>
    <string>10.9.0</string>
    <key>NSMainNibFile</key>
    <string>MainMenu</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
    <key>PreESDRequiredModels</key>
    <array>
        <string>MacBook7</string>
        <string>MacBookAir5</string>
        <string>MacBookPro10</string>
        <string>MacPro5</string>
        <string>Macmini6</string>
        <string>iMac13</string>
    </array>
    <key>PreUEFIModels</key>
    <array>
        <string>MacBook7</string>
        <string>MacBookAir5</string>
        <string>MacBookPro10</string>
        <string>MacPro5</string>
        <string>Macmini6</string>
        <string>iMac13</string>
    </array>
    <key>PreUSBBootSupportedModels</key>
    <array>
        <string>MacBook7,1</string>
        <string>MacBookAir3,2</string>
        <string>MacBookPro8,3</string>
        <string>MacPro5,1</string>
        <string>Macmini4,1</string>
        <string>iMac12,2</string>
    </array>
    <key>Win7OnlyModels</key>
    <array>
        <string>MacBook7,1</string>
        <string>MacBookAir3,2</string>
        <string>MacBookPro5,5</string>
        <string>MacPro2,1</string>
        <string>Macmini4,1</string>
        <string>iMac10,1</string>
    </array>
</dict>
</plist>
    
por David Anderson 20.07.2015 / 22:37