Scopo: Domandarsi perché Windows XP o (Windows Vista) sul computer dual-boot, cioè avendo installato Windows XP e Linux, non è in grado di fare il boot? La risposta è che o c'è un bug nel pacchetto GRUB2 o IDE convenzione di denominazione del disco è cambiato in GRUB2 da GRUB legacy.

State ottenendo seguenti messaggi di errore da 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 bytes
255 testine, 63 settori / traccia, 7.296 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificatore disco: 0x2e61c242

Dispositivi di sistema Boot Inizio Fine Blocks Id
/ Dev / sda1 * 1 3315 26627706 7 HPFS / NTFS
/ Dev / sda2 3316 7296 31977382+ 5 Extended
/ 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 facendo seguito:

#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 trovare la partizione XP elencato in là (non ho trovato il mio).

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), dal momento che è come usare GRUB per numerare le partizioni. Tuttavia da questa nuova versione in poi, è necessario dare root = (hd0,1) se il vostro Windows è installato sulla 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

Quindi, sotto la 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 vostro 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:

  • File di configurazione del menu di boot di GRUB2: Il file / boot / grub / grub.cfg è equivalente della /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 correttamente.
  • File di configurazione di GRUB2: Tutti i file di configurazione di GRUB2 sono conservati presso la /etc/grub.d posizione. 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 avvio GRUB2 (/boot/grub/grub.cfg) on-the-fly dal menu di GRUB2. Basta premere "e" e vi troverete in un editor di modalità ed è possibile modificare le linee e sperimentare con esso fino a quando si è in grado di avviare con successo in Windows e / o Linux. Non è necessario avviare il sistema in Linux ogni volta che è necessario apportare modifiche ai file di configurazione di 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 alto.

Inoltre, non dimenticare di votare questo post qui sotto.
Passare il tuo 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, Condividi!