Formål: gad vide hvorfor Windows XP eller (Windows Vista) på din dual-boot computer, det vil sige at have Windows XP og Linux installeret, ikke er i stand til at starte? Svaret er, at der enten er en fejl i GRUB2 pakken eller IDE-disk navngivningskonvention har ændret sig i GRUB2 fra arv GRUB.

Får du følgende fejlmeddelelser fra GRUB2 når du forsøger at starte Windows XP?

  • chainloader: ingen sådan kommando.
  • sådan skillevæg
  • du nødt til at indlæse kerne først

Hvis du derefter følge trinene nedenfor for at forsøge at løse dit problem.

Opsætning:

En bærbar computer med dual-boot - Windows XP og Debian (Lenny) på separate partitioner på et enkelt harddisk. Her er min partition struktur:
# fdisk -l /dev/sda

Disk / dev / sda: 60,0 GB, 60011642880 byte
255 hoveder, 63 sektorer / spor, 7296 cylindre
Enheder = cylindre 16065 * 512 = 8225280 byte
Disk-id: 0x2e61c242

Device Boot Start Slut Blocks Id System
/ 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

Trin 1: Installer GRUB2

Antag, at du opgraderet til GRUB2 gør følgende:

#apt-get update
#apt-get install grub2

Trin 2: Genstart systemet

Nu ved du installerer GRUB2 pakke med succes og genstarte din maskine, vil du se en ændret GRUB menu. Vælg nu "Chainload i GRUB2", og chancerne er, at du ikke engang vil finde din XP-partition listet derinde (jeg ikke finde mine).

Trin 3: Opret en boot-fil til Windows XP / Vista / 7

Opstart dit Linux-system ved at vælge din kerne (hvis der er flere) fra GRUB2 menuen og se, om den starter fint. Ved opstarter Linux gøre følgende:
# nano /etc/grub.d/11_Windows (this will essentially create a new file)

og tilføje følgende linjer:

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

Bemærk: I tidligere version af GRUB, hvis din Windows er installeret på Første partition så er du nødt til at give root = (hd0,0), da det er hvordan GRUB brug at nummerere partitioner. Men fra denne nye version og fremefter, er du nødt til at give root = (hd0,1), hvis din Windows er installeret på første partition på harddisken.

Opdatering: En af kommentator (tak Jorge), foreslog, at han skulle give følgende yderligere kommando:

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

Så under nye GRUB2:

Windows på:

Første partition (/ dev / sda1): root = (hd0,1)

Udvidede første partition (/ dev / sda5): root = (hd0,5)

Udvidet anden partition (/ dev / sda6): root = (hd0,6)

og så videre ...

Gem nu filen (11_Windows), og giver følgende kommando:

# update-grub2

Du bør være i stand til at se noget som dette:
# 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

Trin 4: Genstart igen

Nu genstarte dit system og igen gå til "Chainload i GRUB2" valgmulighed, og du bør se en post til Windows XP, og det bør være i stand til at starte op i Windows XP.

Trin 5: Opgrader til GRUB2 "virkelig"

Når du er overbevist om, at den nye GRUB2 er at lade dig starte op i Linux og Windows ordentligt, kan du installere GRUB2 i din MBR (Master Boot Record) ved enten at vælge muligheden "opgradering-fra-grub-legacy" fra GRUB menu eller ved at give kommandoen "opgradering-fra-grub-legacy", når du er i dit Linux system.

Yderligere bemærkninger:

  • GRUB2 startmenu konfigurationsfil: Filen / boot / grub / grub.cfg er ækvivalent /boot/grub/menu.lst af den gamle GRUB. Denne fil er selv-genereret af kommandoen "update-grub" og opgradere-grub2 ?. Begge disse kommando gøre det samme.
  • Vælg ikke indstillingen "opgradering-fra-grub-legacy" medmindre og indtil du har kontrolleret, at GRUB2 indlæser dit operativsystem ordentligt.
  • Grub2 konfigurationsfiler: Alle grub2 konfigurationsfiler gemmes på det sted /etc/grub.d. Læse filen README under dette sted at få en idé om, hvordan disse konfigurationsfil fungerer.
  • Endelig kan du redigere GRUB2 boot config fil (/boot/grub/grub.cfg) on-the-fly fra GRUB2 menuen. Bare tryk "e", og du vil være i en editor mode og du kan ændre linjerne og eksperimentere med det, indtil du er i stand til at starte med succes ind i Windows og / eller Linux. Du behøver ikke at starte systemet i Linux, hver gang du har brug for at foretage ændringer til GRUB2 konfigurationsfiler.

Som sædvanlig, kan du efterlade en kommentar / feedback, hvis du har nogen. Kommentarer opfordrer bloggere til at skrive mere og holde humøret højt.

Også glem ikke at vurdere dette indlæg nedenfor.
Pass din eksamen med testkings online prep kursus og forbedre din score i det virkelige test med testking VCP-410 praksis spørgsmål og testking 350-001 mock test.

Være selskabelig, Del!