web-dev-qa-db-fra.com

Démarrer Ubuntu à partir d'un disque dur USB externe sur Retina MacBookPro 2015

J'ai installé Ubuntu 15.04/x86_64 sur un disque dur USB externe, le disque a une table de partition GUID et Ubuntu a été installé avec le gestionnaire de démarrage EFI.

Je peux démarrer avec succès le disque dur USB sur certains ordinateurs Windows en mode UEFI, mais cela ne fonctionne pas sur mon nouveau modèle Retina MacBook Pro 2015 (MacBookPro11,5). Lorsque je redémarre l'ordinateur avec la touche "Option" enfoncée, l'entrée de démarrage ne s'est tout simplement pas présenté.

C'est un peu bizarre que ma RMBP prenne en charge UEFI 2.0: elle peut démarrer Windows8/10 à partir d'un disque dur externe en mode EFI. Je ne sais pas pourquoi Ubuntu ne fonctionne pas.

1
Windoze

Eh bien, un peu stupide, mais j’ai réussi à faire démarrer le disque dur externe USB. Ubuntu installe les fichiers de démarrage EFI sous "EFI/ubuntu" par défaut, renommez-le simplement en "BOOT" et copiez "grubx64.efi" en "bootx64.efi", puis tout fonctionnera comme prévu.

Selon les commentaires de @RodSmith, la solution ci-dessus fonctionne comme suit: EFI/BOOT/bootx64.efi est le nom de secours dans lequel EFI trouve un chargeur de démarrage.

Cela pourrait être très utile si quelqu'un pouvait expliquer Apple les comportements EFI en détail.

1
Windoze

Lorsque Windows 10 - 64 bits démarre en mode EFI, le fichier chargé par le microprogramme se trouve à l'emplacement /EFI/BOOT/bootx64.efi dans la partition EFI masquée. En gros, vous avez déplacé et renommé grub 2 à cet emplacement et à ce nom. Votre Mac pense qu'il est en train de démarrer Windows alors qu'en fait, c'est le démarrage du groupe 2. Ce n'est pas parce que vous avez un nouveau modèle Retina MacBook Pro 2015 (MacBookPro11,5). Cela fonctionne aussi pour moi et j'ai un modèle iMac 2007 (iMac7,1).

Mise à jour 1:

J'avoue que le post ci-dessus est mal rédigé. Lorsque j'ai fait référence à Windows 10, je regardais une installation effectuée en mode EFI à l'aide de VirtualBox sur mon iMac 2007. Le commentaire de Rod est correct, EFI/BOOT/bootx64.efi et EFI/Microsoft/Boot/bootmgfw.efi existent et sont identiques. Je ne suis pas sûr du fichier utilisé par VirtualBox pour démarrer la machine virtuelle.

J'ai Windows 8.1 - 64 bits installé sur mon iMac même si le site Web d'Apple " Configuration requise pour installer Windows sur votre Mac avec Boot Camp " ne spécifie que Windows 7 - 32 bits. Cette installation utilise le schéma BIOS/MBR existant.

Ce que j'essayais de dire, c’est que la solution de Windoze pour le démarrage d’Ubuntu (via GRUB 2) n’a rien à voir avec un Mac conforme à la norme UEFI. J'ai testé avec succès sa méthode pour démarrer Ubuntu installé sur mon disque dur interne. Ce fait pourrait intéresser les autres utilisateurs de Mac.

Pour une explication détaillée des raisons pour lesquelles cette méthode fonctionne dans le cas de Windoze, je me réfère à la Spécification de l'interface de microprogramme extensible unifié , version 2.5, avril 2015. Section 3.5 .1.1 Comportement de démarrage du support amovible , aux pages 88-89, spécifie pour l’architecture x64 que le micrologiciel essaiera de démarrer à partir d’un support amovible en utilisant le fichier situé à l’emplacement \EFI\BOOT\BOOTx64.EFI.

Mise à jour 2:

C'est en réponse au commentaire de Ron sur le fait que Mac n'est pas conforme à l'UEFI.

Pour déterminer si un Mac a un UEFI, je regarde le fichier /Applications/Utilities/Boot Camp Assistant.app/Contents/Info.plist. La liste ci-dessous provient de mon Mac sur lequel Yosemite OS X 10.10.4 et la version 5.1.4 (500) de Boot Camp Assistant sont installés. Plus précisément, je regarde le tableau répertorié après la clé PreUEFIModels. J'ai supposé que si un modèle Mac est postérieur à celui indiqué dans la matrice, Windows peut et doit être installé en mode 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>
1
David Anderson