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

Opstarten vanaf USB met GRUB

De laptop van mijn vriend heeft een auto-ongeluk gehad (hij is in orde!). Maar de laptop is erg oud het is een Acer Aspire 1520 de CD-rom drive is kapot en er is geen floppy drive.

Ik heb hem een USB boot gemaakt voordat ik er naar keek en ontdekte dat zijn BIOS niet van USB kan booten. Het enige wat ik heb is een GRUB console, maar hij wil graag gewoon XP installeren (op USB) en het alleen voor Movies gebruiken.

Is het mogelijk om met de GRUB console toegang tot de USB te krijgen en de windows installatie te starten? Het is een hele klus maar ik denk dat dit de manier is, of proberen te installeren via LAN wat denk ik niet haalbaar zal zijn.

Antwoorden (6)

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

Hier is een snel voorbeeld van grub commando’s die misschien net werken, uitleg en caveats hieronder.

grub2

Meest waarschijnlijk voor post-2010 installs.

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

grub

Hoogstwaarschijnlijk voor pre-2005 installaties.

root (hd1,0)
chainloader +1
boot

Voor de periode 2005-2010 is jouw gok net zo goed als de mijne, maar als je het commando voor de verkeerde versie gebruikt, krijg je alleen een onschuldige syntaxisfout bij het eerste commando.

Het kiezen van de juiste root

Bij het opstarten zal grub zoeken naar je apparaten en er nummers aan toekennen. Alle apparaten die gepartitioneerd zijn (harde schijven en flash drives) zullen ook nummers toegewezen krijgen. Het formaat is (<deviceName>,<partitionIndex>). In grub2 zijn de partitie indexen veranderd, dus de twee voorbeelden hierboven hebben hetzelfde effect ondanks het feit dat ze verschillende wortels gebruiken.

Je eerste apparaat (hd0) is het apparaat waar grub zojuist van geladen is. Daarna kun je er meestal vanuit gaan dat alle interne apparaten voor je externe apparaten komen. Ze zullen waarschijnlijk in de vorm zijn van hd en een nummer.

Na de komma staat de partitie index. Harde schijven en thumb drives zullen bijna altijd gepartitioneerd zijn, dus moet je de juiste (en waarschijnlijk enige) partitie kiezen. CD-ROM’s zijn meestal niet gepartitioneerd.

Meer documentatie: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

Bij het kiezen van je root-partitie kun je de Tab-toets gebruiken om te peilen naar apparaatnamen en partitie-indexen. Open gewoon haakjes en druk op Tab om de lijst te zien.

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

Om verder te gaan op new123456’s opmerking:

Het USB-apparaat moet worden gedetecteerd als een apparaat voor massaopslag en net zo worden behandeld als een harde schijf. Dus, in grub, type root (hd (druk nog niet op Enter) en druk dan een of twee keer op tab om te zien welke harde schijven Grub kan zien. Het USB apparaat, als het herkend wordt, zal waarschijnlijk hd1 zijn. Geef geen partitienummer op; voeg alleen een sluitend haakje toe. Dus de regel zal root (hd1) zijn. Type daarna het volgende:

chainloader +1
boot

Als dat niet werkt, verander dan root (hd1) in root (hd1,0) en probeer het opnieuw.

Als om de een of andere reden Grub de USB drive niet kan zien, probeer dan een USB CDROM in te pluggen en vanaf die te booten.

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

Het chainloader +1 ding zou niet kunnen werken als de BIOS niet goed is in het booten vanaf een USB sleutel (dat was de reden waarom ik toch Grub wilde gebruiken).

In dit geval, is er wat diepe magie op https://help.ubuntu.com/community/Grub2/ISOBoot dat werkt, tenminste voor Ubuntu. Het cruciale gedeelte is dat het grub commando dat het vmlinuz bestand identificeert, het iso-scan/filename argument doorgeeft. Op een of andere manier, helpt dat om uit te vinden dat het hele boot bestandssysteem vastzit in een ISO bestand. Ik weet niet hoe het werkt, maar het werkt. Dit zijn (ongeveer) de Grub 2 commando’s die ik heb gebruikt:

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

De /path/to/iso/file moet het pad zijn naar het ISO bestand op de USB stick. De (fd0,msdos1) identificeert de USB-stick. Tab-completion is super-helpful op de loopback regel, en niet nuttig voor de argumenten naar vmlinuz.

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

Dit zal niet erg helpen in het geval van je vriend (tenzij er een manier is die ik niet ken om Plop op het apparaat te krijgen – misschien een USB cd-rom, of een USB floppy drive?), maar dit is een geweldig klein programma, dat me geholpen heeft om een aantal oude machines op te starten vanaf USB’s wanneer hun bios dat niet toestond. Plop Boot Manager

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

Ik was van plan om dit als commentaar achter te laten op @Ekevoo of @Jonathan post, maar dat mag ik niet, dus hier is mijn use case+oplossing voor iedereen die dit ook tegenkomt:

De USB bevatte een GPart Live CD Install, maar mijn BIOS bootte er om een of andere reden niet van, ondanks dat het eerder werkte (de vorige keer dat het werkte installeerde ik de CD via windows, deze keer deed ik het via Ubuntu). In Grub, voerde ik de volgende commando’s uit en het werkte

set root=(hd0)

Dit kan verschillend zijn voor verschillende apparaten, ik weet niet zeker of het zelfs nodig is.

Toen rende ik

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

Het pad zal waarschijnlijk anders zijn voor andere OS, maar een soortgelijk bestand zou er moeten zijn. Tab rond en zoek ernaar.

En dat was genoeg om het te laten werken.

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

Je kunt niet booten vanaf usb in grub als het bios dat zelf niet toestaat. Ik moest ooit een soort herstelpartitie op een harde schijf zetten met de win7 setup schijf inhoud, grub installeren, en dan die gebruiken om de win7 setup partitie te booten om het op de rest van de harde schijf te installeren.