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

Arranque desde USB usando GRUB

El portátil de mi amigo tuvo un accidente de coche (¡está bien!). Sin embargo, el portátil es muy viejo es un Acer Aspire 1520 la unidad de CD-ROM está roto y no hay unidad de disquete.

Le hice un arranque por USB antes de echarle un vistazo y encontré que su BIOS no puede arrancar desde USB. Lo único que tengo es una consola GRUB, pero él está dispuesto a instalar XP (en USB) y usarlo sólo para las películas.

¿Es posible usar la consola GRUB para acceder al USB e iniciar la instalación de windows? Es una tarea difícil, pero creo que este puede ser el camino, o tratar de instalar a través de LAN que no creo que se puede lograr.

Respuestas (6)

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

Aquí hay un ejemplo rápido de los comandos de grub que podría funcionar, las explicaciones y advertencias a continuación.

grub2

Muy probablemente para instalaciones posteriores a 2010.

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

grub

Lo más probable para instalaciones anteriores a 2005.

root (hd1,0)
chainloader +1
boot

Para el periodo 2005-2010, tu suposición es tan buena como la mía, pero si utilizas el comando para la versión equivocada, sólo obtendrás un inofensivo error de sintaxis en el primer comando.

Elección de la raíz correcta

En el arranque, grub buscará sus dispositivos y les asignará números. Todos los dispositivos que están particionados (discos duros y unidades flash) también tendrán números asignados. El formato es (<deviceName>,<partitionIndex>). En grub2, los índices de las particiones cambiaron, por lo que los dos ejemplos anteriores tienen el mismo efecto a pesar de buscar usar diferentes raíces.

Su primer dispositivo (hd0) es el dispositivo desde el que grub acaba de cargar. Después de eso, normalmente puede asumir que todos los dispositivos internos vendrán antes de sus dispositivos externos. Lo más probable es que tengan la forma de hd y un número.

Después de la coma está el índice de la partición. Los discos duros y las unidades de disco duro casi siempre estarán particionados, por lo que debes elegir la partición correcta (y muy probablemente la única). Los CD-ROM no suelen tener particiones.

Más documentación: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

Cuando elija su partición raíz, puede utilizar la tecla Tab para sondear los nombres de los dispositivos y los índices de las particiones. Sólo tienes que abrir paréntesis y empezar a pulsar Tab para ver la lista.

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

Para ampliar el comentario de new123456:

El dispositivo USB debería ser detectado como un dispositivo de almacenamiento masivo y tratado igual que un disco duro. Así que, en grub, escribe root (hd (no pulses Enter todavía) y luego pulsa tab una o dos veces para ver qué discos duros puede ver Grub. El dispositivo USB, si es reconocido, probablemente será hd1. No especifiques un número de partición; sólo añade un paréntesis de cierre. Así que la línea será root (hd1). Luego, después de eso, escriba lo siguiente:

chainloader +1
boot

Si eso no funciona, cambia root (hd1) por root (hd1,0) e inténtalo de nuevo.

Si por alguna razón Grub no puede ver la unidad USB, intente conectar un CDROM USB y arrancar desde él.

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

Lo de chainloader +1 puede no funcionar si la BIOS no es buena para arrancar desde una llave USB (que era por lo que quería usar Grub de todas formas).

En este caso, hay algo de magia profunda en https://help.ubuntu.com/community/Grub2/ISOBoot que funciona, al menos para Ubuntu. La parte crucial es jugar con el comando grub que identifica el archivo vmlinuz, pasando el argumento iso-scan/filename. De alguna manera, eso le ayuda a averiguar que todo el sistema de archivos de arranque está atascado en un archivo ISO. No sé cómo diablos funciona, pero lo hace. Estos son (aproximadamente) los comandos de Grub 2 que utilicé:

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

El /path/to/iso/file debe ser la ruta del archivo ISO en la llave USB. El (fd0,msdos1) identifica la llave USB. El tabulador es súper útil en la línea loopback, y no es útil para los argumentos a vmlinuz.

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

Esto no va a ser terriblemente útil en el caso de tu amigo (a menos que haya una manera que desconozco para conseguir plop en el dispositivo en primer lugar - tal vez un cd-rom usb, o una unidad de disquete usb?), pero esta es una pequeña aplicación estupenda, que me ha ayudado a arreglar una serie de máquinas antiguas para arrancar desde usbs cuando su bios no lo permitía. Plop Boot Manager

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

Iba a dejar esto como comentario en el post de @Ekevoo o de @Jonathan, pero no se me permite, así que aquí está mi caso de uso+solución para cualquiera que también se encuentre con esto:

El USB contenía un Live CD de instalación de GPart, pero mi BIOS no arrancaba desde él por alguna razón, a pesar de que ya había funcionado anteriormente (la vez anterior que funcionó instalé el CD a través de windows, esta vez lo hice a través de Ubuntu). En Grub, ejecuté los siguientes comandos y funcionó

set root=(hd0)

Esto puede ser diferente para diferentes dispositivos, no estoy seguro de si es incluso necesario.

Luego ejecuté

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

La ruta probablemente será diferente para otros SO, pero un archivo similar debería estar allí. Busca en el tabulador y búscalo.

Y eso fue suficiente para que funcionara.

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

No se puede arrancar desde usb en grub si la propia bios no lo permite. Una vez tuve que configurar una especie de partición de recuperación en un disco duro que contenía el contenido del disco de instalación de win7, instalar grub, y luego usarlo para arrancar la partición de instalación de win7 para instalarlo en el resto del disco duro.