Grub2 MBR contro Windows MBR

Ho un sistema HP fornito con Vista installato e anche una partizione di ripristino nascosta. Ho successivamente aggiornato a Win7 (32 bit) Ultimate, e da lì a Win7 Pro. Ora il disco rigido sta fallendo. Sono riuscito a utilizzare partimage per afferrare la partizione di ripristino (senza errori) prima di metterlo su ghiaccio in preparazione per un recupero basato su congelatore della partizione Win7.

Su un'altra unità ho creato 3 partizioni primarie e una partizione estesa:

  1. Partizione di ripristino (NTFS)
  2. Partizione Win7 (NTFS)
  3. Ubuntu root (ext4)
  4. Ubuntu swap (ext4) (partizione logica)

Successivamente, ho installato Ubuntu 10.4 e ho permesso a grub2 di installare il MBR. Quindi, ho usato partimage per popolare la partizione di ripristino con l'image che ho tirato fuori l'unità guasta. Ora, prima di tentare di recuperare la partizione Win7 voglio essere sicuro di poter accedere alla partizione di ripristino esistente. E non posso. Posso vedere i file, ma non riesco ad avviarlo. Grub lo vede come un partito di Windows e lo elenca nel menu. Ma quando provo a caricarlo, mi fissano solo uno schermo vuoto con un cursore lampeggiante. Ho cercato di bypassare grub usando gparted per rendere attivo la partizione di ripristino e caricarla direttamente a quella invece di grub, ma ancora in boot in grub.

Quindi, con questo background, lasciate che porti le mie domande.

  1. Come lo capisco, il codice MBR IBM / WIndows standard appare nella tabella delle partizioni per la prima partizione primaria con il set di flag attivo / avviabile e quindi trasferisce il controllo al codice che trova all'inizio di quella partizione oppure il "boot partition record "(PBR). Il PBR quindi individua NTLDR / BOOTMGR / grub / etc e lo carica. La mia comprensione è corretta?
  2. Dove nel process di avvio è il tasto di interruzione (f11 nel caso di HP) per avviare la partizione di ripristino gestita? MBR? PBR? Gestore di avvio / loader?
  3. Quando grub scrive l'MBR sembra anche utilizzare il resto della traccia 0 e il codice MBR esegue questo codice prima di passare per caricare il resto del codice grub in qualsiasi partizione in cui è caricata (nel mio caso la partizione 3). In questo senso ignora la flag triggers / avviabile nella tabella delle partizioni. Lo ho capito correttamente?

Ovviamente manca alcuni pezzi perché non posso caricare la partizione di ripristino. Penserei che il command grub "chainloader" (perché +1?) Avrebbe semplicemente eseguito il codice PBR. Se questo è vero allora qualcosa nella mia partizione di ripristino è hosed.

Nei sisthemes con una tale partizione di ripristino, di solito la partizione triggers è la partizione di ripristino. La partizione di ripristino visualizza il messaggio "Stampa F11" e, se non premuto, inoltra alla partizione OS principale.

L'MBR è essenzialmente muto; tutto ciò che fa è scegliere una delle partizioni e inoltrare alla VBR di quella partizione.

Se si desidera un avvio dual boot linux / windows, allora la partizione di ripristino dovrebbe essere inoltrata alla partizione GRUB, che quindi consentirebbe opzioni e inoltrerebbe a Windows se Windows è stata selezionata.

Non perdere tempo con la partizione di ripristino – è ansible get tutti i driver dal sito web di HP e se hai già 7 nella casella penso che possiamo entrambi concordare che vogliamo tornare a Vista è improbabile.

Quindi, alle tue domande specifiche.

  1. Sì, la tua comprensione è corretta
  2. Risposto sopra
  3. Non è sicuro specifico di cosa GRUB fa quando viene installato nel MBR. Per la mia comprensione non ha messo veramente la logica aziendale, ma potrei sbagliarmi.

Spero possa aiutare 🙂

Domanda 3: Sì grub mette di se stesso in pista 0. Io personalmente non ho mai messo grub nel mbr, uso sempre un "normale" mbr e installo grub in una partizione primaria.

Sia che utilizzi una parte del disco che non sia contrassegnata come utilizzata causerà un problema che dipende. Credo che il partizionatore di dischi in Windows Vista e 7 si comporti in modo diverso rispetto alla versione precedente, ma non so se utilizzi i pezzi di ricambio della traccia 0.

Ho sentito di recente delle persone che hanno problemi perché una versione di prova di un programma (Adobe qualcosa?) Scrive a quella zona del disco che sovrascrive alcuni grub (per poter fermare le persone che reinstallano il process ancora e ancora suppongo). (Ascolta un episodio più recente del podcast Ubuntu UK per i dettagli) La mia opinione è che se scrivi a aree che non appartengono a te, non puoi lamentarmi di altre persone che fanno esattamente la stessa cosa.

Il bit del grub scrive l'indirizzo del disco fisico della prossima fase di se stessa nel proprio codice e non tiene conto delle partizioni affatto, attive o less.

Il MBR (settore 1, 512 byte) contiene il codice di avvio e la tabella delle partizioni. Il codice MBR "predefinito" trova la partizione primaria triggers e la catena lo carica. (Nel linguaggio GRUB, +1 rappresenta il primo settore, il settore di avvio di quella partizione.)

Quando si installa GRUB nel MBR, sostituisce il codice MBR predefinito (mantenendo naturalmente la tabella delle partizioni) e carica invece il resto dell'image principale di GRUB, installata nel "gap MBR" – la parte presunta inutilizzata della prima "traccia" che viene dopo il settore MBR. Se si installa GRUB in una partizione, lo installa come settore di avvio; la catena di codice MBR predefinita carica il settore di avvio di GRUB.

Quindi è per questo che stai sempre eseguendo GRUB – questo è il codice del MBR che è stato modificato per fare. È ansible ripristinare il codice MBR predefinito con una qualche variazione di fixmbr .

Ma nella migliore delle ipotesi, ciò dimostrerebbe solo che la tua image della partizione di ripristino è buona e che è ansible accedervi tramite una MBR di vaniglia. In realtà, se dimostri che la tua image della partizione di ripristino è male, forse è per questo che non funzionava tramite GRUB e se fosse buona, avrebbe funzionato. Quindi potrebbe essere meglio se puoi fare una buona copia.

È ansible che la partizione di ripristino non venga avviata tramite GRUB, per qualche ragione bizzarra. Può essere stato un salsa speciale nella MBR originale della fabbrica che era un prerequisito per la partizione di ripristino. Ho evitato sisthemes che li hanno, in modo da non posso offrire molta conoscenza lì.