"No bootable device" + Problèmes partition MBR / GPT / NTFS

valback

Membre confirmé
15 Mai 2012
34
2
Bien le bonjour à tous :coucou:

J'ai BEAUCOUP de mal à installer Windows 10 sur mon MBP mi-2012.

Je télécharge le fichier ISO -> je branche une clé USB de 32Go -> je lance Bootcamp assistant -> Je coche toutes les options -> Je divise en deux mon DD (j'ai plus de 300go d'espace libre) -> BC fait son travail avec la clé USB -> BC lance le partitionnage -> Et...
Là une fois que tout se ferme apparait le message "No bootable device -- insert boot disk and press any key".
:banghead:

Puis l'écran devient noir et il ne se passe plus rien.
J'éteins et rallume l'ordi en gardant la touche alt enfoncée.
On me présente 3 disque : Macintosh HD - Windows - BOOTCAMP Efi
je clique sur bootcamp et je lance le programme d'installation, je rempli les premiers formulaires sans problèmes. Mais lorsque je dois choisir le disque d'installation un nouveau message d'erreur apparait :
"Windows ne peut pas être installé sur ce disque. Le disque sélectionné possède une table de partition MBR. Sur les systèmes EFI, Windows peut uniquement être installé sur des disque GPT.

Windows ne peut pas être installé dans cet espace disque. Windows doit être installé dans une partition formatée en NTFS"
:banghead:


Je ne comprends rien à ces histoires de MBR / EFI / GPT / NTFS mais je comprends tout de même qu'il y a un problème avec ma partition Windows ? Et je suis surpris qu'il me dise "il faut installer sur disque GPT" puis il dit que Windows doit être installé "dans une partition formatée en NTFS".

Helllllllllp :(
 
Salut valback

Quel est la version de macOS (ou OS X) installée sur le disque ?
 
Alors il y a un point que je ne conçois pas > qui est le suivant -->

  • dans les anciens OS (jusqu'à El Capitan 10.11 compris) > les ingénieurs de la  avait implémenté un mécanisme logique tel que > à la moindre création d'une partition dans un format Windows quelconque sur un disque Mac > une table de partition alternative de la GPT principale (des blocs 1 à 32) se trouvait inscrite sur le bloc n°0 (ou 1er bloc) de type HMBR (= Hybrid_MBR). Cette table alternative permettait le boot en mode Legacy (par un BIOS émulé par l'EFI) des anciens OS Windows comme W-7 > en décrivant en mode MBR les mêmes exactes partitions que celles de la GPT.
  • à partir de l'OS Sierra 10.12 compris (et donc dans l'OS High Sierra 10.13) --> ce mécanisme logique a été abandonné > pour la raison que l'OS W-10 boote principalement en mode UEFI (càd. par l'EFI directe > lisant le descripteur de la partition BOOTCAMP inscrit dans la table GPT principale). Donc sur le bloc 0 du disque n'existe qu'une table bidon dite PMBR (Protective_MBR) > qui emballe l'ensemble de l'espace-disque dans une "pseudo-partition" de type 0xEE (= EFI GPT) = laquelle n'a rien à voir avec les partitions réelles du disque définies par la GPT et est intrinsèquement inadressable (d'où la valeur "protectrice" de cette pseudo description).

Dans ce contexte > le message d'erreur -->
Bloc de code:
"Windows ne peut pas être installé sur ce disque. Le disque sélectionné possède une table de partition MBR.
Sur les systèmes EFI, Windows peut uniquement être installé sur des disque GPT.

  • évoque immanquablement la présence d'une HMBR sur le bloc 0 du disque > ce qui n'a pas pu être l'effet d'un mécanisme automatique à la création de la partition BOOTCAMP en FAT-32 préalable > puisque ton OS est High Sierra qui a abandonné ce mécanisme logique.

La seule source aurait pu en être l'«Assistant BootCamp» > qui aurait considéré que ton type de Mac (datant de 2012) avait besoin de booter W-10 en mode Legacy > et donc aurait créé une HMBR sur le bloc 0. Mais alors il aurait fallu installer W-10 en mode Legacy (en sélectionnant le boot Windows et pas EFI Boot à l'écran de choix du disque de démarrage).

Cela dit il est possible de reconvertir une HMBR à une PMBR en utilisant l'exécutable gdisk de Roderick Smith.

