Arranque iso de Windows 7 desde grub2


12

Quiero hacerlo porque quiero instalar Windows 7 y mi menú de BIOS no aparece; salta al menú grub2 al inicio, pero esa es otra historia ... ¿Hay alguna manera de arrancar la iso de instalación de Windows 7 directamente desde grub2?


1
"el menú de mi BIOS no aparece" ¿Pero ha intentado ingresar al BIOS?
Mitch

¿Qué pasa si formateo el HDD? ¿Windows arrancará entonces? :)

Respuestas:


7

Arranque de Windows XP con grub4dos

Arrancar el ISO real con grub legacy o grub2 no funcionará, pero con versiones anteriores de Windows (es decir, XP) es posible descomprimir la carpeta i386 del ISO al dispositivo USB y luego usar grub4dos para llamar al gestor de arranque:

title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin

o

title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin

Es posible que esto no funcione con versiones más nuevas de Windows o con hardware más nuevo, pero también existe la opción de ...

Arranque de Windows 7 con grub2

Con grub2 aparentemente algo como esto podría funcionar para Windows 7 :

menuentry "Windows 7 (bootmgr)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    ### A: either use this line or the next one, but not both
    set root='(hd0,msdos1)' 
    ### B: 
    ### search --no-floppy --fs-uuid --set=root ____INSERT_PARTITION_UUID_HERE___
    ntldr ($root)/bootmgr
}

La opción A asume que su memoria USB / HDD de arranque es el primer dispositivo y tiene una tabla de partición de estilo msdos. Ajuste para que coincida con su configuración. Si su dispositivo de arranque tiene una tabla de particiones GPT, lo más probable es que necesite usar (hd0,gpt1)(GPT en general es más complicado de configurar).

La opción B utiliza el UUID exclusivo de la unidad, que se puede ver en Linux con sudo blkido en OSX con, por ejemplo, diskutil info disk0s1(o Utilidad de disco> Información).

La entrada final podría verse, por ejemplo, así:

menuentry "Windows 7 installer" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    search --no-floppy --fs-uuid --set=root 0E239BC6-F960-3107-89CF-1C97F78BB46B
    ntldr /bootmgr
}

Agradable. Sin embargo, utilicé --set = root --fs-uuid UUIDHERE (orden cambiada) (no podía decir si era obligatorio o no). Gracias
Jan Kyu Peblik

@ JanKyuPeblik ¿Podría arrancar desde ISO?
Anwar

Ese es mi recuerdo, sí. No habría estado interesado en las otras cosas.
Jan Kyu Peblik

5

Sí, pensarías que algo como esto funcionaría:


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  drivemap "/Winblows.iso" '(hd32)'
  drivemap '--hook' ''
  set root='(hd32)'
  chainloader +1
}

Pero Windows simplemente se resistirá a eso.

Si tiene al menos 4 GB de RAM, puede optar por cargar todo el DVD iso en el disco duro y arrancarlo. Para hacerlo, descargue SysLinux y extraiga el memdiskarchivo en su bootdirectorio. Entonces necesita agregar código a Grub2 algo como esto


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  insmod memdisk
  linux16 /boot/memdisk iso
  initrd16 /Winblows.iso
}

Sin embargo, ni siquiera voy a probar el código, ya que poner más de 3 GB de datos en la RAM es simplemente incorrecto (desde un punto de vista idealogical). No, realmente quería lo que querías, pero al final puse la instalación de Windows en una partición en un USB usando la herramienta de descarga de USB / DVD de Windows 7 y lo cargué en cadena. Lo siento, no parece haber otra forma en que pueda ver.


El primer código arrancará Windows, pero fallará después de un tiempo ya que Windows no sabe dónde está montada la iso
totti

El segundo código puede no funcionar, ya que no funcionará con iso de Ubuntu
totti

El OP se refiere específicamente a Windows 7. ¿Ha podido probar eso?
Warpspace

Puede que no le guste Windows, pero publicar "Winblows" y "Windoze" aquí no es profesional. -1.
0xC0000022L

1
Como no soy un programador profesional de bootstrap, puedo vivir con "no profesional". Creo que podrías haber querido decir "irrespetuoso". Sí, ese comentario fue hace 6 años. He cambiado mucho desde entonces (y también Windows)
Warpspace

5

Técnicamente, la instalación desde el .isoarchivo de Windows no puede ser posible. Puede arrancar desde el .isouso de grub, pero después de eso, Windows perderá el contacto con la ubicación montada o no podrá hacerlo. De modo que tanto grubWindows como Windows deben tener en cuenta el montaje y el arranque Actualmente Windows no es compatible.

Por lo tanto, debe extraer / copiar el contenido de la .isoraíz de una partición y luego cargarla en cadena usando grub.


2
Es una buena idea compartir conocimientos, pero puede agregar respuestas directas a la pregunta de manera técnica. es decir, reutilice el texto actual como descargo de responsabilidad, pero luego podría expandir el "puede iniciar desde el .iso" en menuentries o algo así. de esa manera usted haría exacto qué método (s) imaginó para lograr lo que se le pidió, aunque sabe que no funciona para el propósito supuesto. esto también desambigua el recuento de soluciones que consideró.
n611x007
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.