Como executar um arquivo setup.exe em um computador sem sistema operacional
Outras pessoas têm implicado a resposta correta, que é que o Windows é necessário. Então I'vou focar no porque precisamos dele de alguma forma.
Sem Windows (ou um Windows VM) o formato EXE não'não significa nada. O motivo é o arquivo EXE, também conhecido como "Portable Executable Format", tem um cabeçalho como parte de sua estrutura. Este cabeçalho tem parcialmente a ver com o processo de carregamento, que por sua vez ajuda o SO a determinar o que carregar com o EXE.
Como você pode ver na imagem, o formato PE tem várias seções. Então it's não é tão simples quanto carregar o código da máquina em um bloco de memória e depois it's feito (mas isso's basicamente o fim do início do processo). Crucial para a execução do PE são os conceitos de ligação [dinâmica] e carregamento, que em sistemas multithreaded, é feito em tempo de execução (ou melhor, inicialização do tempo de execução).
Este inclui funcionalidades do MSIL, que mostra a aplicação dotNET, que caça a DLL do MSCore e executa o ponto de entrada para isso primeiro, antes de executar o código embutido no próprio EXE (daí carregar o dotNET para executar ele mesmo).
Então, nós'temos uma seqüência de eventos que têm que acontecer e, portanto, uma série de pré-requisitos, não menos importante no próprio sistema operacional. I'assumirá um programa aplicativo ou aplicativo utilitário, e não um driver aqui. Executando uma aplicação de exemplo chamada Something.EXE
- Windows atribui um espaço de processo em modo usuário. Este é um espaço privado alocado para que nenhum outro processo possa acessar seu espaço de endereço (ou que's a teoria)li>li>Operating system (Windows) carrega o arquivo PE nesse espaçoli>li>Operating system lê o PE (o formato acima)li>li>Windows localiza qualquer DLL's referenciados, incluindo MS Core>li>Load MS Core no espaço do processo>li>Executar o ponto de entrada do MS Core (antes do JIT compilar código se necessário)li>li>Substituir as referências no EXE pelo endereço das funções DLL carregadas, assim os ramos agora funcionam - Este é o processo de carregamento e ligação>li>Executar o ponto de entrada da função "principal"
Hence people's suggestions about somehow loading an OS in (eg by USB booting, VM or some other method - eg Windows Kiosk mode).
Artigos semelhantes
- Existe algum sistema operacional portátil que possa executar arquivos EXE?
- Android (sistema operacional): Como eu posso extrair contatos como arquivo CSV do arquivo .backup criado pelo backup do meu telefone andróide?
- Sempre que eu abro qualquer arquivo .exe no Windows 7 , um erro aparece dizendo 'Windows não consegue encontrar o D:\System volume information.exe?
- Como executar um jogo de arquivo .exe que foi criado em flash? Agora como o Flash está oficialmente descontinuado existe uma maneira de abri-lo