Si pudieras hacer todas estas tareas desde tu escritorio de 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. Hacer la partición marcada como 'activa' y 'arranque', 'primaria', etc.
p.campbell
3
Creo que GParted ( gparted.sourceforge.net ) puede manejar todos los indicadores 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.
OK, después de probar sin éxito todos los métodos mencionados aquí, finalmente lo puse a funcionar. Básicamente, el paso que faltaba era escribir un sector de arranque adecuado en la memoria USB, que se puede hacer desde Linux con ms-syso lilo -M. Esto funciona con la versión comercial de Windows 7.
Aquí está el resumen completo nuevamente:
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, por ejemplo, Grub está instalado allí!)
Verifique 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, configure el tipo en NTFS (7) y recuerde configurarlo como de arranque:
# cfdisk /dev/sdbofdisk /dev/sdb ( tipo de partición 7 y bandera de arranque )
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 (por ejemplo, en las nuevas instalaciones de Ubuntu) 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
Copia sobre todos los archivos:
# cp -r /mnt/iso/* /mnt/usb/... o utilice el explorador de archivos GUI estándar de su sistema
Llame syncpara 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 verificación de inicio, luego cierre.
...y tu estas listo.
Después de todo eso, es probable que desee hacer una copia de seguridad de sus medios USB para realizar más 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. Entonces, en cambio, 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
Como siempre, verifique los nombres de los dispositivos con mucho cuidado al trabajar con ellos dd.
El método de creación de un USB de arranque presentado anteriormente también funciona con el instalador Win10 iso. 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 informes dd: 8300156 + 0 registros en 8300156 + 0 registros 4249679872 bytes (4.2 GB, 4.0 GiB) copiados, 412.807 s, 10.3 MB / s
Invierta si / o la próxima vez que quiera poner el instalador de Windows 7 en USB.
Sería bueno mencionar el tipo de partición numérica para usar también en cfdisk (7, 86, 87?)
Johan Dahlin
55
Funcionó con el tipo 7
Ropez
3
Solo una nota: si su sistema de archivos ntfs da errores de permisos extraños cuando escribe en él, incluso como root, asegúrese de haber instalado ntfs-3g.
Jeremy Salwen
1
Intenté esto directamente en un disco duro, y recibí el error "Windows no puede acceder a las fuentes de instalación" una vez que lo inicié.
Jeremy Salwen
44
llame syncdespués de la copia para asegurarse de que todos los archivos estén escritos
Nicolas Dusart
13
Puede lograr esto con dd, si su PC admite UEFI y, por extensión, discos GPT.
Abra una terminal, necesitará encontrar qué dispositivo es su pendrive. Si tiene la unidad montada, puede encontrar el nombre del dispositivo escribiendo "mount" 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 está almacenado su ISO en un shell raíz y escriba lo siguiente: (Reemplace windows7.iso con lo que se llame iso, y / dev / sdb con la identificación del dispositivo de su dispositivo USB).
dd if=windows7.iso of=/dev/sdb
Si su placa base admite el arranque desde un pendrive, debería poder arrancarla. Esto hará que el instalador en el pendrive no el sistema operativo en sí.
¿Su placa base admite el arranque desde USB? Ese será el factor decisivo final de si este enfoque funcionará o no.
TrueDuality
11
Tampoco funciona para mí y mi máquina admite el arranque USB bien. Tal vez este enfoque pueda funcionar en máquinas que pueden iniciar el almacenamiento USB de estilo DVD, pero la mayoría de las BIOS asumen un diseño de estilo HDD en USB (lo que significa MBR de 512 bytes con código de inicio). Una cosa que vale la pena mencionar: las imágenes de CD / DVD de Fedora, a diferencia de W7, de hecho tienen ese MBR con código de arranque y tabla de particiones, lo que las hace adecuadas para el arranque HDD / USB también.
Tronic
99
Esto requiere que su placa base pueda iniciar USB-CDROM, no solo USB-HDD
TrueDuality
12
A esta solución le falta el paso de instalación de MBR y, por lo general, no funcionará a menos que ya esté mágicamente. La solución de @Gunthers está completa.
stolsvik
5
La sugerencia de PCambell es buena pero también querrás 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):
determine qué dispositivo / dev / es su unidad flash USB y desmóntelo
borre el MBR: dd if = / dev / zero of = / dev / device bs = 446 count = 1
ejecuta fdisk / dev / device
eliminar todas las particiones y crear 1 partición primaria, hacer que sea de arranque y luego guardar los cambios
ejecute 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ó
Respuestas:
OK, después de probar sin éxito todos los métodos mencionados aquí, finalmente lo puse a funcionar. Básicamente, el paso que faltaba era escribir un sector de arranque adecuado en la memoria USB, que se puede hacer desde Linux con
ms-sys
olilo -M
. Esto funciona con la versión comercial de Windows 7.Aquí está el resumen completo nuevamente:
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, por ejemplo, Grub está instalado allí!)
Verifique 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, configure el tipo en NTFS (7) y recuerde configurarlo como de arranque:# cfdisk /dev/sdb
ofdisk /dev/sdb
( tipo de partición 7 y bandera de arranque )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
sudo lilo -M /dev/sdb mbr
( información )sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Montar medios ISO y USB:
Copia sobre todos los archivos:
# cp -r /mnt/iso/* /mnt/usb/
... o utilice el explorador de archivos GUI estándar de su sistemaLlame
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 verificación de inicio, luego cierre.
...y tu estas listo.
Después de todo eso, es probable que desee hacer una copia de seguridad de sus medios USB para realizar más 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. Entonces, en cambio, propongo
Así, por ejemplo, con 8 M bytes adicionales:
Como siempre, verifique los nombres de los dispositivos con mucho cuidado al trabajar con ellos
dd
.El método de creación de un USB de arranque presentado anteriormente también funciona con el instalador Win10 iso. 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 informes dd: 8300156 + 0 registros en 8300156 + 0 registros 4249679872 bytes (4.2 GB, 4.0 GiB) copiados, 412.807 s, 10.3 MB / s
Invierta si / o la próxima vez que quiera poner el instalador de Windows 7 en USB.
fuente
sync
después de la copia para asegurarse de que todos los archivos estén escritosPuede lograr esto con dd, si su PC admite UEFI y, por extensión, discos GPT.
Abra una terminal, necesitará encontrar qué dispositivo es su pendrive. Si tiene la unidad montada, puede encontrar el nombre del dispositivo escribiendo "mount" y mirando su entrada. Algo como lo siguiente:
En este caso, la primera parte de / dev / sdb se monta en / media / USBDISK. Abra un shell raíz y desmonte la unidad.
Vaya al directorio donde está almacenado su ISO en un shell raíz y escriba lo siguiente: (Reemplace windows7.iso con lo que se llame iso, y / dev / sdb con la identificación del dispositivo de su dispositivo USB).
Si su placa base admite el arranque desde un pendrive, debería poder arrancarla. Esto hará que el instalador en el pendrive no el sistema operativo en sí.
fuente
La sugerencia de PCambell es buena pero también querrás 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):
fuente
En lugar de
se escribe como
root
,(AGREGUE 1 al final o sea cual sea su unidad USB).
fuente
dd
necesita escribir en dispositivos, no en particiones