Windows su un MBR / GPT ibrido

Ho pensato che avrei finalmente relegato Windows in vita all'interno di una macchina virtuale, ma ahimè , mi sono imbattuto in alcuni giochi che vorrei giocare che semplicemente non farà in quella installazione. Nei giorni in cui l'ultima occupazione di Windows occupava il proprio pezzo specificato del mio disco, ho fatto un sacco di spostamenti con diverse distribuzioni OS e distribuzioni Linux e mi è sembrato che, mentre avevo spazio libero, ero al numero massimo di partizioni supportte dalle tabelle di partizione MBR . Quindi, credendo che wheresse funzionare Just Work® nel 21 ° secolo e aver eseguito un esame approfondito di Google che ha indicato che dovrebbe funzionare, ho convertito in una tabella di partizioni GUID (GPT) e ho tentato di installare Windows 7. Ecco, Windows 7 funziona solo con GPT sui sisthemes EFI e il mio utilizza BIOS. Avrei dovuto notare questo nella mia precedente ricerca, ma sarebbe stato troppo facile.

Quindi, mi sono lasciato con la scelta di tornare a MBR e cercare di ingannare il layout della mia partizione in modo da poterlo fare per Windows o andare con un MBR ibrido . Questi ultimi sembrano più attraenti. Purtroppo, ci sono molti avvertimenti spaventosi su MBR ibridi su Internet, quindi ho alcune domande.

Windows farà qualcosa di brutto al mio bootloader poiché è veramente GPT ma vedrà MBR? Ciò richiederebbe più riparazioni che avviare da un LiveCD e eseguire grub-install ? C'è qualcosa di cui ho bisogno per evitare di non toccare mai gli strumenti di partizionamento su Windows? Il mio computer esplodere? Sarebbe un sacco di mal di testa salvato se mi sono appena passati al MBR? (Capisco che i Mac utilizzano MBR ibridi con Boot Camp, quindi speriamo che questo non sarà più difficile come lo sto facendo.)

Non c'è bisogno di regredire lo schema di partizionamento MBR, nemless alcuna necessità di un sistema di partizionamento "ibrido MBR". (Ho una cosa su una delle mie macchine e attesti che non sono per i deboli.)

Windows 7 è in grado di utilizzare i dischi partizionati EFI. Non è ansible eseguire il bootstrap su di essi su macchine non EFI e (per proteggerti da te stesso, in moda Microsoft) si rifiuta di installarli in primo luogo. Nel tuo caso, il tuo problema è una carenza fondamentale del tuo firmware e non è affatto un problema di Windows . Il firmware non comprende la tabella di partizione EFI.

Tale comprensione è necessaria se si desidera convertire il bootstrap del proprio sistema operativo su dischi partizionati EFI. Il firmware di One deve sapere di mettere il menu EFI Boot Manager e quindi caricare il programma di caricamento del sistema operativo selezionato dalla Partizione Sistema EFI . Il tuo firmware, però, non è molto intelligente e non sa fare molto di più di caricare il "record di avvio principale" e di eseguire il suo codice di bootstrap. Su un disco partizionato EFI non è presente alcun codice nel "record di avvio principale" per eseguire la manovrazione del resto del process di avvio EFI.

Nella migliore delle ipotesi, al momento, hai un codice di bootstrap MBR che è altrettanto ignorante dello schema della tabella delle partizioni EFI come il tuo firmware e che prevede di trovare e elaborare una tabella di partizione MBR. Ciò che ti serve è due cose:

  • avere codice di bootstrap MBR che sa leggere la tabella di partizione EFI e trovare un loadstrap loader di secondo stadio che è anche EFI-partizione-tabella-capace e che vi permetterà a sua volta a caricare ed eseguire i boot loader del sistema operativo
  • un certo modo di persuadere Windows 7 per installare su un disco partizionato EFI

Il primo non è imansible. Esistono due fonti di bootstraps MBR, tali da comprendere l'EFI:

  • Ho scritto e pubblicato uno (dopo che questa risposta è stata scritta in primo luogo, infatti).
  • Il cosiddetto "MBT" GPR di MBR in SYSLINUX, scritto da H. Peter Anvin, è un altro.

