Cree una unidad USB de arranque de Windows 10 (UEFI) desde Linux

24

¿Cómo puedo crear una unidad USB de arranque de Windows 10 desde Linux?

Tenga en cuenta:

  • WinUSB no funciona con Windows 10.
  • UNetbootin tampoco funciona.
  • dd El método no funcionó tan bien.

Además de esto, intenté crear una tabla de partición GPT y una partición de tipo ef00 y formateada como fat32, y luego copié todo el contenido ISO. Arranca bien, pero cuando voy a comenzar la instalación muestra el mensaje de diálogo de medios.

Actualizar

Otro intento:

  1. Creó un GPT
  2. Creó un FAT32 al final de la unidad de 50 MB
  3. NTFS creado en el espacio restante
  4. Poner UEFI: NTFS en FAT32
  5. Contenido ISO copiado a NTFS

La instalación comienza bien, pero al inicio del progreso muestra el error 0xc0000005 (si no recuerdo mal).

Victor Aurélio
fuente
Creo que debería estar formateado NTFS ... (¿eres el tipo que preguntó esto en reddit también por cierto?)
Alex
@Alex, no, no fui yo ... ¡y no, UEFI solo puede arrancar desde FAT32!
Victor Aurélio
¿Arreglaste la tienda BCD?
fpmurphy
@ fpmurphy1 no, ¿cómo hacer eso?
Victor Aurélio
1
¿Qué significa "Poner UEFI: NTFS en FAT32"?
Philipp Ludwig

Respuestas:

7

Lo hiciste bien. Haga una tabla gpt con fat32 y copie todos los datos de iso en ella. Pero también debe establecer el indicador "msftdata" (no "boot") en esta partición con, por ejemplo, parted.

Feretj
fuente
1
Para aquellos que usan gdisk: en lugar de crear un ef00crear una 0700partición.
Victor Aurélio
establecer bandera "msftdata" (no "arranque"), gracias @Feretj, me salvas la vida
gpanda
No puede poner todos los datos en una unidad FAT32 a partir de junio de 2019. La última actualización contiene una windows.wimque es mayor que 4.1 GiB.
Ben
8

Guía para preparar Windows 10 Octubre de 2018 Lanzamiento de la unidad USB de arranque UEFI en cualquier distribución de Linux.

Tenga en cuenta que la versión de Windows 10 de octubre de 2018 tiene un archivo de instalación sources/install.wimmayor que el FAT32tamaño máximo de archivo, por lo que formatearemos la unidad USB NTFS. El instalador de Windows tampoco puede funcionar con una partición EFI (código ef00), por lo que utilizaremos el Microsoft basic datatipo de partición (código 0700).

Pasos para crear una unidad USB con nombre /dev/sdcReemplace todos los comandos con SU nombre de dispositivo! ):

  1. Inserte la unidad USB en la computadora y asegúrese de que esté desmontada. A algunas distribuciones les gusta montar automáticamente unidades USB, así que asegúrese de desmontarlas. Las particiones montadas se pueden encontrar con mount -l | grep '/dev/sdc', luego desmontar con sudo umount /dev/sdcX(X es el número de partición).
  2. Abra el dispositivo de bloqueo USB utilizando gdisk /dev/sdc, configúrelo como GPTy cree una Microsoft basic datapartición (código 0700), luego escriba los cambios y salga (¡¡¡Los siguientes pasos destruirán la tabla de particiones en su unidad USB !!! ).
sudo gdisk /dev/sdc
o
> This option deletes all partitions and creates a new protective MBR.
> Proceed? (Y/N): y
n
> Partition number ... > hit Enter
> First sector ... : > hit Enter
> Last sector ... : > hit Enter
> Current type is 'Linux filesystem'
> Hex code or GUID (L to show codes, Enter = 8300): 0700
p
> Should print something like:
> Disk /dev/sdc: 15646720 sectors, 7.5 GiB
> Model: DataTraveler 160
> Sector size (logical/physical): 512/512 bytes
> Disk identifier (GUID): ...
> Partition table holds up to 128 entries
> Main partition table begins at sector 2 and ends at sector 33
> First usable sector is 34, last usable sector is 15646686
> Partitions will be aligned on 2048-sector boundaries
> Total free space is 2014 sectors (1007.0 KiB)
> Number  Start (sector)    End (sector)  Size       Code  Name
>    1            2048        15646686   7.5 GiB     0700  Microsoft basic data
w
> Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
> Do you want to proceed? (Y/N): y
q
  1. Formatee la nueva partición como NTFS:
