2016-06-22 3 views
-1

Ich versuche, den Nautilus AeroKernel zu bauen, und er benötigt den Befehl grub-mkrescue von grub2. Leider läuft das System, auf dem ich arbeite, immer noch mit grub 0.97. (Ich habe root, aber andere Leute benutzen dieses System.) Ich habe den grub 2.00 Teer heruntergeladen und make compile lief gut. Es hat jedoch die meisten Tests nicht bestanden.Kann Grub2 neben Grub Legacy installiert werden?

Ich versuchte ./grub-mkrescue an dieser Stelle läuft, aber es scheiterte mit

./grub-mkrescue: line 61: /usr/local/share/grub/grub-mkconfig_lib: No such file or directory 

weiß, dass ich der nächste Schritt ist es, ein make install zu tun, aber ich will nicht in den Weg zu bekommen, was bereits installiert ist.

Gibt es eine Möglichkeit für mich, nur diesen Befehl auszuführen? Oder vielleicht eine Installation, die nichts anderes verletzt? Ich möchte nicht das System Grub aktualisieren und den Boot-Prozess vermasseln.

Antwort

0

Ihre Frage ist ein wenig breit, denn eine erfolgreiche Antwort hängt sehr von der Vorgehensweise ab, die Sie ergreifen möchten. Sie können den GRUB Legacy Boot Loader einfach durch GRUB2 ersetzen - die meisten Benutzer des Systems werden nicht wissen, welcher Boot Loader verwendet oder gepflegt wird. Bei diesem Ansatz müssen Sie GRUB2 so konfigurieren können, dass alle von ihnen verwendeten Betriebssysteme gestartet werden. GRUB2 ist weitgehend selbstkonfigurierend, aber Sie müssen genug darüber wissen, um sicherzustellen, dass alle verwendeten Betriebssysteme funktionieren (und die Konfiguration reparieren, wenn dies nicht der Fall ist).

Ein anderer Ansatz besteht darin, bei GRUB Legacy zu bleiben und einfach das Äquivalent des grub-mkrescue-Befehls von GRUB2 zu verwenden. Dies birgt das Risiko, dass die Funktion von GRUB2, die AeroKernel unterstützt, in GRUB Legacy nicht verfügbar ist (wie das Booten von einem ISO-Image). Es hat den Vorteil (wenn es sonst Ihre Bedürfnisse unterstützt, keine Änderung im Bootloader zu erfordern).

Ein dritter Ansatz besteht darin, das GRUB2-Paket zu installieren, ohne den Bootloader zu ändern. Ich bin mir sicher, dass es eine Konfigurationsoption gibt, die alle Linux-Befehle für GRUB2 (grub-mkrescue gehört zu diesen) installiert, ohne den Boot-Code zu ändern. Das Risiko besteht darin, dass einige Linux-Befehle für GRUB Legacy (namentlich) mit denen von GRUB2 überlappen und beide nicht installiert werden oder die GRUB Legacy-Versionen ersetzen. Es ist auch möglich, dass Bibliotheken, die GRUB2 unterstützen, Bibliotheken benötigen, die GRUB Legacy unterstützen - das würde Linux-Befehle für GRUB Legacy nicht funktionsfähig machen. Sie können einen Hinweis bekommen, wie kompatibel die beiden Bootloader sind, die (in ihren ausführbaren Linux-Dateien) im selben System arbeiten, indem Sie das Paket-Repository für das verwendete Betriebssystem konsultieren (Sie erwähnen nicht, was das ist). Wenn das GRUB2-Paket mit dem GRUB-Legacy-Paket in Konflikt steht, liegt entweder eines dieser Befehlsüberlappungsprobleme oder eine Bibliotheksinkompatibilität vor.

Arbeiten von der Quelle, wie Sie scheinen, wird die meisten dieser Arbeit auf dich verlassen. Mein Vorschlag ist also, einen Ansatz für das Problem zu wählen und eine Frage zu stellen, die sich auf diesen Ansatz bezieht.

Sie können auch eine separate Partition für ein neues Betriebssystem erstellen, das GRUB2 unterstützt (das ursprüngliche Betriebssystem bleibt unberührt). Sie können sogar ein Image einer solchen Partition in einer Datei erstellen und dieses mounten (Vorteil ist, dass Sie die Festplattenpartitionierung nicht ändern müssen). Unter dem Strich gibt es viele Möglichkeiten, um es zum Laufen zu bringen, also lautet die Antwort auf die Frage, die du stellst: "Ja, aber wie du es tust, hängt von deinem Ansatz ab".

Verwandte Themen