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

Uruchamianie z USB przy użyciu GRUB

Laptop mojego przyjaciela uległ wypadkowi samochodowemu (nic mu nie jest!). Jednak laptop jest bardzo stary to Acer Aspire 1520, napęd CD-rom jest zepsuty i nie ma napędu dyskietek.

Zrobiłem mu boot USB zanim na niego spojrzałem i okazało się, że jego BIOS nie potrafi bootować z USB. Jedyne co mam to konsolę GRUB, ale on chce po prostu zainstalować XP (na USB) i używać go tylko do filmów.

Czy jest możliwe użycie konsoli GRUB, aby uzyskać dostęp do USB i rozpocząć instalację Windows? Jest to duże wyzwanie, ale myślę, że to może być sposób, lub próbować instalować przez LAN, co nie sądzę, że będzie osiągalne.

Odpowiedzi (6)

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

Oto szybki przykład komend gruba, które mogą po prostu działać, wyjaśnienia i zastrzeżenia poniżej.

grub2

Najprawdopodobniej dla instalacji po 2010 roku.

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

grub

Najprawdopodobniej dla instalacji sprzed 2005 roku.

root (hd1,0)
chainloader +1
boot

Dla okresu 2005-2010, Twój domysł jest tak dobry jak mój, ale jeśli użyjesz komendy dla złej wersji, otrzymasz tylko nieszkodliwy błąd składni przy pierwszej komendzie.

Wybór właściwego roota

Przy starcie grub wyszuka twoje urządzenia i przypisze im numery. Wszystkie urządzenia, które są podzielone na partycje (dyski twarde i pendrive'y) również będą miały przypisane numery. Format to (<deviceName>,<partitionIndex>). W grub2 zmieniły się indeksy partycji, więc dwa powyższe przykłady mają ten sam efekt, mimo że wyglądają na używające różnych korzeni.

Twoim pierwszym urządzeniem (hd0) jest urządzenie, z którego właśnie załadował się grub. Po tym, możesz zazwyczaj założyć, że wszystkie urządzenia wewnętrzne pojawią się przed urządzeniami zewnętrznymi. Najprawdopodobniej będą one miały postać hd i liczby.

Po przecinku znajduje się indeks partycji. Dyski twarde i pendrive'y prawie zawsze będą podzielone na partycje, więc musisz wybrać właściwą (i najprawdopodobniej jedyną) partycję. Dyski CD-ROM zazwyczaj nie są podzielone na partycje.

Więcej dokumentacji: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

Podczas wybierania partycji głównej możesz użyć klawisza Tab, aby wysondować nazwy urządzeń i indeksy partycji. Po prostu otwórz nawias i zacznij naciskać Tab, aby zobaczyć listę.

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

Aby rozwinąć komentarz nowego123456:

Urządzenie USB powinno być wykryte jako urządzenie pamięci masowej i traktowane tak samo jak dysk twardy. Więc, w grub, wpisz root (hd (nie naciskaj jeszcze Enter), a następnie naciśnij tabulator raz lub dwa razy, aby zobaczyć jakie dyski twarde Grub może zobaczyć. Urządzenie USB, jeśli jest rozpoznawane, będzie prawdopodobnie hd1. Nie podawaj numeru partycji; po prostu dodaj nawias zamykający. Tak więc linia będzie miała postać root (hd1). Następnie wpisz następujące dane:

chainloader +1
boot

Jeśli to nie zadziała, zmień root (hd1) na root (hd1,0) i spróbuj ponownie.

Jeśli z jakiegoś powodu Grub nie widzi napędu USB, spróbuj podłączyć CDROM USB i uruchomić komputer z tego napędu.

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

Rzecz chainloader +1 może nie działać, jeśli BIOS nie jest dobry w bootowaniu z klucza USB (co było powodem, dla którego chciałem użyć Grub'a).

W tym przypadku, jest jakaś głęboka magia w https://help.ubuntu.com/community/Grub2/ISOBoot , która działa, przynajmniej dla Ubuntu. Kluczowym elementem jest kombinowanie z poleceniem gruba, które identyfikuje plik vmlinuz, przekazując argument iso-scan/filename. W jakiś sposób pomaga to zorientować się, że cały system plików startowych utknął w pliku ISO. Nie wiem jak to do cholery działa, ale tak jest. To są (w przybliżeniu) komendy Grub 2, których użyłem:

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

The /path/to/iso/file powinna być ścieżką do pliku ISO na kluczu USB. (fd0,msdos1) identyfikuje klucz USB. Tab-completion jest bardzo pomocne w linii loopback, natomiast nie jest przydatne dla argumentów do vmlinuz.

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

To nie będzie zbyt pomocne w przypadku twojego przyjaciela (chyba, że jest jakiś sposób, którego nie znam, aby uruchomić plop na urządzeniu - może cd-rom usb, albo stacja dyskietek usb?), ale jest to wspaniała mała aplikacja, która pomogła mi podłączyć kilka starych maszyn do bootowania z usb, gdy ich bios na to nie pozwalał. Plop Boot Manager

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

Miałem zamiar zostawić to jako komentarz do postu @Ekevoo lub @Jonathan, ale nie wolno mi, więc oto mój przypadek użycia+rozwiązanie dla każdego, kto również może się z tym spotkać:

Na USB znajdował się GPart Live CD Install, ale mój BIOS z jakiegoś powodu nie uruchamiał się z niego, mimo że wcześniej działał (poprzednim razem, gdy działał, zainstalowałem CD przez Windows, tym razem zrobiłem to przez Ubuntu). W Grubie wykonałem następujące komendy i zadziałało

set root=(hd0)

To może być różne dla różnych urządzeń, nie jestem pewien czy jest to w ogóle konieczne.

Następnie uruchomiłem

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

Ścieżka będzie prawdopodobnie inna dla innych OS, ale podobny plik powinien tam być. Należy go poszukać.

I to wystarczyło, żeby zadziałało.

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

Nie możesz bootować z usb w grub, jeśli bios sam na to nie pozwala. Kiedyś musiałem utworzyć coś w rodzaju partycji recovery na dysku twardym zawierającej zawartość dysku instalacyjnego win7, zainstalować gruba, a następnie użyć go do uruchomienia partycji instalacyjnej win7, aby zainstalować ją na reszcie dysku twardego.