2011-10-23 14:14:34 +0000 2011-10-23 14:14:34 +0000
52
52

Booten von USB mit GRUB

Der Laptop meines Freundes war in einen Autounfall verwickelt (es geht ihm gut!). Allerdings ist der Laptop sehr alt sein ein Acer Aspire 1520 das CD-rom-Laufwerk ist kaputt und es gibt kein Diskettenlaufwerk.

Ich habe ihm einen USB-Boot gemacht, bevor ich einen Blick darauf geworfen habe und festgestellt habe, dass sein BIOS nicht von USB booten kann. Das einzige, was ich habe, ist eine GRUB-Konsole, aber er möchte einfach XP (auf USB) installieren und es nur für Filme verwenden.

Ist es möglich, mit der GRUB-Konsole Zugriff auf den USB zu bekommen und die Windows-Installation zu starten? Es ist eine große Aufgabe, aber ich denke, das könnte der Weg sein, oder der Versuch, über LAN zu installieren, was meiner Meinung nach nicht machbar sein wird.

Antworten (6)

45
45
45
2014-09-13 03:30:00 +0000

Hier ist ein kurzes Beispiel für Grub-Befehle, die gerade funktionieren könnten, Erklärungen und Vorbehalte weiter unten.

grub2

Höchstwahrscheinlich für Installationen nach 2010.

set root=(hd1,1)
chainloader +1
boot

grub

Höchstwahrscheinlich für Installationen vor 2005.

root (hd1,0)
chainloader +1
boot

Für den Zeitraum 2005-2010 ist Ihre Vermutung so gut wie meine, aber wenn Sie den Befehl für die falsche Version verwenden, erhalten Sie nur einen harmlosen Syntaxfehler beim ersten Befehl.

Auswahl der richtigen Wurzel

Beim Starten sucht grub nach Ihren Geräten und weist ihnen Nummern zu. Allen Geräten, die partitioniert sind (Festplatten und Flash-Laufwerke), werden ebenfalls Nummern zugewiesen. Das Format ist (<deviceName>,<partitionIndex>). In grub2 haben sich die Partitionsindizes geändert, so dass die beiden obigen Beispiele den gleichen Effekt haben, obwohl sie unterschiedliche Wurzeln verwenden.

Ihr erstes Gerät (hd0) ist das Gerät, von dem grub gerade geladen hat. Danach können Sie normalerweise davon ausgehen, dass alle internen Geräte vor Ihren externen Geräten kommen. Sie werden höchstwahrscheinlich in der Form von hd und einer Zahl sein.

Nach dem Komma steht der Partitionsindex. Festplatten und USB-Sticks werden fast immer partitioniert sein, so dass Sie die richtige (und wahrscheinlich einzige) Partition auswählen müssen. CD-ROMs sind normalerweise nicht partitioniert.

Weitere Dokumentation: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

Wenn Sie Ihre Root-Partition auswählen, können Sie die Tabulatortaste verwenden, um nach Gerätenamen und Partitionsindizes zu suchen. Öffnen Sie einfach die Klammern und drücken Sie die Tabulatortaste, um die Liste zu sehen.

14
14
14
2011-10-24 16:34:02 +0000

Um auf den Kommentar von new123456 einzugehen:

Das USB-Gerät sollte als Massenspeichergerät erkannt und genau wie eine Festplatte behandelt werden. Geben Sie also in Grub root (hd ein (drücken Sie noch nicht die Eingabetaste) und drücken Sie dann ein- oder zweimal die Tabulatortaste, um zu sehen, welche Festplatten Grub erkennen kann. Das USB-Gerät, wenn es erkannt wird, wird wahrscheinlich hd1 sein. Geben Sie keine Partitionsnummer an; fügen Sie einfach eine schließende Klammer hinzu. Die Zeile wird also root (hd1) sein. Danach geben Sie Folgendes ein:

chainloader +1
boot

Wenn das nicht funktioniert, ändern Sie root (hd1) in root (hd1,0) und versuchen Sie es erneut.

Wenn Grub aus irgendeinem Grund das USB-Laufwerk nicht sehen kann, versuchen Sie, ein USB-CDROM einzustecken und von diesem zu booten.

8
8
8
2014-09-21 20:04:18 +0000

Die Sache mit chainloader +1 könnte nicht funktionieren, wenn das BIOS nicht gut darin ist, von einem USB-Stick zu booten (was der Grund war, warum ich sowieso Grub verwenden wollte).

In diesem Fall gibt es etwas tiefgehende Magie bei https://help.ubuntu.com/community/Grub2/ISOBoot , die funktioniert, zumindest für Ubuntu. Der entscheidende Teil besteht darin, den Grub-Befehl, der die Datei vmlinuz identifiziert, zu manipulieren, indem das Argument iso-scan/filename übergeben wird. Irgendwie hilft das, herauszufinden, dass das gesamte Boot-Dateisystem in einer ISO-Datei steckt. Ich weiß nicht, wie zum Teufel das funktioniert, aber es funktioniert. Dies sind (ungefähr) die Grub-2-Befehle, die ich verwendet habe:

loopback loop (fd0,msdos1)/path/to/iso/file
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/path/to/iso/file noprompt noeject
initrd (loop)/casper/initrd.lz
boot

Das /path/to/iso/file sollte der Pfad zur ISO-Datei auf dem USB-Stick sein. Das (fd0,msdos1) identifiziert den USB-Stick. Die Tabulator-Vervollständigung ist in der loopback-Zeile sehr hilfreich, für die Argumente von vmlinuz ist sie nicht nützlich.

2
2
2
2015-05-08 14:44:49 +0000

Das wird in dem Fall Ihres Freundes nicht sonderlich hilfreich sein (es sei denn, es gibt eine mir unbekannte Möglichkeit, Plop überhaupt auf das Gerät zu bekommen - vielleicht eine USB-CD-Rom oder ein USB-Diskettenlaufwerk? Plop Boot Manager

1
1
1
2020-02-13 00:41:30 +0000

Ich wollte dies als Kommentar entweder auf @Ekevoo oder @Jonathan Beitrag zu verlassen, aber ich bin nicht erlaubt, so hier ist mein Anwendungsfall + Lösung für alle, die auch diese begegnen kann:

Der USB enthielt eine GPart-Live-CD-Installation, aber mein BIOS bootete aus irgendeinem Grund nicht von ihr, obwohl es vorher funktionierte (das letzte Mal, als es funktionierte, habe ich die CD über Windows installiert, dieses Mal habe ich es über Ubuntu gemacht). In Grub führte ich die folgenden Befehle aus und es funktionierte

set root=(hd0)

Dies kann für verschiedene Geräte unterschiedlich sein, ich bin nicht sicher, ob es überhaupt notwendig ist.

Dann habe ich

chainloader (hd0)/EFI/BOOT/grubx64.efi
boot

Der Pfad wird wahrscheinlich für andere Betriebssysteme anders sein, aber eine ähnliche Datei sollte dort sein. Suchen Sie mit der Tabulatortaste nach ihr.

Und das war genug, damit es funktionierte.

0
0
0
2014-06-27 01:17:34 +0000

Sie können in grub nicht von usb booten, wenn das Bios es nicht selbst zulässt. Ich musste einmal eine Art Wiederherstellungspartition auf einer Festplatte einrichten, die den Inhalt der win7-Setup-Diskette enthielt, grub installieren und dann die win7-Setup-Partition damit booten, um sie auf dem Rest der Festplatte zu installieren.