Entrambi cercheranno la partizione "triggers" e caricheranno ed eseguiranno il suo VBR, effettivamente il bootstrap nel vecchio modo PC / AT e PC98, ma con una tabella di partizione EFI. In mancanza di questi due, le migliori alternative che si otterranno adesso sono:

  • GRUB 2 : Purtroppo questo ancora si basa su spingere i numbers cablati nel suo codice bootstrap MBR per dirgli where trovare la parte successiva del caricatore. Ma quella seconda fase, una volta caricata e eseguita, è pienamente in grado di comprendere la tabella di partizione EFI e di avviare i boot loader del sistema operativo dalle partizioni. Non sa come eseguire i caricabatterie del sistema operativo EFI, però, solo sapendo come far fronte a VBR o Linux e ai BSD.
  • UEFI DUET: ( Rod Smith lo discute in dettaglio. ) Ancora una volta purtroppo, sebbene questo si installa in un volume e presenta un EFI Shell completo di EFI Boot Manager, ha ancora bisogno di qualcos'altro per caricare e gestire il suo VBR in primo luogo. E adesso che qualcos'altro deve essere qualcosa di simile a GRUB2, che si basa su numbers settori hardwired nel codice MBR, o SYSLINUX, o effettivamente il mio bootstrap MBR di consapevolezza di partizione EFI. Ma sanetworking in grado di eseguire corretti caricabatterie boot system EFI.

