Windows 7 ne demarre plus après màj High Sierra

MacTimber

Membre confirmé
25 Octobre 2014
19
0
Bonjour à tous,

après pas mal de recherches, je me décide à poster ce sujet car je ne trouve pas de réponse à mon problème.

J'ai un iMac 27 pouces fin 2009.
J'ai 2 partitions, une pour Mac Os et une pour Windows.
Après avoir fait la mise à jour de Mac OS vers la version High Sierra, je n'arrive plus à lancer Windows 7 qui était déjà installé.
Lorsque je choisi de booter sur Windows, l'écran reste bloqué sur un tiret clignotant...
Je n'arrive pas à faire une simple "réparation" de windows à partir du CD, je peux juste formater et installer une nouvelle version de Windows 7.
Je voudrais pourvoir redémarrer sur le Windows 7 existant sans installer une nouvelle version qui écraserait mes données... mais je ne sais plus quoi faire pour y arriver !

Auriez-vous un petit tuyau à me donner ?

Merci !
 
Bonjour MacTimber

Voici comment tu vas pouvoir fournir les informations de base -->

- va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs paramètres de tables de partition > partitions > Conteneur CoreStorage si présent > Conteneur apfs si présent

Poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->
  • dans la page de ce fil de MacGé > presse le bouton
    524315_original.png
    ici :
    521520_original.png

    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é)

=> ces informations montreront la configuration du disque.
 
  • J’aime
Réactions: MacTimber
Merci beaucoup, voici la config de mon SSD de 1To :

Bloc de code:
iMac:~ iMac$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         512.0 GB   disk0s2
   3:       Microsoft Basic Data Windows 7               512.0 GB   disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +512.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume MacOS                   333.6 GB   disk1s1
   2:                APFS Volume Preboot                 23.3 MB    disk1s2
   3:                APFS Volume Recovery                516.1 MB   disk1s3
   4:                APFS Volume VM                      20.5 KB    disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *62.1 GB    disk2
   1:             Windows_FAT_32 KINGSTON                61.9 GB    disk2s1

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk3
   1:         Microsoft Reserved                         134.2 MB   disk3s1
   2:       Microsoft Basic Data USB WD 2To              2.0 TB     disk3s2

/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            CD_ROM                 *4.3 GB     disk4

iMac:~ iMac$
 
Je vois que tu as un SSD dans ton Mac > car High Sierra s'est installé en format apfs : virtualisation d'un espace-disque Conteneur portant 4 volumes - dont un volume Recovery contenant l'OS de secours.

Cette "internalisation" du volume de secours avec l'apfs --> a induit la suppression de la partition de secours antérieure (volume Recovery HD) qui occupait une position intermédiaire entre la partition de macOS et celle de Windows lorsque l'OS antérieur était de type jhfs+.

ìl n'est pas impossible que cette soustraction d'une partition ait eu un effet sur le boot de Windows dans l'actuel volume Windows 7.

Car l'OS Windows-7 sur Mac dépend d'un type de boot dit : "Legacy" particulièrement sophistiqué. Sur le bloc 0 (1er bloc) du disque > en alternative de la table de partition GPT principale des blocs 1 à 32 --> existe alors une table de partition HMBR (Hybrid_MBR) qui décrit au plus 3 partitions dont les locallisations sont empruntées aux descripteurs de la GPT.

Cela étant > l'EFI (programme interne du Mac) émule à la volée un BIOS (programme interne de type Windows "old_school") > qui lit la table HMBR du bloc 0 > le descripteur de la partition de Windows > va au volume Windows 7 > et exécute le boot_loader (lanceur) Legacy : bootmgr.

Il faut inspecter ce qu'il en est de cette table HMBR du bloc 0 dont tout dépend pour toi.

Passe la commande :
Bloc de code:
sudo gpt show disk0

  • la commande affiche le tableau des blocs du SSD. Mais l'activation du SIP (protocole de sécurisation) peut bloquer la commande en lecture.

Poste ce qui est retourné.
 
Voici le message :


Bloc de code:
Last login: Tue Feb  5 18:16:28 on ttys000
iMac:~ iMac$ sudo gpt show disk0
Password:
gpt show: unable to open device 'disk0': Operation not permitted
iMac:~ iMac$
 
Cette réponse :
Bloc de code:
Operation not permitted

  • est un déni émanant typiquement de l'activation du SIP.
----------

Pour désactiver le SIP > redémarre > les 2 touches ⌘R (cmd R) tenues pressées de l'écran noir => à la  = 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.

Lance-le et passe la commande :
Bloc de code:
csrutil disable

  • qui désactive le SIP

Cela fait > quitte le Terminal > va à : Menu  > Disque de démarrage > sélectionne Macintosh HD > redémarre dessus.

----------

Une fois de retour dans ta session habituelle > repasse la commande :
Bloc de code:
sudo gpt show disk0

  • et poste le tableau des blocs qui aura été affiché cette fois-ci.
 
Merci pour ton aide et ta patiente !
Voici le tableau des blocs :

Bloc de code:
iMac:~ iMac$ sudo gpt show disk0
Password:
gpt show: 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  1000001496      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  1000411136   999997440      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  2000408576         655        
  2000409231          32         Sec GPT table
  2000409263           1         Sec GPT header
iMac:~ iMac$
 
Cette mention -->
Bloc de code:
           0           1         MBR

  • décrit la table de partition alternative sur le bloc 0. Désignée comme MBR --> il s'agit bien d'une vraie table de partition MBR. Désignée comme : "Suspicious MBR at sector 0" --> il s'agit bien d'une HMBR (Hybrid_MBR). Ce qu'il faut pour le boot Legacy de Windows-7.

