Primeira coisa a entender: PXE significa P reinicialização E x ecution E ambiente. Só isso deve esclarecer um pouco as coisas.
Vou me limitar aos sistemas usando esse material PXE. Pode haver outros métodos, mas apenas mencionarei o PXE.
Is a re-image task 'pushed' from a server to clients while they are turned on using client software built into the OS?
Não. O PXE é iniciado durante a inicialização - basicamente, o sistema pode carregar um sistema operacional da rede em vez dos discos.
How does pushing images work if the OS gets corrupted and the base OS that receives the imaging task does not boot? What about bare metal. Presumably some sort of DHCP to boot from a PXE Server is required. Does this mean that you manually have to change the boot order of the clients from the disk, to network boot to allow to pxe boot?
A partir de uma visualização PXE pura, o estado do sistema operacional instalado não é importante, pois não será usado durante o processo. No entanto, sua instalação pode falhar de qualquer forma, se os processos de instalação precisarem comandar o sistema operacional instalado para reiniciar e não reagir.
What exactly would you pxe boot into? Presumably some sort of pre-environment that then pulls a base image from a network share and installs that?
Exatamente.
What happens if you want to support pxe booting multiple images? For example a base windows image and a base linux image. Do you then manually have to go around each system and select the image to boot? this sounds difficult with large deployments. eg, is it possible to say MAC address X should be linux, address Y is windows?
Acho que isso dependeria do software de implantação, mas a maioria dos sistemas permite especificar exatamente qual sistema obtém qual imagem, geralmente baseada no endereço MAC da NIC. Alguns exibem menus se o sistema for desconhecido para permitir a escolha de um sistema operacional.