Grub auf LVM-Partition

Grub auf LVM-Partition

Grundsätzlich war mein Problem /boot (/dev/sda1), eine sehr kleine Partition (88 MB).

Mit der verfügbaren VolumeGroup auf dieser Maschine habe ich ein neues LVM-Volume (600 MB) formatiert.

Anschließend habe ich den Inhalt von /boot/ auf die neue LVM-Partition kopiert (mit cpio).

Ich habe umount /booteinige Änderungen in Fstab vorgenommen, um die alte /boot-Partition zu ersetzen.

Schließlich habe ich es geschafft, update-grubeine neue korrekt zu generieren grub.cfg. Ich habe neugestartet und schon funktionierte es. Ich dachte, meine neue LVM-Partition sei richtig, also fdisk /dev/sdahabe ich mit die gelöscht /dev/sda1.

Und jetzt habe ich Grub Rescue beim Booten.

Sogar mit Ubuntu-Live-CD:

grub-install --modules='lvm' /dev/rootvg/bootlv

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.


grub-install --modules='lvm' /dev/sda5

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.

Gleicher Fehler ...

Gibt es eine Lösung, um den Grub-Bootloader auf einem vorhandenen LVM-Gerät zu installieren?

Antwort1

Vielleicht (ich bin ein völliger Neuling bei LVM und Grub) müssen Sie Grub wie folgt installieren:

grub-install --modules='lvm' --boot-directory=/dev/rootvg/bootlv dev/sda

Um Grub auf MBR zu platzieren, verwenden Sie /dev/rootvg/bootlv als /boot-Partition, in der sich die Grub-Dateien befinden.

Wenn es sich bei der Festplatte jedoch um GPT handelt und Sie mit BIOS booten, benötigen Sie eine spezielle Partition von 1 bis 8 MiB vom Typ BIOS_grub (ohne Format, es handelt sich um eine Rohpartition für Stage2 von Grub).

Ich habe große Probleme damit, Grub2 von einem [U]EFI mit EFI-Partition und LVM zu booten, wobei sich die /boot-Partition in einem 3-Stripes-Raid0-LVM befindet, aber ich kann es im BIOS-Bootmodus normal booten.

Partitionen, die ich auf jeder der drei Festplatten habe (alle identische Größe, Position usw.), im GPT-Stil: GPT1: LVM (große, restlicher Festplattenspeicher) GPT2: EFI (512 MiB, FAT32) GPT3: bios_grub (8 MiB, kein Format – RAW)

Ich erstelle die vg auf allen /dev/sd[ac]1 und innerhalb von LVM eine Partition für /boot

Ich mounte /boot mit: mount /dev/mapper/bla_bla_bla /boot

Ich erstelle darauf einen EFI-Einhängepunkt (nicht wirklich nötig, hilft aber, bei der Grub2-Installation weniger Buchstaben einzugeben)

Ich mounte /dev/sda2 auf /boot/efi

Dann füge ich LVM zu den benötigten Modulen hinzu, mit dem Befehl:

echo GRUB_PRELOAD_MODULES=\"lvm\" >> /dev/default/grub

Dann installiere ich Grub2 mit diesem Befehl:

grub-install --target=i386-pc /dev/sda

Und voilà, unmounten und im BIOS-Modus neu starten und Grub2 bootet.

Wichtig: Bearbeiten Sie vor dem Unmounten von /boot/grub/grub.cfg so, dass es Ihren Anforderungen entspricht.

Und bitte bedenken Sie, dass ich kein Betriebssystem boote. Ich installiere Grub2 nur in einer LVM-Partition und kann dann booten.

Hinweis: Wenn ich mit dem Ziel x86_64-efi installiere, werden zwei Meldungen angezeigt und nachdem der [U]EFI-Modus nicht korrekt gestartet wird, ist LVM nicht zugänglich.

PD: Ich habe das Wissen erreicht, zwei verschiedene USB-Sticks zu erstellen, die im [U]EFI-Modus und im BIOS-Modus die SystemRescueCD.iso-Schleife booten können, aber wenn ich versuche, Grub2 zu booten, das sich in LVM befindet, bekomme ich Probleme, wenn ich im [U]EFI-Modus bin... ich bin kein Experte... ich habe an Grub2 und LVM, LUKS usw. gearbeitet... meine Absicht ist es, ein sehr komplexes Booten zu erstellen... drei USB-Sticks in Raid0 LVM ohne /boot außerhalb von LVM und in der Lage, auf reinen [U]EFI-PCs und auf alten reinen BIOS-PCs, auf gemischten usw. zu booten... ich bin an dem Punkt, an dem ich sowohl auf [U]FI als auch auf BIOS booten kann, wenn /boot außerhalb von LVM ist, und im BIOS-Modus auch mit /boot innerhalb von LVM, aber nicht auf [U]EFI mit /boot innerhalb von LVM.

PPD: Ich fürchte, es handelt sich um einen BUG bei grub2*.efi, der LVM nicht mountet, daher empfehle ich Ihnen, im BIOS-Modus zu booten... unter anderem habe ich einige Artikel zu ArchLinux gelesen, in denen stand, dass es auf LVM ohne /boot-Partition und mit / innerhalb von LVM installiert werden kann, aber ich bin weder Schritt für Schritt vorgegangen, noch kann ich das reproduzieren; und es ist nicht mein wirkliches Ziel, da ich kein Linux installiert haben möchte, sondern nur Grub2... das endgültige wirkliche Ziel ist, Linux in einer großen Datei zu haben, die sich in einer LVM-Partition befindet, die sich in einer LUKS-Partition befindet, die sich auf einer LVM-Partition befindet, die drei physikalische HDDs im Raid0-Modus (3 Stripes) verwendet, und von einem USB-Stick mit den Boot-Modi [U]EFI und BIOS mit Grub2 zu booten, das per Chainload auf Grub2 lädt, das sich in einer so großen Datei befindet, und dass Grub2 den Kernel, das Initram usw. aus einer so großen Datei lädt... usw.; eine plausible Abweisung, dass Sie ein solches Linux haben... beim Booten von der Festplatte wird ein verschlüsseltes Linux angezeigt, in dessen Root-Dateisystem sich die große Datei befindet, die ich erwähne. Wenn ich aber von einem externen USB-Stick boote, weiß ich, wie ich das Linux in dieser Datei booten kann... Paranoider Modus: Die Befehle für ein solches Chainload werden mir in den Sinn kommen, nicht auf dem USB-Stick. Auf dem USB-Stick wäre nur ein SystemRescueCD.iso-Loop-Boot, aber anstatt es zum Booten auszuwählen, geben Sie „c“ ein, um zur Grub-Konsole zu gehen, und geben Sie diese Befehle ein, um ein Chainload zu Linux in der großen Datei durchzuführen, die ich erwähne... ich weiß, das ist zu, zu kompliziert... aber ohne den Trick mit TrueCrypt/VeraCrypt, der je nach Passphrase das Dummy-Betriebssystem oder das versteckte Betriebssystem mountet, habe ich keine andere Wahl, also habe ich vor einigen Monaten mit den ersten Schritten begonnen... habe einen USB-Stick, der auf [U]EFI und auf reinen BIOS-PCs bootet (erledigt), habe Grub2 in einem LVM (erledigt für BIOS-Modus, Fehler im [U]EFI-Modus), also sind noch viele Schritte zu tun.

Ich hoffe, dass mein Schema und meine Befehle Ihnen dabei helfen können, herauszufinden, wie Sie Ihr System booten, oder Ihnen zumindest eine Suchoption bieten.

verwandte Informationen