Casa > C > Como Executar Um Arquivo Setup.exe Em Um Computador Sem Sistema Operacional

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.

main-qimg-6905a450479094ff5ecc1546a1af50eb.webp

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

  1. 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"
p>Crucial para fazer tudo isso, é o sistema operacional.

Hence people's suggestions about somehow loading an OS in (eg by USB booting, VM or some other method - eg Windows Kiosk mode).

De Heisser

Existe algum VPN gratuito fiável? :: O que devo verificar antes de comprar um relógio Apple Watch Series 3 usado?