Pregunta ¿Cómo hacer que Windows 7 USB Flash instale medios desde Linux?


Yo tengo:

  • Imagen ISO de los medios de instalación de Windows 7
  • Unidad flash USB de 4 GB
  • sin unidad de DVD
  • Linux instalado

102
2018-05-09 22:50


origen


Si pudieras lograr hacer todo estas tareas Desde dentro de tu escritorio Linux, estarás sacudiendo la casa. Creo que la parte más difícil sería jugar con todas las operaciones que realiza Diskpart de Windows. Haciendo la partición marcada como 'activa' y 'arranque', 'primaria', etc. - p.campbell
Creo que GParted (gparted.sourceforge.net) puede manejar todas las banderas de partición muy bien. Ver por ejemplo gparted.sourceforge.net/screenshots.php . Y no he probado, pero parece que rsync puede sustituir a robocopy en esa lista de verificación. - Matthew Flaschen
Hay muchas respuestas detalladas a la misma pregunta en askubuntu.com/q/289559/135671 - erik


Respuestas:


De acuerdo, después de haber intentado sin éxito todos los métodos mencionados aquí, finalmente lo puse en funcionamiento. Básicamente, el paso faltante fue escribir un sector de arranque adecuado en la memoria USB, lo que se puede hacer desde Linux con ms-sys o lilo -M. Esto funciona con la versión comercial de Windows 7.

Aquí está el resumen completo de nuevo:

Instale ms-sys - si no está en sus repositorios, consígalo aquí. O alternativamente, asegúrese de que lilo esté instalado (pero no haga ejecute el paso liloconfig en su casilla local si, por ejemplo, Grub se instala allí!)

Compruebe qué dispositivo tiene asignado su dispositivo USB: aquí asumiremos que es /dev/sdb. Elimine todas las particiones, cree una nueva que ocupe todo el espacio, establezca el tipo en NTFS (7) y recuerde configurarlo de inicio:

# cfdisk /dev/sdb  o  fdisk /dev/sdb  (dividir tipo 7y de arranque bandera)

Crear un sistema de archivos NTFS:

# mkfs.ntfs -f /dev/sdb1

Escribe Windows 7 MBR en la memoria USB (también funciona para Windows 8), múltiples opciones aquí:

  1. # ms-sys -7 /dev/sdb
  2. o (por ejemplo, en instalaciones más nuevas de Ubuntu) sudo lilo -M /dev/sdb mbr (info)
  3. o (si syslinux está instalado), puede ejecutar sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb

Monte los medios ISO y USB:

# mount -o loop win7.iso / mnt / iso
# mount / dev / sdb1 / mnt / usb

Copia sobre todos los archivos:

# cp -r /mnt/iso/* /mnt/usb/   ... o use el navegador de archivos GUI estándar de su sistema

Llamada sync para asegurarse de que todos los archivos están escritos.

Abra gparted, seleccione la unidad USB, haga clic con el botón derecho en el sistema de archivos, luego haga clic en "Administrar banderas". Marque la casilla de verificación de arranque, luego cierre.

...y tu estas listo.

Después de todo eso, es probable que desee hacer una copia de seguridad de su dispositivo USB para realizar más instalaciones y deshacerse del archivo ISO ... Solo use dd: # dd if=/dev/sdb of=win7.img

Tenga en cuenta, esto copia todo el dispositivo! - que suele ser (mucho) más grande que los archivos copiados. Así que en vez te propongo

# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img

Así, por ejemplo, con 8 M extra bytes:

# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress

Como siempre, revise los nombres de los dispositivos con mucho cuidado cuando trabaje con dd.

El método de creación de un USB de arranque presentado anteriormente también funciona con el instalador Win10 iso. Lo intenté ejecutando Ubuntu 16.04 copiando Win10_1703_SingleLang_English_x64.iso (tamaño 4,241,291,264 bytes) en una memoria USB de 8 GB - en arranque no UEFI [no seguro]. Después de la ejecución d informes:         8300156 + 0 registros en         8300156 + 0 registros         4249679872 bytes (4.2 GB, 4.0 GiB) copiados, 412.807 s, 10.3 MB / s

