Завантажте з USB за допомогою GRUB


48

Ноутбук мого друга потрапив у автокатастрофу (він прекрасний!). Однак ноутбук дуже старий, його Acer Aspire 1520 привід CD-rom зламаний, а дискети немає.

Я зробив йому завантажувач USB, перш ніж я подивився на нього і виявив, що його BIOS не може завантажуватися з USB. Тільки , що у мене є це GRUB консоль , але він прагне просто встановити XP (на USB) і використовувати його тільки для фільмів.

Чи можливо за допомогою консолі GRUB отримати доступ до USB та запустити установку Windows? Це високе замовлення, але я думаю, що це може бути спосіб або намагатися встановити через локальну мережу, що, на мою думку, не буде досяжним.


1
Я б спробував отримати USB-накопичувач CD / DVD і попрацювати над завантаженням комп'ютера для цього.
jmreicha

1
У цій публікації відображаються необхідні ручні команди - просто потрібно дізнатися номер диска, який можна виконати після завершення вкладки GRUB.
new123456

Відповіді:


39

Ось короткий приклад команд grub, які можуть просто працювати, пояснення та застереження нижче.

grub2

Швидше за все, після встановлення після 2010 року.

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

grub

Швидше за все, до встановлень до 2005 року.

root (hd1,0)
chainloader +1
boot

Для періоду 2005–2010 років ваші здогадки такі ж хороші, як і мої, але якщо ви використовуєте команду для неправильної версії, ви отримуєте лише нешкідливу помилку синтаксису в першій команді.

Вибір правильного кореня

Під час запуску, grub перевірятиме ваші пристрої та присвоює їм номери. Усім пристроям, які розміщені на розділах (жорсткі диски та флешки), також буде призначено номери. Формат є (<deviceName>,<partitionIndex>). В grub2індексах розділів змінилися, тому два вищевказані приклади мають однаковий ефект, незважаючи на те, що намагаються використовувати різні корені.

Ваш перший пристрій ( hd0) - це те, від чого тільки завантажено групу пристрою. Після цього, як правило, можна припустити, що всі внутрішні пристрої стоять перед вашими зовнішніми пристроями. Вони, швидше за все, будуть у формі hdта кількості.

Після коми - індекс розділу. Жорсткі диски та палець накопичувача майже завжди будуть розділені, тому ви повинні вибрати правильний (і, швидше за все, єдиний) розділ. Компакт-диски CD-ROM, як правило, не розміщуються в розділі.

Додаткову документацію: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

Вибираючи свій корінний розділ, ви можете скористатися клавішею Tab для пошуку назв пристроїв та індексів розділів. Просто відкрийте дужки та починайте натиснути Tab, щоб побачити список.


5
Також можна використовувати set root=(hd1)(тощо) для завантаження з усього пристрою, якщо він не розділений, наприклад, завантажувальний USB-накопичувач.
white_gecko

6
Просто додати, ви можете lsпереглянути список підключених пристроїв.
AntouanK

2
Я знаю, що обмін стеками перешкоджає дякувати коментарям, але ця відповідь дійсно заслуговує на одну. Ти врятував мені величезну кількість часу.
Джон Мілітер

не вдається знайти командуroot
Вболівальник номер один Бьоркс

13

Щоб детальніше розповісти про коментар new123456:

USB-пристрій слід визначити як пристрій масового зберігання та поводитись з ним, як з жорстким диском. Отже, в grub введіть root (hd(ще не натискайте Enter), а потім натисніть вкладку один-два рази, щоб побачити, які жорсткі диски Grub бачать. Пристрій USB, якщо його розпізнають, ймовірно, буде hd1. Не вказуйте номер розділу; просто додайте дужки, що закриваються. Тож лінія буде root (hd1). Потім після цього наберіть наступне:

chainloader +1
boot

Якщо це не працює, перейдіть root (hd1)на root (hd1,0)спробу і ще раз.

Якщо чомусь Grub не бачить USB-накопичувач, спробуйте підключити USB-компакт-диск та завантажте його.


7

Це chainloader +1може не спрацювати, якщо BIOS не дуже підходить при завантаженні з USB-ключа (саме тому я хотів використовувати Grub все одно).

У цьому випадку на https://help.ubuntu.com/community/Grub2/ISOBoot є якась глибока магія, яка працює, принаймні, для Ubuntu. Найважливішим бітом є зв'язок із командою grub, яка ідентифікує vmlinuzфайл, передаючи iso-scan/filenameаргумент. Так чи інакше, це допомагає зрозуміти, що вся файлова система завантаження застрягла у файлі ISO. Я не знаю, як чорт працює, але це так. Це (приблизно) команди Grub 2, які я використав:

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

Це /path/to/iso/fileповинен бути шлях до файлу ISO на клавіші USB. (fd0,msdos1)Ідентифікує ключ USB. Завершення вкладки є надзвичайно корисним у loopbackрядку та не корисно для аргументів vmlinuz.


Я думаю, я мав намір відповісти на це у відповідь на інше питання. Я б хотів, щоб я знав, який з них!
Пол Стансіфер

У разі efi/ uefiрежими завантаження, ці grub2команди генерують помилку: error: can't find command 'linux'. Змініть команди на linuxefiі initrdefi.
Самвін

Мені тут подобається концепція. Завантажте ISO, який міститься на флешці. Це перетворить флешку в буфет Boot CD. У більш функціональному прикладі, коли ви можете завантажувати компакт-диск, а не Flash, ви можете записати компакт-диск, який вибрав серед них, якщо виникла проблема з завантаженням USB, правда?
БенПен

2

Це не буде дуже корисно у випадку вашого друга (якщо тільки не існує способу, який я не знаю в першу чергу, щоб отримати plop на пристрої - можливо, USB-компакт-диск або дискета usb?), Але це приголомшливе маленьке додаток, яке допомогло мені скомпонувати ряд старих машин для завантаження з usbs, коли їх біоси не дозволяли.

Plop Boot Manager


0

Ви не можете завантажуватися з usb in grub, якщо біос не дозволяє цього робити. Мені колись довелося встановити такий тип відновлення на жорсткому диску, що містить вміст диска налаштування win7, встановити grub, а потім використати це для завантаження розділу настройки установки win7, щоб встановити його на іншу частину жорсткого диска.


Ймовірно, вам доведеться використовувати команди "insmod usbms", а потім "insmod ehci" або "insmod uhci" перед згаданими командами.
Клод Франц,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.