Bootcamp: nessun dispositivo avviabile: inserire il disco di avvio e premere un tasto qualsiasi

3

Ho installato con successo Windows 7 sul mio MacBook Pro 2011 (MacOS High Sierra). È stato riconosciuto all'avvio dal computer e non ha avuto problemi.

Poi ho usato Utility Disco per creare dello spazio libero sul disco rigido condiviso da MacOS e Windows. Ora ricevo questo messaggio all'avvio su Windows: nessun dispositivo avviabile: inserisci il disco di avvio e premi qualsiasi tasto

Usando il Finder, posso vedere che i miei file di Windows 7 sono tutti intatti, ma non riesco ad avviare Bootcamp!

Di seguito è riportato l'output del comando 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_CoreStorage HARDISK                 600.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             87.8 GB    disk0s3
   4:       Microsoft Basic Data BOOTCAMP                120.0 GB   disk0s4 

Di seguito è riportato l'output da fdisk /dev/disk0 in MacOS Recovery:

-bash-3.2# fdisk /dev/disk0
Disk: /dev/disk0 geometry: 121601/255/63 [1953525168 sectors]
Signature: 0xAA55
     Starting       Ending
#: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
1: EE 1023 254  63 - 1023 254  63 [         1 - 1953525167] <Unknown ID>
2: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
4: 00    0   0   0 -    0   0   0 [         0 -          0] unused  

Di seguito è riportato l'output di ls -d /Volumes/BOOTCAMP/Boot in MacOS Recovery:

/Volumes/BOOTCAMP/Boot
    
posta Talon Meyer 01.01.2018 - 02:54
fonte

1 risposta

3

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.

  1. 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.

  2. 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>
    
  3. 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>
    
  4. 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>
    
  5. Il comando successivo contrassegna la quarta partizione MBR come avviabile. Questa partizione è stata scelta perché è qui che risiede Windows.

    flag 4
    
  6. 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.

  7. 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.

    
risposta data 02.01.2018 - 01:19
fonte

Leggi altre domande sui tag