it-swarm.com.de

Grub2 erkennt zwei Windows 7 (Loader) -Einträge

Dies ist die erste Frage, die ich der Ubuntu-Community gestellt habe.

Ich bin ziemlich neu in Ubuntu, aber ich verstehe die Grundlagen und weiß, wie man im Terminal navigiert. Ich kann auch die vorhandenen Lösungen durchsuchen, bevor ich um Hilfe bitte. Ich habe das Internet hoch und niedrig durchforstet und viel über die Funktionsweise von Grub2 gelernt. Aber nichts hat mir geholfen, mein Problem zu lösen.

Mein Problem ist folgendes: Ich habe einen Computer mit drei Festplatten. Es hatte zuvor Windows XP, aber ich habe auf Windows 7 aktualisiert. Ich habe auch Ubuntu 12.04 LTS (Precise Pangolin) installiert.

Bei der Installation von Windows 7 ist ein Fehler aufgetreten und ich musste die Installation neu starten. Danach habe ich Ubuntu installiert. Nach einigen Problemen beim Entfernen aller Spuren des Betriebssystems XP (Ubuntu hat es automatisch erkannt, aber nicht Windows 7), funktionierten die beiden Betriebssysteme einwandfrei. Oder fast.

Beim Booten zeigte Grub2 Ubuntu, Ubuntu Recovery Mode, Other Versions of Linux, memtest, gefolgt von Windows 7 (loader) on /dev/sda1 und Windows 7 (loader) on /dev/sdb1 an.

Ich habe schließlich Recovery Mode, Other Versions und Memtest entfernt. Wenn ich jetzt renne:

Sudo update-grub

Ich bekomme diesen Ausdruck:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-26-generic
Found initrd image: /boot/initrd.img-3.2.0-26-generic
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sdb1

Ich möchte "Windows 7 (Loader) auf/dev/sda1" entfernen, da es sich um einen fehlerhaften Eintrag handelt, der nicht existieren sollte und der bei meinem ersten Windows 7-Versuch installiert worden sein muss.

Ich kann keinen Windows 7-Eintrag im Ordner /etc/grub.d finden. Und ich weiß nicht, wo ich suchen soll.

Hier ist ein Layout meiner Festplatten:

/dev/sda1/ (1.82 TiB), NTFS ("Media")

/dev/sdb1/ (100 Mib), NTFS ("System Reserved")
/dev/sdb2/ (149 GiB), NTFS ("Windows 7")
/dev/sdb3/ (149 GiB), Extended (" ")
    /dev/sdb4/ (145 GiB), ext4 (" ")
    /dev/sdb5/ (4 GiB), linux-swap (" ")

/dev/sdc1/ (488.28 GiB), NTFS ("Downloads")
/dev/sdc2/ (488.28 GiB), NTFS ("AltMedia") 
/dev/sdc3/ (886.45 GiB), NTFS ("Personal")
unallocated (2.09 MiB), unallocated

Was ich denke, ist passiert: Windows 7 zuerst und schlecht installiert. Ich habe es wieder installiert. Zuerst gab es Windows XP, um zu bestimmen, wohin der Bootloader ging, und so wurde er auf /dev/sdb1/ gesetzt. Aber das zweite Mal, als es keine solche Anleitung gab, hat die Maschine einen anderen Bootloader auf /dev/sda1/ gesetzt. Übrigens ist sda1 die einzige Partition auf einem 2-TB-Laufwerk. Gemäß gedit scheint keine Startdatensatzpartition zu existieren. Ich bin nicht sicher, woher Grub2 diese Informationen bezieht. Aber da ist es.

Kann mir jemand helfen? Oder gibt es weitere Informationen, die ich hinzufügen sollte?

6
jwarner112

Eine schnelle Lösung, wenn sda ein externes Laufwerk ist

Ich weiß nicht, ob es sich bei Ihrer /dev/sda Festplatte um eine interne oder eine externe Festplatte handelt. Wenn es sich um ein externes Laufwerk handelt, entfernen Sie das externe Laufwerk, bevor Sie den Befehl update-grub2 ausführen. Dies sollte schnell helfen.

Lösung:

Hängen Sie das Laufwerk /dev/sda1 ein. (Ich nehme an, Sie können das sehr einfach tun). Suchen Sie dann in diesem Laufwerk nach einem Ordner mit dem Namen Boot und einer Datei mit dem Namen bootmgr. Entfernen Sie den Ordner und die Datei. Führen Sie dann den Befehl update-grub2 erneut aus.

Möglicherweise möchten Sie grub2 erneut installieren. Wie ich sehe, ist Ihre Ubuntu-Installation bei /dev/sdb, die Befehle werden

Sudo grub-install /dev/sdb
Sudo update-grub 

Was war die Ursache des Problems:

Grub2 sucht nach den Windows-Startdateien, um Windows-Einträge zu erkennen. Obwohl Sie Windows 7 entfernt haben, werden die Windows 7-Startdateien nicht entfernt (dh der "Boot" -Ordner und die "bootmgr" -Datei). Und da Windows 7-Startdateien vorhanden sind, geht grub2 einfach davon aus, dass auch Windows 7 installiert ist. Daher die doppelte Einreise.

8
Anwar

Sie sollten in /boot/grub/grub.cfg finden, wonach Sie suchen. Diese Datei wird dynamisch von update-grub2 generiert. Ich bin Dual-Boot Ubuntu 32bit und 64bit. Wenn ich einen entfernen wollte, würde ich einfach seinen Abschnitt aus dieser Datei löschen. So sieht einer meiner Einträge aus -

menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 94916094-afe9-4b74-9413-a3c54b39eb91
    linux   /boot/vmlinuz-3.2.0-23-generic root=UUID=94916094-afe9-4b74-9413-a3c54b39eb91 ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic
}

Änderungen sollten sofort wirksam werden, machen Sie also ein Backup und seien Sie vorsichtig. Außerdem wird alles, was Sie in dieser Datei ändern, komplett überschrieben, wenn Sie update-grub2 erneut ausführen.

1
Sepero