Загрузка с USB с помощью GRUB

Ноутбук моего друга попал в автомобильную аварию (он в порядке!). Однако ноутбук очень старый - это Acer Aspire 1520, дисковод для компакт-дисков сломан, а дисковод гибких дисков отсутствует.

Я сделал его загрузочным USB, прежде чем я взглянул на него и обнаружил, что его BIOS не может загрузиться с USB. Единственное, что у меня есть, это консоль GRUB, но он просто хочет установить XP (на USB) и использовать ее только для фильмов.

Можно ли с помощью консоли GRUB получить доступ к USB и начать установку Windows? Это сложный заказ, но я думаю, что это может быть способ или попытка установки через локальную сеть, что, я не думаю, будет достижимо.

6 ответов

Вот краткий пример команд 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 и номер.

После запятой указывается раздел раздела. Жесткие диски и флэш-накопители почти всегда будут разбиты на разделы, поэтому вы должны выбрать правильный (и, скорее всего, только) раздел. Компакт-диски обычно не разбиты на разделы.

Дополнительная документация: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

При выборе корневого раздела вы можете использовать клавишу Tab для поиска имен устройств и индексов разделов. Просто откройте скобки и начните нажимать Tab, чтобы увидеть список.

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,

Чтобы уточнить комментарий new123456:

Устройство USB должно быть определено как устройство хранения данных и рассматриваться как жесткий диск. Итак, в grub, типа root (hd (пока не нажимайте Enter), а затем нажмите один или два раза на вкладку, чтобы увидеть, что видит Grub. Устройство USB, если оно распознано, вероятно будет hd1. Не указывайте номер раздела; просто добавьте закрывающую скобку. Так что линия будет root (hd1), Затем после этого введите следующее:

chainloader +1
boot

Если это не сработает, измените root (hd1) в root (hd1,0) и попробуйте еще раз.

Если по какой-то причине Grub не видит USB-накопитель, попробуйте подключить USB-CDROM и загрузиться с него.

Я собирался оставить это как комментарий к сообщению @Ekevoo или @Jonathan, но мне не разрешено это делать, поэтому вот мой вариант использования + решение для всех, кто также может столкнуться с этим:

На USB-накопителе находился установочный компакт-диск GPart Live, но мой BIOS по какой-то причине не загружался с него, несмотря на то, что раньше он работал (в предыдущий раз, когда он работал, я устанавливал компакт-диск через Windows, на этот раз я сделал это через Ubuntu). В Grub я выполнил следующие команды, и это сработало

      set root=(hd0)

Для разных устройств это может быть по-разному, я не уверен, что это вообще необходимо.

Потом я побежал

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

Путь к загрузчику, вероятно, будет другим для других ОС, но там должен быть аналогичный файл. Перемещайтесь по вкладке и найдите его или воспользуйтеськомандуйте, если можете.

И этого было достаточно, чтобы все заработало.

Это не будет очень полезно в случае вашего друга (разве что есть способ, которым я не знаю, в первую очередь, чтобы получить устройство на устройстве - может быть, USB-CD или USB-дисковод гибких дисков?), Но Это потрясающее маленькое приложение, которое помогло мне установить несколько старых машин для загрузки с USB, когда их биография не позволяла этого.

Plop Boot Manager

Вы не можете загрузиться с usb в grub, если биос сам этого не разрешает. Однажды мне пришлось установить раздел восстановления на жесткий диск, содержащий содержимое установочного диска win7, установить grub, а затем использовать его для загрузки установочного раздела win7, чтобы установить его на оставшуюся часть жесткого диска.

Другие вопросы по тегам