🇺🇸 English Version | 🇪🇸 Versión en Español
- Hirens Boot — No USB Needed — Boot ISO Directly (No USB Required)
- Install Windows 10/11 Without USB | BootThatISO (No Flash Drive Needed!)
BootThatISO! é uma ferramenta inovadora para Windows que permite inicializar sistemas operacionais a partir de arquivos ISO sem precisar de um pendrive USB. Ideal para situações em que você não tem um dispositivo USB à mão, como durante viagens, equipamentos emprestados ou emergências. Automatiza a criação de partições EFI e de dados no disco interno, leitura direta de ISO e extração de arquivos, e configuração BCD, oferecendo uma interface gráfica intuitiva e suporte para execução desassistida.
Este utilitário é especialmente útil para:
- Instalações Rápidas: Inicialização direta do ISO para instalação do Windows, Linux ou ferramentas de recuperação sem preparar USB.
- Ambientes de Teste: Teste ISOs de sistemas operacionais ou utilitários sem modificar hardware externo.
- Recuperação de Sistema: Acesse ferramentas de reparo como HBCD_PE ou ambientes live sem depender de mídia externa.
- Automação: Integração em scripts para implantações em massa ou configurações automatizadas.
Desenvolvido por Andrey Rodríguez Araya.
- Cria ou reforma partições
ISOBOOT(dados) eISOEFI(EFI) no disco do sistema, com opções de formato FAT32, exFAT ou NTFS. - Suporta dois modos de inicialização: carregamento completo do ISO no disco ou modo RAMDisk (boot.wim na memória).
- Detecta ISOs do Windows e ajusta automaticamente a configuração BCD; ISOs não-Windows inicializam diretamente da partição EFI.
- Executa verificações opcionais de integridade (
chkdsk), gera logs detalhados e permite cancelamento ou recuperação de espaço. - Fornece modo desassistido para integrações de script via argumentos de linha de comando.
- Cache de hash do ISO (ISOBOOTHASH): Compara o MD5 do ISO, modo de inicialização selecionado e formato contra valores armazenados no arquivo
ISOBOOTHASHno destino. Se corresponderem, ignora a formatação e cópia de conteúdo para acelerar execuções repetidas.
- ✅ HBCD_PE_x64.iso (TOTALMENTE FUNCIONAL - Carrega todos os programas da RAM)
- ✅ Win11_25H2_Spanish_x64.iso (TOTALMENTE FUNCIONAL - Inicialização e Instalação)
- ✅ Windows10_22H2_X64.iso (TOTALMENTE FUNCIONAL - Inicialização e Instalação)
- ✅ HBCD_PE_x64.iso (volta para ISOBOOT_RAM)
- ✅ Win11_25H2_Spanish_x64.iso (volta para ISOBOOT_RAM)
- ✅ Windows10_22H2_X64.iso (volta para ISOBOOT_RAM)
- Windows 10 ou 11 64-bit com privilégios de administrador.
- Pelo menos 12 GB de espaço livre na unidade
C:para criar e formatar partições (a ferramenta tenta reduzir 12 GB). - PowerShell, DiskPart, bcdedit e ferramentas de linha de comando do Windows disponíveis.
- Para compilação: Visual Studio 2022 com CMake. Nenhum gerenciador de pacotes externo necessário; o SDK 7‑Zip está incluído em
third-party/.
# Configurar e compilar (VS 2022, x64)
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config ReleaseO executável final está localizado em build/Release/BootThatISO!.exe. Também está incluído compilar.bat com etapas equivalentes.
# Na raiz do repositório
./compilar.bat- Para pular a assinatura (útil em máquinas de desenvolvimento sem certificado):
$env:SIGN_CERT_SHA1 = "skip"
./compilar.bat- Para assinar, defina
SIGN_CERT_SHA1para o SHA1 thumbprint do seu certificado ou certifique-se de quesigntool.exepossa encontrar um certificado adequado em seu armazenamento.
O script compilar.bat formata automaticamente todo o código-fonte usando clang-format antes de compilar:
- Formata todos os arquivos
.cppe.hnos diretóriossrc/,include/etests/ - Usa o arquivo de configuração
.clang-formatdo projeto - Se
clang-formatnão for encontrado, um aviso é exibido, mas a compilação continua
Nota: O projeto agora usa o SDK 7‑Zip (incluído) para leitura/extração de ISO; vcpkg ou libarchive não são necessários.
- Binários Release são vinculados com o runtime MSVC estático (/MT) para um EXE autocontido (não requer VC++ Redistributable).
- O SDK 7‑Zip é compilado como uma biblioteca estática e vinculado como whole-archive para manter o registro de manipuladores.
- Manipuladores incluídos: UDF, ISO, contêiner Ext e MBR. O leitor prefere UDF e pode desembrulhar Ext para alcançar o fluxo UDF/ISO interno.
Os seguintes utilitários de console são construídos junto com o aplicativo para validar o comportamento:
# Listar manipuladores suportados e tentar abrir via UDF/ISO
build/Release/ListFormats.exe
# Listar conteúdo do ISO e extrair automaticamente todos *.wim/*.esd para %TEMP%\EasyISOBoot_iso_extract_test
build/Release/TestISOReader.exe "C:\Users\Andrey\Documentos\EasyISOBoot\isos\Win11_25H2_Spanish_x64.iso"
build/Release/TestISOReader.exe "C:\Users\Andrey\Documentos\EasyISOBoot\isos\Windows10_22H2_X64.iso"
build/Release/TestISOReader.exe "C:\Users\Andrey\Documentos\EasyISOBoot\isos\HBCD_PE_x64.iso"
# Detectar heurística de ISO do Windows
build/Release/TestISODetection.exe "C:\caminho\para\algum.iso"
# Demonstração de recuperação de espaço (usa as mesmas rotinas do aplicativo)
build/Release/TestRecoverSpace.exe
# Demo de substituição de INI
build/Release/test_ini_replacer.exeNotas:
- O teste preserva caminhos internos do ISO ao extrair (por exemplo, escreve em %TEMP%\EasyISOBoot_iso_extract_test\sources\boot.wim).
- ISOs do Windows podem usar
install.wimouinstall.esd; o teste descobre e extrai todos os arquivos.wime.esdque encontra. - ISOs híbridos do Windows expõem poucos itens através do manipulador ISO; abrir através do UDF produz a lista completa de arquivos (manipulado automaticamente).
Executar testes unitários com CTest:
cd build
ctest -C Release --output-on-failure- Ao copiar a imagem do Windows do ISO (
sources/install.wimousources/install.esd), o aplicativo agora verifica:- Correspondência de tamanho: compara o tamanho dentro do ISO com o tamanho do arquivo extraído no disco.
- Integridade da imagem: executa
DISM /Get-WimInfo /WimFile:"<dest>"e verifica índices válidos.
- Os resultados são gravados em
logs/iso_extract_log.loge mostrados na UI. Qualquer incompatibilidade ou falha do DISM é sinalizada para que você possa tentar novamente a extração.
- Execute
BootThatISO!.execomo administrador (o manifesto já solicita). - Selecione o arquivo ISO e escolha o formato do sistema de arquivos para
ISOBOOT. - Defina o modo de inicialização:
Instalação Completa: copia todo o conteúdo do ISO para o disco.Iniciar da Memória: copiaboot.wime dependências para inicializar da RAM.
- Decida se deseja executar
chkdsk(desmarcado pula a verificação para acelerar o processo). - Clique em Criar Partição Inicializável e monitore o progresso através da barra principal, barra detalhada e painel de log.
- Após a conclusão, uma confirmação de reinicialização aparecerá. Use o botão Recuperar Espaço se precisar remover as partições
ISOBOOT/ISOEFIe estenderC:. - O botão Serviços abre a página de suporte
https://agsoft.co.cr/servicios/.
Execute o binário com privilégios elevados e os seguintes argumentos:
BootThatISO!.exe ^
-unattended ^
-iso="C:\caminho\imagem.iso" ^
-mode=RAM|EXTRACT ^
-format=NTFS|FAT32|EXFAT ^
-chkdsk=TRUE|FALSE ^
-autoreboot=y|n ^
-lang=en_us|es_cr|pt_br-mode=RAMativa o modo Iniciar da Memória e copiaboot.wim/boot.sdi.-mode=EXTRACTcorresponde à Instalação Completa.-chkdsk=TRUEforça a verificação do disco (omitido por padrão).-langdefine o código de idioma correspondente aos arquivos emlang/.-autorebootestá disponível para automações futuras; atualmente apenas registra a preferência.
O processo registra eventos e sai sem mostrar a janela principal.
- Validação e Partições (
PartitionManager): verifica o espaço disponível, executachkdskopcional, reduzC:em ~10.5 GB, criaISOEFI(1024 MB FAT32) eISOBOOT(10 GB), ou reforma os existentes, e expõe métodos de recuperação. - Preparação de Conteúdo (
ISOCopyManager): lê o conteúdo do ISO usando o SDK 7‑Zip (manipulador ISO), classifica se é Windows, lista o conteúdo, copia arquivos para as unidades de destino e delega o gerenciamento EFI paraEFIManager. - Processamento de Inicialização (
BootWimProcessor): orquestra a extração e processamento de boot.wim, coordena com módulos especializados:WimMounter: gerencia operações DISM para montar/desmontar arquivos WIMDriverIntegrator: integra drivers do sistema e personalizados na imagem WIMPecmdConfigurator: configura ambientes Hiren's BootCD PEStartnetConfigurator: configura ambientes WinPE padrãoIniFileProcessor: processa arquivos INI com substituição de letra de unidadeProgramsIntegrator: integra programas adicionais no ambiente de inicialização
- Cópia e Progresso (
FileCopyManager/EventManager): notifica o progresso granular, permite cancelamento e atualiza logs. - Configuração BCD (
BCDManager+ estratégias): cria entradas WinPE (RAMDisk) ou instalação completa, ajusta{ramdiskoptions}e registra comandos executados. - UI Win32 (
MainWindow): constrói controles manualmente, aplica estilo, manipula comandos e expõe opções de recuperação.
O projeto segue uma arquitetura modular limpa com clara separação de preocupações:
- Padrão Facade:
BootWimProcessorfornece uma interface simples para operações complexas de processamento de inicialização - Padrão Strategy: A integração de drivers usa categorias (Storage, USB, Network) para configuração flexível
- Padrão Observer:
EventManagernotifica múltiplos observadores (UI, Logger) de atualizações de progresso - Chain of Responsibility: A integração de programas tenta múltiplas estratégias de fallback
- Responsabilidade Única: Cada classe tem um propósito claro (montar WIMs, integrar drivers, etc.)
Para documentação detalhada da arquitetura, consulte ARCHITECTURE.md.
Todas as operações geram arquivos em logs/ (criados ao lado do executável). Entre os mais relevantes:
general_log.log: linha do tempo geral de eventos e mensagens da UI.diskpart_log.log,reformat_log.log,recover_script_log.txt: etapas de particionamento e reformatação.iso_extract_log.log,iso_content.log: detalhes do conteúdo extraído do ISO.bcd_config_log.log: comandos e resultados de configuração BCD.copy_error_log.log,iso_file_copy_log.log: cópia de arquivos e erros.
Revise esses logs ao diagnosticar falhas ou compartilhar relatórios.
- A operação modifica o disco do sistema; faça backup antes de executar a ferramenta.
- Durante o processo, evite fechar o aplicativo pelo Gerenciador de Tarefas; use a opção de cancelar integrada.
- Use o botão Recuperar Espaço para remover as partições
ISOBOOT/ISOEFIe restaurar a unidadeC:se decidir reverter a configuração.
- Opera no Disco 0 e reduz o volume C: em ~10.5 GB; outros layouts de disco não são suportados atualmente.
- Requer privilégios de administrador e disponibilidade do Windows PowerShell.
- Arquivos de idioma em
lang/são necessários; o aplicativo mostra um erro se nenhum for encontrado.
Desenvolvido por Andrey Rodríguez Araya em 2025.
Este projeto está sob a Licença GPL 3.0. Consulte o arquivo LICENSE para mais detalhes.
- SDK 7‑Zip: Partes deste produto incluem código do SDK 7‑Zip de Igor Pavlov.
- Resumo de licenciamento (por
third-party/DOC/License.txt):- A maioria dos arquivos está licenciada sob GNU LGPL (v2.1 ou posterior).
- Alguns arquivos são de domínio público onde explicitamente declarado nos cabeçalhos.
CPP/7zip/Compress/LzfseDecoder.cppestá sob a licença BSD 3‑Clause.CPP/7zip/Compress/Rar*estão sob GNU LGPL com a "restrição de licença unRAR".
- Incluímos um subconjunto mínimo (manipulador ISO e utilitários comuns). Nenhum código RAR é usado por este projeto.
- Textos completos: consulte
third-party/DOC/License.txt,third-party/DOC/lzma.txtethird-party/DOC/unRarLicense.txt.
- Resumo de licenciamento (por



