Solución 1:
Bien, después de intentar sin éxito todos los métodos mencionados aquí, finalmente lo hice funcionar. Básicamente, el paso que faltaba era 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 ejecute el paso liloconfig en su caja local si, p. ¡Grub está instalado allí!)
Verifique a qué dispositivo está asignado su medio USB; aquí asumiremos que es /dev/sdb
. Elimine todas las particiones, cree una nueva que ocupe todo el espacio, configure el tipo en NTFS (7) y recuerde configurarlo como de arranque:
# cfdisk /dev/sdb
o fdisk /dev/sdb
(partición tipo 7 y arrancable bandera)
Cree un sistema de archivos NTFS:
# mkfs.ntfs -f /dev/sdb1
Escriba Windows 7 MBR en la memoria USB (también funciona para Windows 8), varias opciones aquí:
# ms-sys -7 /dev/sdb
- o (p. ej., en instalaciones de Ubuntu más recientes)
sudo lilo -M /dev/sdb mbr
(información) - o (si está instalado syslinux), puede ejecutar
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Montar medios ISO y USB:
# mount -o loop win7.iso /mnt/iso # mount /dev/sdb1 /mnt/usb
Copiar sobre todos los archivos:
# cp -r /mnt/iso/* /mnt/usb/
...o utilice el explorador de archivos GUI estándar de su sistema
Llama al sync
para asegurarse de que todos los archivos estén escritos.
Abra gparted, seleccione la unidad USB, haga clic derecho en el sistema de archivos, luego haga clic en "Administrar banderas". Marque la casilla de inicio y luego cierre.
...y listo.
Después de todo eso, probablemente desee hacer una copia de seguridad de su dispositivo USB para futuras instalaciones y deshacerse del archivo ISO... Simplemente use dd:# dd if=/dev/sdb of=win7.img
Tenga en cuenta que esto copia todo el dispositivo. - que suele ser (mucho) más grande que los archivos copiados en él. Así que en su lugar 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 bytes extra:
# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress
Como siempre, verifique 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 ISO de Win10. Lo probé 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, solo en arranque no UEFI [no seguro]. Después de la ejecución, dd informa:8300156+0 registros de entrada8300156+0 registros de salida4249679872 bytes (4,2 GB, 4,0 GiB) copiados, 412,807 s, 10,3 MB/s
Invierta la próxima vez que desee colocar el instalador de Windows 7 en USB.
Solución 2:
Puede lograr esto con dd, si su PC admite UEFI y, por extensión, discos GPT.
Abre una terminal, vas a necesitar encontrar qué dispositivo es tu 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 parte de /dev/sdb se monta en /media/USBDISK. Abra un shell raíz y desmonte la unidad.
umount /dev/sdb1
Vaya al directorio donde se almacena su ISO en un shell raíz y escriba lo siguiente:(Reemplace windows7.iso con el nombre que sea, y /dev/sdb con la identificación del 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 esté en el pendrive, no en el sistema operativo en sí.
Solución 3:
La sugerencia de PCambell es buena, pero también querrá borrar el MBR, el equivalente de Linux está debajo
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):
- determina cuál /dev/dispositivo es tu unidad flash USB y desmóntalo
- borre el MBR:dd if=/dev/zero of=/dev/device bs=446 count=1
- ejecutar fdisk /dev/dispositivo
- elimine todas las particiones y cree 1 partición primaria, haga que sea de arranque y luego guarde los cambios
- ejecutar mkfs.ntfs /dev/device1 (partición 1)
- copie todo el contenido de la iso de instalación de Windows en la partición que creó