L'utilitaire gpt ne peut rien faire de plus à ce sujet. Il faut passer à présent par un utilitaire de tierce partie : gdisk de Roderick Smith > que tu dois installer.

Va à cette page internet : ☞GPT fdisk☜ (clique le lien rouge) et presse le bouton vert : "Download". Tu récupères un paquet d'installation : gdisk-1.0.4.pkg --> fais un double-clic dessus pour lancer l'installation qui va installer un exécutable gdisk at: /usr/local/bin/gdisk. Il sera dès lors directement appelable dans un terminal.

- préviens quand c'est fait.​
 
Alors lance gdisk en lecture du SSD interne par la commande :
Bloc de code:
sudo gdisk /dev/disk0

  • la commande affiche les tables de partition du disque > puis te restitue l'invite de commande interactive de gdisk

Poste le tableau retourné. Ne ferme pas le terminal mais laisse gdisk en instance.
 
Le tableau :

Bloc de code:
iMac:~ iMac$ sudo gdisk /dev/disk0
Password:
GPT fdisk (gdisk) version 1.0.4

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):
 
On voit bien la confirmation d'une HMBR ici -->
Bloc de code:
  MBR: hybrid

  • les commandes dans gdisk où tu te trouves consistent à taper une lettre puis à valider avec "Entrée" > et etc. si nécessaire.

Passe les commandes successives :
Bloc de code:
r
o

  • et valide chaque fois avec "Entrée"
  • la 1ère te fait entrer dans le menu "Récupération" de gdisk ; la 2è affiche la table de partition HMBR du bloc 0

Poste le tableau retourné.
 
la suite :

Bloc de code:
Command (? for help): r      

Recovery/transformation command (? for help): o

Disk size is 2000409264 sectors (953.9 GiB)
MBR disk identifier: 0x084BD789
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1       409639   primary     0xEE
   2                409640   1000411135   primary     0xFF
   3      *     1000411136   2000408575   primary     0x0C

Recovery/transformation command (? for help):
 
La table de partition HMBR -->
Bloc de code:
   1                     1       409639   primary     0xEE
   2                409640   1000411135   primary     0xFF
   3      *     1000411136   2000408575   primary     0x0C

  • décrit les 3 partitions du disque. Correctement la 1ère (partition EFI) et la (partition Windows). Avec l'astérisque * pour cette dernière qui la désigne comme démarrable.
  • elle ne décrit pas correctement la (partition apfs) car elle lui associe un type "Apple_HFS" > alors que la partition a été convertie au type "Apple_APFS".

=> est-ce que cette seule erreur peut expliquer le problème de boot ?
 
Certainement, d'après ce que j'ai compris c'est le changement de type de partition qui pose problème.
Est-il possible de modifier le type de la partition 2 et surtout y-a-t-il une chance que ça puisse résoudre le problème de démarrage sur la partition windows ?
 
Dernière édition:
Comme il se fait tard > je reviendrai dans ton fil demain --> pour qu'on recrée la table de partition HMBR avec un type correct pour la partition apfs. Ce via gdisk.

- cela dit > je ne sais pas si tu peux encore booter W-7 > avec une version apfs High Sierra de macOS installée à côté...​
 
Voici le tuto pour réécrire la HMBR du bloc 0 -->

- tu commences par repasser la commande :
Bloc de code:
sudo gdisk /dev/disk0

  • qui affiche en retour le tableau :
Bloc de code:
GPT fdisk (gdisk) version 1.0.4

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):

  • voici la suite des opérations : tu tapes et tu valides chaque fois la commande constituée par 1 lettre ou par 2 lettres à la fin des énoncés -->
Bloc de code:
Command (? for help): r

Recovery/transformation command (? for help): h

WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.

Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y

Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default AF): 0a
Set the bootable flag? (Y/N): n

Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 07): 0c
Set the bootable flag? (Y/N): y

Unused partition space(s) found. Use one to protect more partitions? (Y/N): n

Recovery/transformation command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk6.
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.

  • ce qui revient à l'enchaînement de commandes suivant -->
Bloc de code:
r
h
2 3
y
0a
n
0c
y
n
w
y

  • la commande 2 3 se frappe les 2 chiffres séparés par un espace libre

Cela fait > tu redémarres une fois > puis de retour dans ta session tu repasses la commande :
Bloc de code:
sudo gdisk /dev/disk0
  • puis les commandes :
Bloc de code:
r
o

  • qui réaffichent le tableau de la nouvelle HMBR du bloc 0

Poste ce tableau.

Note : tu quittes la session interactive de gdisk dans le terminal par la commande :
Bloc de code:
q

  • et validation avec "Entrée" --> ce qui te redonne l'invite de commande par détaut.
 
Merci pour ces explications supers claires !
Voici le tableau :

Bloc de code:
iMac:~ iMac$ sudo gdisk /dev/disk0
Password:
GPT fdisk (gdisk) version 1.0.4

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): r

Recovery/transformation command (? for help): o

Disk size is 2000409264 sectors (953.9 GiB)
MBR disk identifier: 0x084BD789
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1       409639   primary     0xEE
   2                409640   1000411135   primary     0x0A
   3      *     1000411136   2000408575   primary     0x0C

Recovery/transformation command (? for help):
 
Tu a bien réussi la recréation de la table HMBR. L'hex code : 0x0A défnit bien un type de partition : "Apple_APFS" pour la partition intermédaire.

- tu n'as qu'à essayer de redémarrer le Windows de ton volume Windows 7 et dire ce qui s'est passé...​