Tengo:
- imagen ISO del medio de instalación de Windows 7
- Memoria USB flash de 4 GB
- no tengo unidad de DVD
- Linux instalado
Tengo:
OK, después de intentar sin éxito todos los métodos mencionados aquí, finalmente lo conseguí funcionando. Básicamente, el paso que faltaba era escribir un sector de arranque adecuado en el USB, lo cual se puede hacer desde Linux con ms-sys
o lilo -M
. Esto funciona con la versión de Windows 7 retail.
Aquí está la descripción completa nuevamente:
Instalar ms-sys - si no está en tus repositorios, consíguelo aquí. O alternativamente, asegúrate de que lilo esté instalado (¡pero no ejecutes el paso de liloconfig en tu máquina local si por ejemplo Grub está instalado allí!)
Verifica a qué dispositivo se asigna tu medio USB - aquí asumiremos que es /dev/sdb
. Elimina todas las particiones, crea una nueva que ocupe todo el espacio, establece el tipo en NTFS (7), y acuérdate de marcarlo como arrancable:
# cfdisk /dev/sdb
o fdisk /dev/sdb
(tipo de partición 7, y flag de arranque)
Crea un sistema de archivos NTFS:
# mkfs.ntfs -f /dev/sdb1
Escribe el MBR de Windows 7 en el stick USB (también funciona para Windows 8), múltiples opciones aquí:
# ms-sys -7 /dev/sdb
sudo lilo -M /dev/sdb mbr
(info)sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Monta la ISO y el medio USB:
\# mount -o loop win7.iso /mnt/iso
# mount /dev/sdb1 /mnt/usb
Copia todos los archivos:
# cp -r /mnt/iso/* /mnt/usb/
...o usa el navegador de archivos GUI estándar de tu sistema
Llama a sync
para asegurarte de que todos los archivos se hayan escrito.
Abre gparted, selecciona el USB drive, haz clic derecho en el sistema de archivos, luego haz clic en "Gestionar flags". Marca la opción de arranque, luego cierra.
...y listo.
Después de todo eso, probablemente quieras hacer una copia de seguridad de tu medio USB para futuras instalaciones y deshacerte del archivo ISO... Solo usa dd: # dd if=/dev/sdb of=win7.img
Nota, ¡esto copia todo el dispositivo! — que generalmente es (mucho) más grande que los archivos copiados en él. Así que en su lugar propongo
# dd count=[(tamaño del archivo ISO en MB más algunos MB adicionales para el bloque de arranque) dividido por el tamaño de bloque dd estándar] if=/dev/sdb of=win7.img
Así, por ejemplo, con 8 MB extra:
# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress
Como siempre, verifica muy cuidadosamente los nombres de los dispositivos cuando trabajes con dd
.
El método de creación de un USB arrancable presentado anteriormente también funciona con la iso del instalador de Win10. Lo intenté ejecutando Ubuntu 16.04 copiando Win10_1703_SingleLang_English_x64.iso (tamaño 4,241,291,264 bytes) en un USB de 8 GB—sólo en un arranque no-UEFI [no seguro]. Después de ejecutarlo, dd reporta: 8300156+0 registros in 8300156+0 registros out 4249679872 bytes (4.2 GB, 4.0 GiB) copiados, 412.807 s, 10.3 MB/s
La próxima vez que quieras poner el instalador de Windows 7 en USB, revertir if/of.
Solo un recordatorio: Si tu sistema de archivos ntfs te da errores de permisos extraños cuando intentas escribir en él incluso como root, asegúrate de haber instalado ntfs-3g.
Puedes lograr esto con dd, si tu PC es compatible con UEFI y, por extensión, discos GPT.
Abre una terminal, necesitarás encontrar cuál es tu pendrive. Si la unidad está montada, puedes encontrar el nombre del dispositivo escribiendo "mount" y mirando su entrada. Algo como lo siguiente:
/dev/sdb1 en /media/USBDISK tipo vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)
En este caso, la primera partición de /dev/sdb está montada en /media/USBDISK. Abre un shell de root y desmonta la unidad.
umount /dev/sdb1
Ve al directorio donde se encuentra tu ISO almacenado en un shell de root y escribe lo siguiente: (Reemplaza windows7.iso con el nombre real de la iso, y /dev/sdb con el identificador del dispositivo de tu memoria USB).
dd if=windows7.iso of=/dev/sdb
Si tu placa base admite arrancar desde un pendrive debería poder arrancar desde él. Esto pondrá el instalador en el pendrive, no el sistema operativo en sí.
¿Tu placa base admite el arranque desde USB? Ese será el factor decisivo definitivo para determinar si este enfoque funcionará o no.
Tampoco me funciona a mí, y mi máquina sí admite el arranque USB perfectamente. Tal vez este enfoque pueda funcionar en máquinas que puedan arrancar USB de estilo DVD, pero la mayoría de las BIOS asumen un diseño de estilo HDD en los USB (lo que significa un MBR de 512 bytes con código de arranque). Vale la pena mencionar una cosa: las imágenes de CD/DVD de Fedora, a diferencia de W7, sí tienen ese MBR con código de arranque y tabla de particiones, lo que las hace adecuadas también para el arranque desde HDD/USB.
Si pudieras lograr hacer todas estas tareas desde tu escritorio de linux, estarías arrasando.
Creo que la parte más difícil sería jugar con todas las operaciones que realiza Diskpart de Windows. Hacer que la partición esté marcada como 'activa' y 'de arranque', 'primaria', etc.
La sugerencia de PCambell es buena, pero también querrás limpiar el MBR, el equivalente en Linux está abajo
Intenté esto y funcionó (no estoy seguro por qué falló el método dd, pero parece que la partición tenía que ser ntfs?):
EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.
0 votos
Si logras hacer todas estas tareas desde tu escritorio de Linux, estarás dando un gran paso adelante. Creo que la parte más difícil sería trastear con todas las operaciones que hace Diskpart de Windows. Marcar la partición como 'activa' y 'de arranque', 'primaria', etc.
3 votos
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 lo he probado, pero parece que rsync puede sustituir a robocopy en esa lista de verificación.
1 votos
Hay muchas respuestas detalladas a la misma pregunta en askubuntu.com/q/289559/135671
0 votos
¡Comentario sobre WoeUSB es mucho mejor que la respuesta aceptada! Además, AA es inexacto - ¿etiqueta DOS o GPT? ¡Perdí 3 horas con "ms-sys + ntfs/fat32 + gpt/msdos, buscando efi en la bios, cambiando memorias USB" pero finalmente, ¡WoeUSB hizo el trabajo en varios minutos! Probablemente grub sea más robusto que el MBR original.