Arch wird installiert, GRUB wird jedoch nicht geladen


7

Ich habe Arch Linux von einem USB-Stick installiert. Alles lief gut, überhaupt keine Fehler. Beim Neustart wurde jedoch nur ein leerer Bildschirm mit einem blinkenden Cursor angezeigt. Kein GRUB. Ich kann nichts eingeben. Ich bin sicher, dass ich die Installationsanweisungen ordnungsgemäß befolgt habe. Kann jemand vorschlagen, was das Problem sein könnte?

Edit: grub's menu.lst:

# Arch Linux
title Arch Linux
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/db9d5d80-d822-481e-885f-c93bf2927512 ro
initrd /kernel26.img

# Arch Linux fallback
title Arch Linux Fallback
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/db9d5d80-d822-481e-885f-c93bf2927512 ro
initrd /kernel26-fallback.img

Eine Skizze der Laufwerke und Partitionen, bis ich die Möglichkeit habe, erneut über USB zu booten und genauere Informationen zu erhalten:

sda: wird Windows 7 in der 1. Hälfte des Laufwerks sein, Datenpartition in der zweiten. Gesamtgröße 1 TB.

SDB: auch 1 TB. Wenn ich mich von der Arch-Installation richtig erinnere, hat es: 100 MB / Boot, 256 MB Swap, 20 GB /, Rest ist / home. Ich denke, sie sind auch in dieser Reihenfolge. Ich glaube, / boot ist ext2 und / und / home sind ext3.

Bearbeitet, um hinzuzufügen: Ausgabe von fdisk -l:

Disk /dev/sdb: 100.2 GB, 100204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units=cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes/512 bytes
I/O size (minimum/optimal): 512 bytes/512 bytes
Disk identifier: 0x00022eec

   Device Boot Start    End    Blocks  ID System
/dev/sdb1  *       1     13    104391  83 Linux
/dev/sdb2         14     46    265072+ 82 Linux swap/Solaris
/dev/sdb3         47   2596  20482875  83 Linux
/dev/sdb4       2597 121601 955907662+ 83 Linux

Die fdisk-Ausgabe hilft, aber mit welchem ​​Befehl haben Sie GRUB installiert?
Gnud

Zu Ihrer Information, Grub ist auf dem neuesten Arch veraltet. Sie sollten so schnell wie möglich auf Grub2 aktualisieren.
Gänseblümchen

Antworten:


4

Es ist jetzt etwas spät, aber ich hatte gerade ein ähnliches Problem bei der Installation von Arch (zum ersten Mal). Es stellt sich heraus, dass bei der Paketinstallation aus irgendeinem Grund die Kernel- und Initramfs-Images mit anderen Namen als den von Grub verwendeten erstellt werden. Alles andere, einschließlich UUIDs, war in Ordnung.

Die Standarddateinamen, mit denen ich endete, waren /vmlinuz-linux(anstelle von /vmlinuz26) und /initramfs-linux.img( /kernel26.img) - Booten von der Live-CD und Ändern /boot/grub/menu.lst, um die Kernel- und Initramfs-Speicherorte zu ersetzen, lassen mich booten.

Ich denke, das Arch-Installationsskript übergibt die Ausgabedateinamen aus der Kernel-Installation einfach nicht an die Erstellung des Grub-Menüs. Es ist jedoch frustrierend und keine großartige Einführung in das, was oft als eine der besseren Distributionen angesehen wird.


Dies wurde erst kürzlich verursacht, als Arch auf Kernel 3.0 aktualisiert wurde. Die alten Bilder aus Kernel 2.6 hatten "26" in ihren Namen, und daher auch die GRUB-Einstellungen. Um zu vermeiden, dass GRUB beschädigt wird, haben sie Links zu den neuen Bildern erstellt. Ich gehe davon aus, dass das nächste Mal, wenn sie ein Live-CD-Image veröffentlichen, es aktualisiert wird, um den neuen Kernel widerzuspiegeln.
Wolf

3

Versuchen Sie, GRUB2 zu installieren . GRUB2 selbst löst möglicherweise nichts (obwohl dies der Fall sein könnte), aber der Installationsprozess selbst kann Ihr Problem lösen. Als Belohnung erhalten Sie die neueste und beste Version von GRUB, mit welchen großartigen Vorteilen die neue Version auch bieten kann (und eine Lösung für das Problem?)


1

Überprüfen Sie die Einstellungen für die Startreihenfolge im BIOS. Startet es von dem Laufwerk, auf dem Sie den Bootloader installiert haben?


Ja, so ist es. Ich habe dem BIOS sogar ausdrücklich gesagt, dass es dieses Laufwerk mit demselben Ergebnis starten soll.
Wolf

Einige Mainboards bieten zwei verschiedene Optionen für die Startreihenfolge und die Reihenfolge der internen Festplatten. Stellen Sie sicher, dass Sie das auch überprüfen.
Drahnr

