Scopo: Chiedendo perché, vale a dire dopo aver installato Windows XP o (Windows Vista) sul computer dual-boot di Windows XP e Linux, non è in grado di fare il boot? La risposta è che o c'è un bug nel pacchetto GRUB2 o il disco IDE convenzione di denominazione è cambiata in GRUB2 da GRUB legacy.

Stai ricevendo seguenti messaggi di errore di GRUB2 quando si tenta di avviare Windows XP?

  • chainloader: tale comando.
  • tale partizione
  • è necessario caricare il kernel prima

Se siete quindi seguire le istruzioni riportate di seguito per cercare di risolvere il vostro problema.

Set-up:

Un computer portatile con dual-boot - Windows XP e Debian (Lenny) su partizioni separate su un singolo disco rigido. Ecco la mia struttura delle partizioni:
# fdisk -l /dev/sda

Disk / dev / sda: 60.0 GB, 60011642880 byte
255 testine, 63 settori / traccia, 7296 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificatore disco: 0x2e61c242

Blocchi Boot Device Inizio Fine Id Sistema
/ Dev/sda1 * 1 3315 26627706 7 HPFS / NTFS
/ Dev/sda2 3316 7296 31977382 + 5 Esteso
/ Dev/sda5 * 3316 5139 14651248 + 83 Linux
/ Dev/sda6 5140 5200 489951 82 Linux swap / Solaris
/ Dev/sda7 5201 7296 16836088 + b W95 FAT32

Passo 1: Installare GRUB2

Supponiamo che l'aggiornamento a GRUB2 fare seguente:

#apt-get update
#apt-get install grub2

Fase 2: Riavviate il sistema

Ora sulla installazione del pacchetto GRUB2 con successo e riavviare il computer verrà visualizzato un menu di GRUB cambiato. Ora selezionate "chainload in GRUB2" e le probabilità sono che non sarà nemmeno a trovare la partizione XP elencato in là (non ho trovato la mia).

Passaggio 3: Creare un file di avvio per Windows XP/Vista/7

L'avvio del sistema Linux selezionando il kernel (se ci sono più) dal menu GRUB2 e vedere se si avvia bene. Dopo l'avvio in Linux effettuare le seguenti operazioni:
# nano /etc/grub.d/11_Windows (this will essentially create a new file)

e aggiungere le seguenti righe:

#! /bin/sh -e
echo "Adding Windows" >&2
cat << EOF
menuentry "Windows XP" {
set root= (hd0,1)
chainloader +1
}
EOF

Nota: Nella versione precedente di GRUB, se il vostro Windows è stato installato su Prima partizione allora avete bisogno di dare root = (hd0, 0), poiché è così che l'uso GRUB numerare le partizioni. Tuttavia da questa nuova versione in poi, è necessario dare root = (hd0, 1) se il vostro Windows è installato in prima partizione del disco rigido.

Aggiornamento: Una delle commentatore (Grazie Jorge), ha suggerito che doveva dare il seguente comando aggiuntivo:

chmod a+x /etc/grub.d/11_Windows

Così, sotto una nuova GRUB2:

Windows su:

Prima partizione (/ dev/sda1): root = (hd0, 1)

Prima partizione estesa (/ dev/sda5): root = (hd0, 5)

Seconda partizione estesa (/ dev/sda6): root = (hd0, 6)

e così via ...

Ora salvate il file (11_Windows) e dare il seguente comando:

# update-grub2

Dovreste essere in grado di vedere qualcosa di simile a questo:
# update-grub2
Updating /boot/grub/grub.cfg ...
Found Debian background: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.26-rt1-rt
Found initrd image: /boot/initrd.img-2.6.26-rt1-rt
Found linux image: /boot/vmlinuz-2.6.26-1-686
Found initrd image: /boot/initrd.img-2.6.26-1-686
Found linux image: /boot/vmlinuz-2.6.25-2-686
Found initrd image: /boot/initrd.img-2.6.25-2-686
Adding Windows
done

Fase 4: Riavviare di nuovo

Ora riavviare il sistema e di nuovo andare a opzione "chainload GRUB2 in" e si dovrebbe vedere una voce per Windows XP e dovrebbe essere in grado di avviare Windows XP.

Passo 5: Aggiornamento a GRUB2 "realmente"

Una volta che siete convinti che il nuovo GRUB2 è lasciare che avviate con Linux e Windows correttamente, è possibile installare il GRUB2 nel MBR (Master Boot Record) sia selezionando l'opzione "upgrade-from-grub-legacy" dal menu di GRUB o dando il comando "upgrade-from-grub-legacy" quando siete nel vostro sistema Linux.

Note aggiuntive:

  • GRUB2 file di configurazione del menu di avvio: Il file / boot / grub / grub.cfg è l'equivalente di / boot / grub / menu.lst del vecchio GRUB. Questo file è auto-generato dal comando "update-grub" e upgrade-grub2?. Entrambi questi comandi fare la stessa cosa.
  • NON selezionare l'opzione "upgrade-from-grub-legacy" a meno che e fino a quando si è verificato che il GRUB2 carica il sistema operativo in modo corretto.
  • File di configurazione di GRUB2: Tutti i file di configurazione di GRUB2 sono memorizzati nella posizione / etc / grub.d. Leggere il file README in quella posizione per avere un'idea di come funziona quelle file di configurazione.
  • Infine è possibile modificare il file di configurazione di GRUB2 di avvio (/ boot / grub / grub.cfg) on-the-fly dal menu GRUB2. Basta premere il tasto "e" e vi troverete in un modo editor ed è possibile modificare le linee e sperimentare con essa finché non si è in grado di avviare con successo in Windows e / o Linux. Non si dispone di avviare il sistema in Linux ogni volta che è necessario apportare modifiche ai file di configurazione GRUB2.

Come al solito, si prega di lasciare un commento / risposte se avete qualsiasi. Commenti incoraggia i blogger di pubblicare più e mantenere i loro spiriti elevati.

Inoltre, non dimenticare di votare questo post qui sotto.
Passate il vostro esame di certificazione con testkings corso di preparazione on-line e migliorare il vostro punteggio nella prova reale utilizzando Testking VCP-410 domande di pratica e testking 350-001 test di simulazione.

Essere socievole, trova!