Pseudocódigo pero desarrollado originalmente para el archivo iso de Windows 7 pero aplicado para Windows 8 en el hilo¿Cómo crear una imagen iso de arranque de Windows 8 en Linux?pero no funciona con windows 10 iso
# https://rwmj.wordpress.com/2010/11/04/customizing-a-windows-7-install-iso/
# https://unix.stackexchange.com/a/312477/16920
$ dd if=../en_windows_10_x64_dvd.iso \
of=boot.img bs=2048 count=8 skip=734
$ mkisofs -o ../new-win.iso -b boot.img -no-emul-boot -c BOOT.CAT \
-iso-level 2 -udf \
-J -l -D -N -joliet-long -relaxed-filenames .
Salida fallida cuando se ejecuta en la imagen de Windows 10
dd if=/home/masi/Downloads/en_windows_10_multiple_editions_version_1511_x64_dvd.iso of=/home/masi/Downloads/boot.img bs=2048 count=8 skip=734
8+0 records in
8+0 records out
16384 bytes (16 kB) copied, 0.000392973 s, 41.7 MB/s
Algunos de los siguientes campos han cambiado para el archivo iso utilizado endd
bs=2048
count=8
skip=734
¿Cómo puedes estudiar qué valores de campo puedes usar para la ISO de Windows 10?
SO: Debian 8.5 de 64 bits
Hardware: Asus Zenbook UX303UA
Kernel de Linux: 4.6 de backports
Temas relacionados:¿Cómo crear una imagen iso de arranque de Windows 7 en Linux?,Personalizar una ISO de instalación de Windows 7
Motivación: Necesito Windows 10 para usar el escáner dúplex Canon P-150, pero cuando inicié Windows, apareció un error0xC0000428porque la actualización de Windows volvió a estropear cosas allí y, por lo demás, uso Windows muy raramente; y no me queda Windows de sobra para crear medios de arranque
Respuesta1
Probé la solución Win7 descrita por Microsoft en una máquina con Windows:
https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool
y obtuvo el
Error 0x80080005
Así que fui a Debian Stretch 9 para intentar construir el USB de arranque de Windows 10 usando una ISO universitaria/escuela de e5.onthehub.com.
El uso dd
no funciona en absoluto para Windows 10. Esto solo funciona para sistemas operativos Linux. Usar:
dd if=my-linux-os.iso of=/dev/sdX bs=4M
Nota: Nunca intente escribir en /dev/sdX1
dónde X={a,b,c or d}
y siempre verifique que no esté sobrescribiendo su disco duro, que generalmente es /dev/sda
o /dev/sdb
!
Para Windows 10 puedes usar WoeUSB pero no desde los repositorios apt/yum. Estos están obsoletos, al menos para Debian 9. Así que en su lugar utilice:
git clone https://github.com/slacka/WoeUSB.git
Luego siga las instrucciones al final de:
https://github.com/slacka/WoeUSB
Primero debe tener instalados todos los requisitos previos, como gparted, etc.
También descubrí al final del proceso que debo ejecutar woeusb con sudo. Entonces solo usas:
sudo woeusb --device local/of/my/windows-10-image.iso /dev/sdX
Y listo, funciona de maravilla. En mi caso, mi disco duro /dev/sda
y mi unidad USB estaban, /dev/sdb
así que escribí el ISO /dev/sdb
(nuevamente, tenga cuidado, no querrá sobrescribir su sistema operativo por accidente). Luego lo instalé en una placa base MSI de clase militar con un disco duro de 2 TB conectado sin opciones de arranque rápido dentro del BIOS y simplemente funciona. Primero activé absolutamente todas las opciones UEFI para ponerlas en el estado correcto.
También tuve problemas en el momento de la instalación, con el sistema colgándose para siempre cuando usaba una cuenta de correo electrónico de Gmail para iniciar sesión y cuando el cable de Internet estaba conectado en el segundo reinicio de la máquina (durante el proceso de instalación). Si tiene este problema, desconecte Internet, reinicie la máquina, permita que se cree una cuenta genérica, inicie sesión y reinicie con el cable de Internet.
Respuesta2
Esto funcionó para mí incluso con arranque heredado/CSM (Ubuntu 16.04, Windows 10 versión 1511 de 32 bits; también puedes usar genisoimage en lugar de mkisofs, mkisofs es solo un enlace simbólico):
mkisofs \
-no-emul-boot \
-b boot/etfsboot.com \
-boot-load-seg 0x07C0 \
-boot-load-size 8 \
-iso-level 2 \
-udf \
-joliet \
-D \
-N \
-relaxed-filenames \
-o win10-1511-32bit-mod1.iso \
files/
(una línea larga, en bash con barras invertidas al final para continuar la línea)
¿Dónde files/
está el subdirectorio que contiene el contenido extraído de la ISO de Windows 10?
El punto clave parece ser el etfsboot.com
subdirectorio boot/
de la ISO de Windows 10.
Puedo arrancar el disco grabado con Legacy/CSM sin ningún problema.
Sólo probé con la versión 1511 de win10. Si pruebas con otras versiones deja un comentario.
Respuesta3
Si va a iniciar una computadora basada en UEFI, simplemente monte la ISO de Windows (tenga cuidado de que sea una ISO con formato UDF) y copie todos los archivos a la unidad USB. Siempre que la unidad esté en formato FAT32, una computadora UEFI la reconocerá y ofrecerá la opción de arrancar desde ella.
Por otro lado, para una máquina basada en BIOS, la mejor opción es configurar manualmente syslinux para cargar en cadena el arranque de Windows. Probé esto en Windows 8, pero todavía no en 10. /dev/sdf
Es tu unidad USB.
- Formatee el USB a FAT32
- Asegúrese de que el USB tenga solo una partición y que esté activo en el arranque (GParted le ayudará con esto)
- Copie todos los archivos de la ISO a la unidad USB
- Instale syslinux en su sistema Linux
- Ejecutar
syslinux -i /dev/sdf1
(la primera partición en la unidad USB, puede verificarlalsblk
) - Correr
dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdf bs=4M
- Monte la unidad USB y cree el directorio.
boot/syslinux
- Copie todos
*.c32
los archivos/usr/lib/syslinux/bios
alboot/syslinux
directorio del USB Crea un
syslinux.cfg
archivo de texto enboot/syslinux
, con el textoLABEL win10 MENU LABEL Boot Windows 10 install COM32 /boot/syslinux/chain.c32 APPEND label=win7fs ntldr=/bootmgr
Editar: no estoy seguro de dónde coloca Debian los archivos syslinux; puedes encontrarlos confind / -name "mbr.bin" 2> /dev/null
Respuesta4
La única solución confiable que encontré para el caso. Cree Windows de arranque en Windows.