1

Was wahrscheinlich passiert ist, dass Grub nicht die richtigen Informationen darüber erhalten hat, wo es booten soll. Das BIOS hat seine eigene Vorstellung von der Datenträgernummerierung und ist ziemlich primitiv: Die Startdiskette ist Festplatte 1 und eine andere Festplatte ist Festplatte 2. Wenn Sie Linux booten, indem Sie die Linux-Festplatte im BIOS-Startmenü auswählen, wird Grub dies tun müssen ihre eigenen Dateien und die Linux-Kernel von lesen hd0.

Starten Sie Ihre Installation und bearbeiten Sie die Datei /boot/grub/device.map, die /dev/sdbmit hd0und /dev/sdamit verknüpft werden soll hd1. Dann renne

update-grub
grub-install /dev/sdb

@ Gilles: Leider keine Würfel. Ich habe die USB-Option zum Booten des vorhandenen Betriebssystems ausgewählt. Der Bildschirm wurde leer und kehrte zum Live-Menü des USB zurück. Durch Drücken der Tabulatortaste nach Auswahl dieser Option kann ich das zu bootende Laufwerk bearbeiten und eine Eingabeaufforderung mit der Meldung erhalten chain.c32 hd0 0. Wenn Sie dies hd1 0ändern und ENTER drücken, wird ein schwarzer Bildschirm angezeigt, auf dem steht, Booting...und dann der blinkende Cursor, der nichts bewirkt.
Wolf

@ Wolf: Angesichts der Tatsache, dass Sie jetzt gesagt haben, Sie haben zwei Festplatten und Linux ist eingeschaltet sdb, denke ich, dass die Gerätezuordnung das Problem ist. Siehe meine Bearbeitung.
Gilles 'SO - hör auf böse zu sein'

@ Gilles: Ich habe den Installations-USB gestartet und / dev / sdb1 (Boot-Partition) gemountet. Es gab keine device.map-Datei. Es war auch kein update-grubBefehl verfügbar. Ich frage mich, ob ich versuchen soll, das andere Laufwerk zu trennen und Arch neu zu installieren, damit das zweite Laufwerk das Problem nicht verwirrt. Schließen Sie dann das andere Laufwerk wieder an, installieren Sie Win7 darauf und bearbeiten Sie die GRUB-Konfiguration nachträglich entsprechend.
Wolf

@ Wolf: Meine Erfahrung ist mit Debian, nicht mit Arch, und einiges von dem, was ich gewohnt bin, scheint spezifisch für Debian zu sein, daher müssen Sie möglicherweise meine Antwort anpassen. Versuchen Sie, eine /boot/grub/device.mapZeile mit zwei Zeilen zu erstellen, (hd0) /dev/sdbund führen Sie sie (hd1) /dev/sdadann aus grub-install /dev/sdb. In menu.lständern (hd0)in (hd1).
Gilles 'SO - hör auf böse zu sein'

@ Gilles: Nur um sicherzugehen, geht diese device.mapDatei auf die Boot-Partition der Festplatte? Und die menu.lstDatei auch?
Wolf

1

Wenn Sie versuchen, von einem USB-Laufwerk zu booten, müssen Sie sicherstellen, dass Sie dies in Ihre mkinitcpio-Hooks aufgenommen haben. Wenn dies der Fall ist, chrooten Sie in Ihre Arch-Installation und nehmen Sie die Änderung vor, bevor Sie das Image neu erstellen.

Fügt dem Image USB-Module hinzu. Verwenden Sie diese Option, wenn sich Ihr Root-Gerät auf einem USB-Massenspeichergerät befindet oder wenn beim Booten auf Ihr USB-Massenspeichergerät anderweitig zugegriffen werden muss (überprüft, bereitgestellt usw.).

Weitere Informationen finden Sie im Wiki-Eintrag


Nein, beim Versuch, von der Festplatte zu booten, ist der USB nur das Installationsmedium.
Wolf

Können Sie Ihren ursprünglichen Beitrag bearbeiten, um ein bisschen mehr Details bereitzustellen: Ihre Partitionen, Dateisysteme usw.? Das könnte etwas mehr zu diagnostizieren bieten.
Jasonwryan

@ Jasonwryan: Ich habe einige Details hinzugefügt. Ich bin mir nicht 100% sicher, aber ich werde es überprüfen, wenn ich es das nächste Mal starten kann.
Wolf

Für das doppelte Booten - ich würde die Kette
laden

@ Jasonwryan: Ich bin noch nicht Dual-Boot. Ich möchte EINE Festplatte zum Laufen bringen, bevor ich mir Sorgen um die andere mache.
Wolf

0

Ich hatte das gleiche Problem, aber nur beim Booten mit einem angeschlossenen USB-Gerät. Ich habe es einfach ausgesteckt und der Startvorgang ist abgeschlossen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.