Mais pour lire au préalable ce qu'il en est des tables de partitions du secteur d'amorçage du disque (soit par l'exécutable gpt > soit par gdisk) --> il faut que le SIP (protocole de sécurisation de plus en plus envahissant) soit désactivé > car il verrouille l'accès aux blocs du disque de démarrage même en mode lecture seule. Je sais : tout ça a quelque chose de plus en plus délirant > si l'on se reporte à l'aimable liberté d'accès d'antan. Comme si concevoir la problématique des tables de partition alternatives d'un disque Mac n'était déjà pas assez complexe > et qu'il faille en plus buter contre des protocoles de verrouillage qui ne déclarent même plus actuellement l'étendue de leur domaine d'action : ce ne sont plus une poignée de dossiers-Système qui sont verrouillés dans le volume de démarrage --> c'est la distribution logique du disque physique de démarrage entier qui est verrouillée - ce contre un accès en lecture seule > ce qui est délirant.

En conséquence > il faut savoir si le SIP est activé ou désactivé dans ton OS. Va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
csrutil status
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le statut actuel du SIP

Poste ce retour en copier-coller > et pour bien faire (en prolégomène au postage futur d'autres tableaux) > utilise ce procédé :

  • dans la page de ce fil de MacGé > presse le bouton (carré avec un + inscrit - juste au milieu de la largeur de la fenêtre totale) dans la barre de menus au-dessus du champ de saisie d'un message > menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)
 
  • J’aime
Réactions: valback
Je ne suis pas un habitué de tout ce langage informatique :D mais merci de ta réponse je situe un peu plus le problème déjà et ça m'aidera si j'ai de futurs problèmes !
Voilà ce que j'obtiens en entrant la commande :

Bloc de code:
MacBook-Pro-de-Valentin:~ Balou$ csrutil status
System Integrity Protection status: enabled.
MacBook-Pro-de-Valentin:~ Balou$

Du coup il faut que je désactive le SIP ? Comment puis-je faire cela ?
 
Pour désactiver le SIP > tu dois passer une commande dans le Terminal de l'OS de secours - la même commande est invalide dans le Terminal de macOS démarré.

Donc re-démarre > les 2 touches ⌘R (cmd R) tenues pressées jusqu'à l'affichage d'une  = démarrage sur l'OS de secours. Tu obtiens un écran affichant une fenêtre de 4 Utilitaires macOS. Va à la barre de menus supérieure de l'écran > menu : Utilitaires > sous-menu : Terminal.

Passe la commande :
Bloc de code:
csrutil disable

  • qui instruit la désactivation du SIP ; la commande prend effet après re-démarrage
  • re-démarre donc (Menu  > Disque de démarrage > sélectionne ton volume de démarrage > Redémarrer).

De retour dans ta session > passe les 2 commandes (l'une après l'autre) :
Bloc de code:
diskutil list
csrutil status

  • la 1ère va afficher le tableau des disques > avec tables de partition principales > et partitions
  • la 2è le statut actuel du SIP

=> poste ces 2 retours ici dans unr fenêtre de code comme tu l'as déjà bien fait.
 
Alors pour la première commande :

Bloc de code:
MacBook-Pro-de-Valentin:~ Balou$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            250.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         249.0 GB   disk0s4

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +249.9 GB   disk1
                                 Logical Volume on disk0s2
                                 ABFAEA82-782E-4568-BF63-8919FA9B4455
                                 Unencrypted

MacBook-Pro-de-Valentin:~ Balou$

Puis la deuxième :

Bloc de code:
MacBook-Pro-de-Valentin:~ Balou$ csrutil status
System Integrity Protection status: disabled.
MacBook-Pro-de-Valentin:~ Balou$
 
Le SIP est bien désactivé.

Cette ligne du tableau -->
Bloc de code:
   4:       Microsoft Basic Data                         249.0 GB   disk0s4

  • décrit la partition BOOTCAMP dans son état actuel : elle se trouve "découpée" (carved) en tant que partition > avec un type Microsoft Basic Data > mais aucune définition de volume montable n'existe actuellement dans cette partition.

Pour vérifier à présent (c'était le but de la désactivation du SIP) le statut de la table de partition alternative du bloc 0 --> passe la commande informative :
Bloc de code:
sudo gpt show /dev/disk0

  • après validation > une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et valide de nouveau
  • la commande affiche le tableau de la distribution des blocs logiques du disque interne > dont ceux du secteur d'amorçage (blocs 0 à 32) portant les 2 tables de partition : alternative de type MBR et principale de type GPT

Poste ce tableau ici dans une fenêtre de code.
 
Si il y a quelque chose d'étrange avec la partition windows sache que quand j'étais sur le progamme d'installation de ma clé Bootcamp j'ai cliqué sur "formater" je ne sais pas si ça a été fait ni si ça a une incidence mais je préfère te prévenir de ce que j'ai fait.

Voilà le résultat de la commande :

Bloc de code:
gpt show: /dev/disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6        
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  488765824      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  489175464    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  490445000       1848        
  490446848  486326272      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  976773120         15        
  976773135         32         Sec GPT table
  976773167          1         Sec GPT header
MacBook-Pro-de-Valentin:~ Balou$
 
La mention inaugurale -->
Bloc de code:
gpt show: /dev/disk0: Suspicious MBR at sector 0

  • désigne indubitablement sous l'intitulé "Suspicious MBR at sector 0" une HMBR (Hybrid_MBR) sur le bloc 0 du disque. Table désignée ici -->
Bloc de code:
          0          1         MBR

  • où la mention MBR brute (au lieu de PMBR = Protective_MBR) identifie une table de partition active de type MBR --> décrivant au plus 3 partitions du disque > par importation de leur localisation exacte à partir de la table GPT principale. Cette "importation" ou ce "pompage" dans la détermination locale (emplacement sur les blocs) des 3 partitions MBR --> rendant compte du concept de table "hybride" : hybridée des descriptions de la GPT principale en tant que table alternative MBR.

Tu vois ici les blocs de résidence de la table GPT principale ou directrice -->
Bloc de code:
          1          1         Pri GPT header
          2         32         Pri GPT table

  • et tout en bas de disque > ceci -->
Bloc de code:
  976773135         32         Sec GPT table
  976773167          1         Sec GPT header

  • constitue la table GPT "secondaire" = backup de la table principale des 32 premiers blocs.

----------

Il faut donc reconvertir la HMBR du bloc 0 à une PMBR neutre (MBR bidon). Pour ce faire > il faut utiliser l'exécutable gdisk créé par Roderick Smith (le développeur de rEFInd).

Va à cette page de SourceForge : ☞GPT Fdisk☜ (clique le lien rouge) > presse le bouton vert Download > ce qui te fait obtenir un paquet d'installation gdisk-1.0.3.pkg > double-clique-le > ce qui va faire s'installer gdisk at: /usr/local/bin/gdisk. L'utilitaire est désormais appelable directement dans une commande du Terminal.

Passe la commande :
Bloc de code:
sudo gdisk /dev/disk0

  • et poste le tableau retourné.
 
Ça donne presque envie de prendre des cours d'informatique tout ça :D

Bloc de code:
GPT fdisk (gdisk) version 1.0.3

Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.

Command (? for help):
 
Tu vois ici la coupable désignée par son nom propre -->
Bloc de code:
  MBR: hybrid

Voici à présent le tuto pour la reconvertir en Protective_MBR (tu enchaînes à partir de l'invite de commande de gdisk) -->



- à la suite de l'invite de commande :
Bloc de code:
Command (? for help):
  • tu tapes :
Bloc de code:
x
  • (comme expert mode) et tu valides --> ce qui affiche :
Bloc de code:
Expert command (? for help): ?
  • tu tapes :
Bloc de code:
n
  • (comme new Protective_MBR) et tu valides --> ce qui affiche :
Bloc de code:
Expert command (? for help):
  • tu tapes :
Bloc de code:
w
  • (comme write) et tu valides --> ce qui te affiche :
Bloc de code:
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N):
  • tu tapes :
Bloc de code:
y
  • (comme yes) et tu valides --> ce qui te affiche :
Bloc de code:
OK; writing new GUID partition table (GPT) to /dev/disk5.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.
  • avec récupération de l'invite de commande régulière du Terminal > signe que gdisk a quitté.

Re-démarre une fois > puis de retour dans ta session > repasse la commande :
Bloc de code:
sudo gdisk /dev/disk0

  • et poste le tableau retourné.
 
Dernière édition par un modérateur:
Bloc de code:
GPT fdisk (gdisk) version 1.0.3

Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help):

Donc là mon disk0, celui "de base" est transformé. Est-ce ça ne pose pas de problème que je n'ai pas supprimé ma partition windows avant de faire les manipulations ?
 
Cette mention -->
Bloc de code:
  MBR: protective

  • montre que la table alternative du bloc 0 est désormais une PMBR (Protective_MBR). Càd. une table inopérante pour un boot de type Legacy. Seule la table GPT est désormais active comme table de boot. C'est la situation standard.

Est-ce que tu veux reformater la partition disk0s4 en FAT-32 > avec définition d'un volume BOOTCAMP --> afin de tester une installation ? - si tu ré-utilises l'«Assistant BootCamp» pour ce faire > je crains qu'il ne régénère une Hybrid_MBR sur le bloc 0.
 
Cette mention -->
Bloc de code:
  MBR: protective

  • montre que la table alternative du bloc 0 est désormais une PMBR (Protective_MBR). Càd. une table inopérante pour un boot de type Legacy. Seule la table GPT est désormais active comme table de boot. C'est la situation standard.

Est-ce que tu veux reformater la partition disk0s4 en FAT-32 > avec définition d'un volume BOOTCAMP --> afin de tester une installation ? - si tu ré-utilises l'«Assistant BootCamp» pour ce faire > je crains qu'il ne régénère une Hybrid_MBR sur le bloc 0.

Et bien oui je veux bien tester si tu penses que ça peut m'aider à résoudre mon problème
 
Tu peux passer la commande :
Bloc de code:
diskutil eraseVolume fat32 BOOTCAMP disk0s4

  • la commande reformate la partition disk0s4 en FAT-32 > et remonte un volume intitulé BOOTCAMP

Si tu n'as pas de message d'erreur > repasse une commande :
Bloc de code:
sudo gpt show /dev/disk0

  • et poste le tableau pour vérifier le type de table de partition du bloc 0.
 
Alors voilà ce qui s'est dit quand j'ai lancé le reformatage en FAT-32 :

Bloc de code:
Started erase on disk0s4
Unmounting disk
Erasing
4096 bytes per physical sector
/dev/rdisk0s4: 486207488 sectors in 7596992 FAT32 clusters (32768 bytes/cluster)
bps=512 spc=64 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=490446848 drv=0x80 bsec=486326272 bspf=59352 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk0s4 BOOTCAMP

Puis quand j'ai fait la deuxième commande :

Bloc de code:
      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6        
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  488765824      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  489175464    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  490445000       1848        
  490446848  486326272      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  976773120         15        
  976773135         32         Sec GPT table
  976773167          1         Sec GPT header
MacBook-Pro-de-Valentin:~ Balou$
 
"Windows ne peut pas être installé sur ce disque. Le disque sélectionné possède une table de partition MBR. Sur les systèmes EFI, Windows peut uniquement être installé sur des disque GPT.

Bonjour,
J'ai eu le même problème sur un macbook air mi 2014 sous High Sierra. Dans mon cas, la solution la plus simple a été:

1) Faire une sauvegarde complète

2) Reformatter complètement le SSD à l’aide de l’utilitaire de disque en démarrant sur la clé USB d’installation de High Sierra. Pour avoir accès à tout le disque, et pas uniquement les partitions, il faut cliquer sur l’icône présentation et choisir l’affichage des volumes physiques et le sélectionner, puis cliquer sur effacer en choisissant « table de partitions GUID », et laisser une seule partition en APFS faisant la taille de tout le disque.

