Con l'uscita di High Sierra, Apple ha dimenticato le esigenze degli utenti di Windows 7. La combinazione di comandi corretta (o errata) causa la cancellazione dei valori memorizzati nella tabella Master Boot Record (MBR). Windows 7 utilizza questi valori per determinare il partizionamento dell'unità. Fortunatamente, questi valori sono duplicati nella tabella delle partizioni GUID (GPT). Sfortunatamente, dovrai preformare il noioso compito di rientrare nei valori mancanti.
A meno che non si disabiliti System Integrity Protection (SIP), le soluzioni indicate di seguito richiedono l'avvio da recupero macOS tramite il Internet, recupero integrato o un programma di installazione macOS per unità flash USB . Una volta avviato a recupero macOS , apri una finestra dell'applicazione Terminale.
Note: The Terminal application can be found under "Utilities" on the menu bar.
Soluzione senza utilizzare strumenti di terze parti
La risposta data sotto è basata sulla mia risposta alla domanda Come convertire un'unità dal formato GPT al formato GPT / MBR ibrido quando si utilizza High Sierra (macOS 10.13.2) . Dovresti leggere questa domanda e rispondere prima di procedere.
Il comando indicato di seguito può essere utilizzato per visualizzare parzialmente le informazioni contenute nella tabella di partizione GUID (GPT) memorizzata in disk0
. Queste informazioni saranno necessarie quando si modifica la tabella Master Boot Record (MBR).
gpt -r show /dev/disk0
Ecco i passaggi che riguardano la modifica della tabella MBR per creare uno schema di partizionamento ibrido. Stai preformando gli stessi passaggi forniti in questa risposta , ad eccezione delle modifiche fornite di seguito.
-
Il comando interattivo per modificare la tabella delle partizioni MBR è riportato di seguito. Tutte le modifiche saranno non inserite in modalità CHS.
fdisk -e /dev/disk0
L'immissione di questo comando ha prodotto il seguente output
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1>
Note: The control+C key can be pressed at anytime to terminate the fdisk
command without saving any changes.
-
L'unica voce, nella tabella MBR iniziale, definisce una "partizione protettiva". Questa partizione deve essere troncata alla fine della prima partizione nel GPT con il GUID di C12A7328-F81F-11D2-BA4B-00A0C93EC93B
. Ciò significa che il valore start
deve rimanere 1
, ma il valore size
deve essere ridotto al valore start
+ size
- 1
. I valori utilizzati in questa equazione devono essere presi da GPT. Il valore calcolato di solito è 409639
.
Di seguito sono riportati i valori corretti da inserire in fdisk
per la prima partizione della tabella MBR. Sostituisci <start + size - 1 of GPT partition with index=1>
con il valore intero calcolato.
edit 1
EE
N
1
<start + size - 1 of GPT partition with index=1>
-
Successivamente, immettere i valori corretti per la seconda partizione della tabella MBR. Il comando è edit
e id
è AC
. I valori di start
e size
sono gli stessi mostrati nel GPT. In questo modo, otterrai ciò che è mostrato di seguito.
edit 2
AC
N
<start of GPT partition with index=2>
<size of GPT partition with index=2>
-
Ripetere il passaggio precedente per aggiornare le partizioni delle tabelle MBR 3 e 4. Questo è mostrato sotto. Il id
per la partizione 3 è AB
e per la partizione 4 è 07
.
edit 3
AB
N
<start of GPT partition with index=3>
<size of GPT partition with index=3>
edit 4
07
N
<start of partition with index=4>
<size of partition with index=4>
-
Il comando successivo contrassegna la quarta partizione MBR come avviabile. Questa partizione è stata scelta perché è qui che risiede Windows.
flag 4
-
Il prossimo comando da inserire è print
. Questo comando visualizza l'aspetto della tabella MBR aggiornata. Puoi utilizzare l'output per verificare le tue modifiche.
Note: The descriptions such as <Unknown ID>
, Xenix BBT
and HPFS/QNX/AUX
are either wrong and/or outdated. Also, the cyl
, hd
and sec
values are no longer used by macOS or Windows so you can ignore these values.
-
Il comando finale quit
riporta la tabella all'MBR, quindi esce fdisk
. Questo è mostrato sotto.
fdisk:*1> quit
Writing current MBR to disk.
Device could not be accessed exclusively.
A reboot will be needed for changes to take effect. OK? [n] Y
Come suggerisce il messaggio precedente, sarebbe una buona idea riavviare il Mac.
Soluzione utilizzando uno strumento di terze parti
Il comando gdisk
è uno strumento di terze parti che può essere utilizzato per evitare di dover inserire manualmente i valori della partizione dal GPT. Puoi scaricare gdisk
da questo sito Web di SourceForge . Una volta avviato a macOS Recovery, è necessario inserire il comando indicato di seguito.
/Volumes/HARDISK/usr/local/bin/gdisk /dev/disk0
Note: I assume the name of your macOS boot volume is HARDDISK
. If not, make the appropriate substitution.
Un esempio del tuo input per gdisk
è riportato di seguito.
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): 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 4
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): ac
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default AB): ab
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #4 (MBR partition #4)
Enter an MBR hex code (default 07): 07
Set the bootable flag? (Y/N): y
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/disk0.
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.
Come suggerisce il messaggio precedente, sarebbe una buona idea riavviare il Mac.
Considerazioni finali
Se il tuo Mac non riesce ancora ad avviare Windows, dovrai ricostruire il tuo codice di avvio di Windows. Per questo avrai bisogno di un flash drive che hai usato per installare Windows 7. Fammi sapere se hai bisogno di istruzioni.
Se leggi fino a questo punto, potrei anche citare l' altro problema . La tua partizione Recovery HD
non suppone che abbia una dimensione di 87,8 GB. Questo non ha nulla a che fare con Windows, ma ho pensato di doverlo indicare.