Pseudocódigo, mas originalmente desenvolvido para arquivo iso do Windows 7, mas aplicado para Windows 8 no threadComo 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 .
Saída sem sucesso quando executada 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 emdd
bs=2048
count=8
skip=734
Como você pode estudar quais valores de campo você pode usar para o Windows 10 iso?
SO: Debian 8.5 64 bits
Hardware: Asus Zenbook UX303UA
Kernel Linux: 4.6 de backports
Tópicos relacionados:Como criar uma imagem iso inicializável do Windows 7 no Linux?,Personalizando um ISO de instalação do Windows 7
Motivação: preciso do Windows 10 para usar o scanner duplex Canon P-150, mas quando iniciei o Windows, recebi um erro0xC0000428porque a atualização do Windows quebrou novamente as coisas lá e eu uso o Windows tão raramente; e não tenho mais Windows para criar mídia inicializável
Responder1
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 fui para o Debian Stretch 9 para tentar construir o USB inicializável do Windows 10 usando um ISO e5.onthehub.com college/school.
Usar dd
absolutamente não funciona no Windows 10. Isso só funciona para sistemas operacionais Linux. Usar:
dd if=my-linux-os.iso of=/dev/sdX bs=4M
Nota: Nunca tente gravar em /dev/sdX1
qualquer lugar X={a,b,c or d}
e sempre verifique se você não está sobrescrevendo seu disco rígido, o que normalmente é /dev/sda
ou /dev/sdb
!
Para Windows 10 você pode usar WoeUSB, mas não dos repositórios apt/yum. Estes são obsoletos, pelo menos para o Debian 9. Então, em vez disso, use:
git clone https://github.com/slacka/WoeUSB.git
Em seguida, 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.
Também descobri no final do processo que devo executar o woeusb com o sudo. Então você apenas usa:
sudo woeusb --device local/of/my/windows-10-image.iso /dev/sdX
e ei, pronto, funciona perfeitamente. No meu caso, meu disco rígido /dev/sda
e minha unidade USB estavam, /dev/sdb
então escrevi o ISO /dev/sdb
(mais uma vez, tenha cuidado, você não quer sobrescrever seu sistema operacional por acidente). Em seguida, instalei-o em uma placa-mãe MSI de classe militar com disco rígido de 2 TB conectado, sem opções de inicialização rápida dentro do BIOS e simplesmente funcionou. Ativei absolutamente todas as opções UEFI primeiro para colocá-las no estado correto.
Também tive problemas na hora da instalação, com o sistema travando para sempre ao usar uma conta de e-mail do Gmail para login e quando o cabo de internet era 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 criada, faça login, reinicie com o cabo de internet
Responder2
Isso funcionou para mim mesmo com inicialização legada/CSM (Ubuntu 16.04, Windows 10 versão 1511 32 bits; você também pode usar genisoimage em vez de mkisofs, 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, no bash com barras invertidas no final para continuação da linha)
onde files/
está o subdiretório que contém o conteúdo extraído do ISO do Windows 10.
O ponto chave parece ser etfsboot.com
o boot/
subdiretório do Windows 10 ISO.
Posso inicializar o disco gravado com legado/CSM sem problemas.
Eu só experimentei a versão 1511 do win10. Se você tentar com outras versões, deixe um comentário.
Responder3
Se você for inicializar um computador baseado em UEFI, basta montar o ISO do Windows (tome cuidado para que seja um ISO formatado em UDF) e copie todos os arquivos para a unidade USB. Contanto que a unidade esteja no formato FAT32, um computador UEFI irá reconhecê-la 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 no 10. /dev/sdf
é a sua unidade USB.
- Formate o USB para FAT32
- Certifique-se de que o USB tenha apenas uma partição e esteja com inicialização ativa (o GParted ajudará com isso)
- Copie todos os arquivos do ISO para a unidade USB
- Instale o syslinux em seu sistema Linux
- Executar
syslinux -i /dev/sdf1
(a primeira partição na unidade USB, você pode verificarlsblk
) - Correr
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
*.c32
os arquivos/usr/lib/syslinux/bios
para oboot/syslinux
diretório no USB Crie um
syslinux.cfg
arquivo de texto emboot/syslinux
, com o textoLABEL win10 MENU LABEL Boot Windows 10 install COM32 /boot/syslinux/chain.c32 APPEND label=win7fs ntldr=/bootmgr
Editar: não tenho certeza de onde o Debian coloca os arquivos syslinux; você pode encontrá-los comfind / -name "mbr.bin" 2> /dev/null
Responder4
A única solução confiável que encontrei para o caso. Crie Windows inicializável no Windows.