3) Réinstaller High Sierra

4) Utiliser l’assistant bootcamp pour créer la clé USB de windows, des drivers, et pour créer la partition bootcamp.

5) Démarrer sur la clé USB de Windows et reformatter la partition BootCamp avec l’utilitaire de Windows.

6) Redémarer sur MacOS et reformatter la partition BootCamp en « exfat » à l’aide de l’utilitaire de disque.

7) Puis enfin redémarer sur la clé USB de Windows et reformatter la partition BootCamp à l’aide de l’utilitaire de windows et lancer l’installation.

Je ne sais pas pourquoi il fallait reformatter plusieurs fois la même partition, mais cela a fini par fonctionner. Je la partage si jamais quelqu'un confronté au même problème n'a pas envie de se lancer dans le terminal.
 
@ valback

Le reformatage de la partition BOOTCAMP n'a pas recréé de HMBR sur le bloc 0 où il y a toujours une PMBR. Tu n'as qu'à tenter d'installer Windows à cette destination.
 
@ valback

Le reformatage de la partition BOOTCAMP n'a pas recréé de HMBR sur le bloc 0 où il y a toujours une PMBR. Tu n'as qu'à tenter d'installer Windows à cette destination.

Comment est-ce que j'atteins "cette destination" (le bloc 0) ? Est-ce qu'il suffit de relancer mon ordi ( + alt) et de lancer la partition windows ?