Invertir si / de la próxima vez que quiera poner el instalador de Windows 7 en USB.


179
2017-08-04 15:38



Sería bueno mencionar también el tipo de partición numérica para usar en cfdisk (7, 86, 87?) - Johan Dahlin
Se trabajó con tipo 7. - Ropez
Solo una nota: si su sistema de archivos ntfs produce extraños errores de permiso cuando escribe en él incluso como root, asegúrese de haber instalado ntfs-3g. - Jeremy Salwen
Intenté esto directamente en un disco duro, y recibí el error "Windows no puede acceder a las fuentes de instalación" una vez que arranqué. - Jeremy Salwen
llamada sync después de la copia para asegurarse de que todos los archivos están escritos - Nicolas Dusart


Puede lograr esto con dd, si su PC es compatible con UEFI y, por extensión, con los discos GPT.

Abra un terminal, tendrá que encontrar qué dispositivo es su pendrive. Si tiene la unidad montada, puede encontrar el nombre del dispositivo escribiendo "montar" y mirando su entrada. Algo como lo siguiente:

/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)

En este caso, la primera partición de / dev / sdb se monta en / media / USBDISK. Abra un shell de root y desmonte la unidad.

umount /dev/sdb1

Vaya al directorio donde se almacena su ISO en una shell raíz y escriba lo siguiente: (Reemplace windows7.iso con lo que se llame iso, y / dev / sdb con el ID de dispositivo de su memoria USB).

dd if=windows7.iso of=/dev/sdb

Si su placa base admite el arranque desde un pendrive, debería poder arrancar desde él. Esto hará que el instalador en el pendrive no el sistema operativo en sí.


13
2018-05-11 14:28



No funciona para mi
¿Su placa base es compatible con el arranque desde USB? Ese será el último factor decisivo de si este enfoque funcionará o no. - TrueDuality
Tampoco me funciona y mi máquina admite el arranque USB muy bien. Tal vez este enfoque puede funcionar en máquinas que pueden iniciar almacenamiento USB de estilo DVD, pero la mayoría de los BIOS asumen un diseño de estilo HDD en USB (lo que significa 512 bytes MBR con código de inicio). Lo que vale la pena mencionar: las imágenes de CD / DVD de Fedora, a diferencia de W7, de hecho tienen un MBR con el código de inicio y una tabla de particiones, lo que las hace adecuadas también para el arranque de HDD / USB. - Tronic
Esto requiere que su placa base sea capaz de arrancar USB-CDROM no solo USB-HDD - TrueDuality
A esta solución le falta el paso de instalación de MBR, y normalmente no funcionará a menos que mágicamente ya esté allí. La solución de @Gunthers es completa. - stolsvik


La sugerencia de PCambell es buena, pero también querrá borrar el MBR, el equivalente de Linux está abajo

Intenté esto y funcionó (no estoy seguro de por qué falló el método dd pero parece que la partición tenía que ser ntfs?):

  • averiguar qué / dev / device es su unidad flash USB y desmontarlo
  • borre el MBR: dd if = / dev / zero of = / dev / device bs = 446 count = 1
  • ejecutar fdisk / dev / device
  • elimine todas las particiones y cree 1 partición primaria, haga que sea de arranque y luego guarde los cambios
  • ejecute mkfs.ntfs / dev / device1 (partición 1)
  • Copie todo el contenido de la instalación de Windows en la partición que creó.

5
2018-03-27 08:24





En lugar de

dd if=windows7.iso of=/dev/sdb

usted escribe como root,

dd if=windows7.iso of=/dev/sdb1 

(AGREGUE 1 al final o lo que sea que se coloque en su unidad USB.)


-4
2017-12-22 18:20



No, el of = sdb es correcto según las respuestas anteriores. - James Broadhead
Esto esta simplemente mal. - lukad
-1: dd Necesita escribir en dispositivos, no en particiones. - ssc