Il secondo (persuadere Windows 7 per l'installazione su un disco partizionato EFI) è raggiungibile, alless con il sapore x86-64 di Windows 7. È complesso, non ufficialmente supportto da Microsoft, e richiede di fare ciò che è effettivamente il proprio disco di installazione di Windows con la versione EFI di Boot Manager di Microsoft su di esso e di eseguirlo in un ambiente di avvio di EFI in qualche modo. (Se avete installato UEFI DUET, questo è abbastanza facile, ma naturalmente.) Ma convince a Windows 7 che il suo programma di installazione è stato avviato su un sistema EFI, quale criterio viene utilizzato dall'installatore per determinare se consentirà l'installazione di Windows in un EFI ha riparato il disco rigido.

Naturalmente, c'è l'ulteriore, ultima, complessa, una volta installato, bootstrap Windows 7 da giorno in giorno; perché l'installatore, sapendo di avere EFI firmware, avrà installato la versione EFI di Boot Manager di Microsoft. Avnetworking quindi bisogno di:

  • per installare la versione PC / AT di Microsoft Boot Manager e disporre che GRUB2 saprà where è, se si utilizza GRUB2; o
  • di avviare sempre UEFI DUET e di avviare da qui la versione EFI di Microsoft Boot Manager.

Praticamente tutto questo assurdo va via se uno ha EFI firmware in primo luogo. Windows 7 (x86-64) si installerà felicemente e un EFI Boot Manager che comprende la tabella di partizione EFI e che caricherà ed eseguirà il Boot Manager di Microsoft (nonché qualsiasi altro sistema operativo avviato da EFI) direttamente dal suo file di image ordinario nella Partizione Sistema EFI, viene fornito con il firmware.

Ci sono diverse soluzioni possibili per questo problema. Riassumendo, in modo più o less il mio ordine di preferenza:

  • Aggiorna la tua scheda madre – Se ottieni una scheda madre con funzionalità di avvio UEFI, sarai impostato, poiché puoi quindi installare Windows in modalità UEFI. La maggior parte (forse tutte) tabs basate sul ponticello Sandy Intel sono UEFI-capable, anche se alcuni non pubblicizzano questo fatto. Molte nuove tabs AMD sono anche UEFI-capable. In realtà, c'è la possibilità che tu abbia già una tale table. Molte tabs di marca Intel vendute negli ultimi anni hanno un'opzione di avvio UEFI sepolta nelle schermate delle impostazioni CMOS. Potresti provare a cercare una tale opzione. Potrebbe essere necessario utilizzare la modalità UEFI per tutti i sisthemes operativi. Fortunatamente, Linux si converte piuttosto facilmente e può passare avanti e indietro senza riconfigurare una volta che sia impostato per avviare in entrambi i modi. Si noti che è necessaria una versione a 64 bit di Vista o 7 per installare Windows in modalità UEFI.
  • Utilizzare un secondo disco rigido – È ansible installare Windows su un disco MBR e tenere Linux su un disco GPT. Puoi anche mettere partizioni dati di Windows sul disco GPT se ti piace (a condizione che utilizzi Vista o 7); solo il disco di avvio di Windows deve essere su MBR. Anche se hai un vecchio disco da 20 GB, probabilmente è sufficiente tenere la partizione di Windows C: quindi puoi inserire i file del programma di Windows su una partizione GPT, a condizione che utilizzi Vista o 7.
  • Converti in MBR – Puoi farlo con GPD fdisk (gdisk) , ma con certi avvertimenti. Soprattutto, dovrai avere alless un settore libero prima di each partizione logica che vuoi creare e tutte le partizioni logiche devono essere contigue. Se il disco corrente non soddisfa tali specifiche, perdenetworking partizioni nella conversione o dovrai ridimensionare alcune partizioni per creare le lacune necessarie. C'è anche qualche rischio di perdita di dati, in particolare se si deve ridimensionare le partizioni.
  • Utilizza UEFI DUET – Come suggerito da JdeBP (e collegato alla mia pagina sull'argomento ), UEFI DUET è una possibilità. IMHO, gli inconvenienti di questo approccio non sono grandi come suggerisce JdeBP, se anche UEFI DUET inizia il boot sul tuo sistema. (Le probabilità sono buone se hai una CPU Intel a 64 bit, less bene sulle CPU AMD a 64 bit e non funziona affatto a CPU a 32 bit.) Bisogna stare attenti e avere un buon mente per la risoluzione di problemi tecnici per provare questo, però. È ansible eseguire alcune esplorazioni preliminari con un'unità flash USB; installare UEFI DUET e vedere se è ansible avviarlo. Se si avvia, probabilmente sarà ansible get Windows per l'installazione e l'avvio, anche su base regolare, anche se ci sono trappole, come notato nella mia pagina sul sobject. Una volta impostato, UEFI DUET diventa essenzialmente un caricatore di avvio GPT piuttosto grande per Windows.
  • Usa la virtualizzazione – non è proprio quello che stai chiedendo, ma è imprescindibile che Windows funzionasse in modo accettabile in una macchina virtuale. Per il gioco, però, sono un po 'scettico che avrai le performance necessarie, ma vale la pena provare.
  • MBR ibrido – È ansible impostare questa impostazione e installare Windows in una partizione ibrida. Windows eliminerà il caricatore di avvio corrente di MBR, in modo da essere pronti per reinstallarlo. Personalmente, non consiglio questa soluzione, in quanto i MBR ibridi sono pericolosi. Se tutte le altre opzioni cadono, però, potrebbe essere questo è dare su Windows.

Vorrei anche chiarire un paio di idee sbagliate:

  • L'impossibilità di avviare Windows da GPT in un computer basata su BIOS è sicuramente una limitazione di Windows, non una limitazione del firmware (BIOS). Linux, FreeBSD e altri OS possono avviare bene i dischi GPT sui computer basati su BIOS. Non so perché Microsoft non desideri supportre l'avvio di Windows da GPT su computer basati su BIOS, ma potrebbero certamente farlo se lo desiderassero. Se non altro, avrebbero potuto prendere un'implementazione UEFI, distruggerlo ai suoi elementi essenziali e utilizzarlo come un boot loader.
  • Il caricatore GPT di SYSLINUX non utilizza valori settori codificati; ha abbastanza smarts per leggere il GPT e saltare alla partizione con una bandiera bootable BIOS Legacy impostata su di esso. Non che c'è qualcosa di sbagliato con i valori del settore codificato, come il GRUB 2 fa; le due soluzioni hanno solo vantaggi e svantaggi diversi.

Se hai anche un piccolo drive MBR, puoi farlo senza hack. Funzionerà anche con Windows 32 bit . Un floppy o una chiavetta USB farà.

Avviare il disco di installazione / riparazione di Windows. Creare l'unità di sistema sul bastone e utilizzare bcdboot per mettere i file di avvio sul bastone. Aggiungere un bootsector con bootsect . Modificare il device {bootmgr} per boot . Scarpone da bastone.

Le fasi sono dettagliate qui .