sudo mkfs.ntfs /dev/sdc1
  1. Monte una nueva partición USB en el directorio temporal de su hogar:
mkdir ~/tmp-win10-usb-drive
sudo mount /dev/sdc1 ~/tmp-win10-usb-drive
  1. Descargue el ISO de instalación de Windows, cree un nuevo directorio temporal en su hogar y móntelo allí:
mkdir ~/tmp-win10-iso-mnt
sudo mount Win10_1809Oct_English_x64.iso ~/tmp-win10-iso-mnt
  1. Copie todos los archivos de la unidad ISO montada en la unidad USB (puede usar rsyncpara ver el progreso):
sudo cp -rT ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. Desmonta la unidad ISO y Windows de Windows y elimina los directorios temporales:
sudo umount ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
rmdir ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. Inserte la unidad USB en la computadora nueva y arranque desde ella.
Lirt
fuente
2
Algunos firmwares no comprueban los archivos de arranque en una partición NTFS, alguien me corrige si me equivoco.
Victor Aurélio
Puede comprimir install.wim para que sea más pequeño que 4GB usando "wimtools" y un nivel de compresión "sólido". De esta manera, simplemente puede usar FAT32, consulte tqdev.com/2019-cannot-copy-windows-10-install-wim
mevdschee
Puede acelerar significativamente el formato del palo cuando omite llenarlo con ceros primero: sudo mkfs.ntfs -Q / dev / sdc1
Robert
3

He usado woeusb en Ubuntu de la siguiente manera ( Advertencia: ¡esto sobrescribirá toda su tabla de particiones! ):

sudo woeusb --tgt-fs NTFS --device Win10_1809Oct_Hungarian_x64.iso /dev/sdc

Si encuentra este mensaje de error:

La partición todavía se detecta después de borrar todas las firmas, esto indica que la unidad podría estar bloqueada en modo de solo lectura debido al final de la vida útil.

haga lo siguiente: sudo fdisk /dev/sdcy elija dy luego finalmente w.

(Fuente: https://github.com/slacka/WoeUSB/issues/219 .) Después de esto, intente nuevamente ejecutar el comando anterior.

De todos modos, con este método, woeusb creó una tabla de particiones gpt con dos particiones:

partition      file system    label          size          flags
----------------------------------------------------------------
/dev/sdc1      nfts           Windows USB     57.00 GiB
/dev/sdc2      fat16          UEFI_NTFS      512.00 KiB    lba
unallocated                                    4.00 MiB

Finalmente, todo lo que tuve que hacer es poner la bandera de arranque con gparted para la partición / dev / sdc2 (junto con lba).

De esta manera, podría arrancar con éxito en modo UEFI e instalar Windows 10 desde mi memoria USB.

Varga
fuente
Comentando solo para recordarme votar si funciona.
Ese tipo brasileño
2

Intenta usar Rufus con vino.

Saludos.

aalf1987
fuente
2
Esta no es una solución "linux".
Victor Aurélio
1
Pero funciona bien.
aalf1987
Rufus es de código abierto. Rápido, eficiente, funciona en Linux. ¡Gracias!
akhmed
0

La partición EFI debe ser Fat32. Está en la especificación EFI. Su sistema nunca se iniciará si coloca los archivos del instalador en una partición NTFS.

Ni siquiera necesita ningún software especial. GPT / FAT32 para el instalador, extraiga todos los archivos de la iso (supongo que tiene la última iso usando la herramienta de creación de medios, ya que incluye la actualización de noviembre), y configure el "indicador de arranque" usando gparted. Luego se iniciará en el instalador en modo EFI, suponiendo que seleccione EFI USB de las opciones de inicio cuando se inicie su computadora.

Pingers

Pingers
fuente
El problema es que tan pronto como el instalador comienza el proceso, arroja un error, descrito en la pregunta.
Victor Aurélio
has intentado con una iso diferente? Sospecharía mi fuente. Tome el último como se describe en mi respuesta. Si arranca con eso en su usb, y todavía recibe un error, comenzaría a cuestionar el hardware ...
Pingers
Sí, yo también lo he intentado ...
Victor Aurélio