Como criar uma imagem inicializável do Windows 10 no Debian?

2

Pseudocódigo, mas originalmente desenvolvido para o arquivo iso do Windows 7, mas aplicado ao Windows 8 no thread Como criar uma imagem ISO inicializável do Windows 8 no Linux? mas não funciona com o 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 .

Resultado malsucedido quando executado na imagem do 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 

Alguns dos campos a seguir foram alterados para o arquivo iso usado em dd

  • bs=2048
  • count=8
  • skip=734

Como você pode estudar quais valores de campo você pode usar para a iso do Windows 10?

OS: Debian 8.5 64 bit
Hardware: Asus Zenbook UX303UA
Kernel Linux: 4.6 de backports
Tópicos relacionados: Como criar imagem iso inicializável do Windows 7 no Linux? , Como personalizar um ISO de instalação do Windows 7
Motivação: Eu preciso do Windows 10 para usar o scanner duplex Canon P-150, mas quando eu iniciei meu Windows, recebi o erro <0xC0000428 porque a atualização do Windows quebrou as coisas novamente e eu uso o Windows tão raramente; e eu não tenho nenhum Windows de sobra para fazer mídia inicializável

    
por Léo Léopold Hertz 준영 26.09.2016 / 20:04

4 respostas

0

A única solução confiável que encontrei para o caso. Crie o Windows inicializável no Windows.

    
por 30.12.2016 / 14:41
2

Eu tentei a solução Win7 descrita pela Microsoft em uma máquina Windows:

https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool

e obteve o erro 0x80080005, então foi para o Debian Stretch 9 para tentar construir o USB inicializável do Windows 10 usando um ISO da faculdade / escola e5.onthehub.com.

dd absolutamente não funciona para o Windows 10. Isso só funciona para sistemas operacionais linux. Use:

dd if=my-linux-os.iso of=/dev/sdX bs=4M

Nota: nunca tente gravar em sdX1 onde X = {a, b, c ou d} e sempre verifique se você não está sobrescrevendo seu disco rígido, que normalmente é sda ou sdb.

Para o Windows 10, você pode usar o WoeUSB, mas não o apt / yum repos. Estes são obsoletos, pelo menos para o Debian 9. Então use:

git clone https://github.com/slacka/WoeUSB.git

Siga as instruções no final de:

https://github.com/slacka/WoeUSB

Você deve ter todos os pré-requisitos, como gparted e assim por diante, instalados primeiro.

Eu também encontrei no final do processo que devo correr com o sudo. Então você acabou de usar:

sudo woeusb --device local/of/my/windows-10-image.iso /dev/sdX

e ei pronto, ele simplesmente funciona de maneira brilhante. No meu caso, meu disco rígido era sda e meu drive USB era sdb, então eu escrevi o ISO para / dev / sdb (mais uma vez, cuidado, você não quer sobrescrever seu sistema operacional por acidente). Eu, então, instalei-o em uma placa-mãe MSI classe militar com 2Tb Harddisk anexado sem opções de inicialização rápida dentro do BIOS e ele simplesmente funciona. Eu liguei absolutamente todas as opções de UEFI primeiro para colocá-lo no estado certo.

Eu também tive problemas no momento da instalação, com o sistema pendurado para sempre ao usar uma conta de e-mail do Gmail para login e quando o cabo da Internet estava conectado na segunda reinicialização da máquina (durante o processo de instalação). Se você tiver esse problema, desconecte a internet, reinicie a máquina, deixe a conta genérica ser construída, faça o login, reinicie com o cabo da Internet

    
por 09.08.2018 / 11:10
1

Isso funcionou para mim mesmo com boot legado / CSM (Ubuntu 16.04, Windows 10 versão 1511 32bit; você pode usar genisoimage em vez de mkisofs também, mkisofs é apenas um link 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/

(uma linha longa, em bash com barras invertidas no final para continuação da linha)

onde files/ é o subdiretório que contém o conteúdo extraído da ISO do Windows 10.

O ponto chave parece ser o etfsboot.com do subdiretório boot/ da ISO do Windows 10.

Eu posso inicializar o disco gravado com o legado / CSM sem problemas.

Eu só experimentei a versão 1511 do win10. Se você tentar outras versões, por favor deixe um comentário.

    
por 08.12.2017 / 12:55
1

Se você for inicializar um computador baseado em UEFI, apenas monte o ISO do Windows (cuide para que ele seja um ISO formatado em UDF) e copie todos os arquivos para a unidade USB. Enquanto a unidade estiver no formato FAT32, um computador UEFI a reconhecerá e oferecerá a opção de inicializar a partir dela.

Por outro lado, para uma máquina baseada em BIOS, a melhor opção é configurar manualmente o syslinux para carregar em cadeia a inicialização do Windows. Eu tentei isso no Windows 8, mas ainda não em 10. /dev/sdf é o seu drive USB.

  • Formate o USB para FAT32
  • Verifique se o USB tem apenas uma partição e se está ativo (o GParted ajudará nisso)
  • Copie todos os arquivos da ISO para a unidade USB
  • Instale o syslinux no seu sistema Linux
  • Execute syslinux -i /dev/sdf1 (a primeira partição na unidade USB, você pode verificar em lsblk )
  • Executar dd if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdf bs=4M
  • Monte a unidade USB e crie o diretório boot/syslinux
  • Copie todos os arquivos *.c32 de /usr/lib/syslinux/bios para o diretório boot/syslinux na USB
  • Crie um arquivo de texto syslinux.cfg em boot/syslinux , com o texto

    LABEL win10
    MENU LABEL Boot Windows 10 install
    COM32 /boot/syslinux/chain.c32
    APPEND label=win7fs ntldr=/bootmgr
    

Edit: Eu não tenho certeza onde o Debian coloca os arquivos syslinux; você pode encontrá-los com find / -name "mbr.bin" 2> /dev/null

    
por 27.09.2016 / 00:13