É possível inicializar a partir de um ISO pela rede e como?

29

Eu tenho uma máquina com um ISO inicializável armazenado nela e tenho outra máquina em branco, na qual desejo instalar o ISO. Ambos estão na mesma LAN (conectados ao mesmo switch). Como eu faria para inicializar a máquina em branco do ISO armazenado no meu computador principal?

    
por George Kontridze 01.07.2011 / 00:05

4 respostas

11

Acho que você quer um meio de fazer o pxe a partir de imagens ISO. Eu procurei um pouco e encontrei este artigo . Eu acredito que o método deve funcionar para qualquer imagem ISO inicializável que você possa ter. Este é outro artigo similar .

Por fim, parece que este artigo discute como para fazer isso em um servidor PXE (Pre-boot eXecution Environment) executado no Windows.

    
por 01.07.2011 / 00:16
3

O Ultimate Deployment Appliance oferece o que você precisa. Sua homepage descreve sua funcionalidade; é reformatado aqui por conveniência:

O que é o appliance de implantação definitivo?

  • Instalações do sistema operacional autônomo (Windows, Linux, ESX, Solaris) pela configuração da rede em minutos!
  • Publique suas ferramentas favoritas de recuperação / manutenção do sistema pela rede!
  • Inicialização PXE, Serviços de instalação remota, Kickstart, Jumpstart, Autoyast em uma caixa!

Quando você usaria isso?

  • Quando você está tentando instalar um sistema que não possui uma unidade de CDROM, mas possui uma placa de rede (atualmente, esses notebooks são ultrafinos e não possuem uma unidade óptica)
  • Quando você precisa instalar um sistema operacional em diferentes peças de hardware.
  • Quando você precisa instalar sistemas e deseja que as coisas sejam automatizadas e reproduzíveis.
  • Quando você vai para a casa de seus amigos para consertar seu computador, você quer estar preparado. Em vez de remover todo esse material indesejado, você pode começar do zero. Traga seu próprio sistema (laptop?), Conecte-o ao sistema desordenado com um cabo cruzado e comece a reinstalar o sistema totalmente sem supervisão. Vá para a geladeira ...
  • Quando você precisa fazer manutenção em seu sistema sem precisar carregar uma pilha de CDs ao vivo.
  • Quando você quiser fazer isso sem pagar muito dinheiro por produtos comerciais.

Como isso funciona?

  • Instalação autônoma O dispositivo monta um arquivo iso com uma distribuição de seu sistema operacional favorito e importa os arquivos de inicialização necessários (de rede). Ele cria um arquivo de configuração padrão para sua instalação automatizada e inicia a hospedagem dos arquivos de distribuição do sistema operacional para inicialização da rede.
  • Publicação de ferramentas do sistema Os Live CD's e outras ferramentas são importados inteiramente para o appliance Ultimate Deployment e são publicados para serem inicializados pela rede através do PXE.

A UDA tem um canal do YouTube , onde você pode encontrar um vídeo deles instalando o Windows 7 como um exemplo da configuração dentro do UDA para o Windows completamente instalado.

    
por 13.10.2013 / 04:45
3

Sim, é muito possível. O tipo de sistema que você pode inicializar dependerá de como esse sistema funciona.

Normalmente, você descobrirá que muito sistemas simples (como DOS ou Win98) e sistemas complexos (como distros modernos do Linux) são facilmente inicializáveis pela rede.

A maneira de conseguir isso nos dois tipos de sistemas é muito diferente.

Vamos ver as duas formas com mais detalhes. Eu estou supondo que você já tem um PXE inicialização servidor configuração ; Se você não fizer, vá em frente e faça isso, é bem fácil.

Eu também estou assumindo uma configuração de dnsmasq em um servidor Linux com o tftproot em /var/lib/tftpboot , mas você deve ser capaz de adaptar as instruções para qualquer outra configuração.

Para sistemas simples

Para sistemas simples, você simplesmente carrega a imagem (ISO) na RAM e induz o sistema a acreditar que é uma unidade real. Isso é feito com uma pequena ajuda do BIOS e de um módulo de software chamado memdisk .

O sistema que você deseja carregar na rede é freedos:

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT freedos

LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso

Isso é muito bonito. As primeiras linhas são o boilerplate do menu; os bits importantes são as últimas quatro linhas: carrega o memdisk com o ISO fornecido.

Para sistemas complexos

Sistemas modernos com recursos sofisticados, como um bom gerenciamento de memória e a detecção adequada de hardware, praticamente ignoram qualquer coisa que a BIOS tenha a dizer.

Isto torna a abordagem memdisk usada acima praticamente inútil, porque se você carregasse o ISO dessa forma, uma vez que o kernel fosse lido do ISO e carregado na memória (isso é feito pelo bootloader no ISO; prestar atenção ao BIOS), os dados ISO teriam desaparecido.

O que você faz então? Bem, você não carrega o ISO da rede, mas diz ao sistema que ele pode acessar os arquivos necessários a partir daí.

Para sistemas Linux, extraia o conteúdo ISO em algum lugar do tftproot e carregue o kernel e o initrd diretamente, e então deixe que eles encontrem o sistema de arquivos raiz e monte-o.

Veja um exemplo usando o incrível CD de resgate do sistema . Eu realmente extraí todo o ISO na raiz do servidor TFTP, porque ele se encaixa bem na minha estrutura de diretório, então os kernels estão em /syslinux .

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT sysrescd64

LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz

O bit mais importante aqui é a linha APPEND . Veja o netboot= no final? É assim que o sistema operacional sabe onde está seu sistema de arquivos raiz. A sintaxe é <protocol>://<server>:<path> .

Eu convenientemente defini um nome DNS pxe para o meu servidor. Se você não tem isso, você usaria um endereço IP para o servidor.

Além disso, o sysresccd é um dos mais fáceis porque ele usa uma imagem do squashfs para seu sistema de arquivos raiz, que pode ser facilmente baixado e carregado na RAM com qualquer método. Aqui eu uso nbd; você também pode usar tftp, nfs e http .

Para outras distros, como o Ubuntu, acho que você só pode use nfs.

Para sistemas Windows, é um pouco mais complexo para ser . O esboço é:

  • Instale o Windows 7 em uma pasta compartilhada no servidor
  • Tenha um ambiente completo do Windows PE no servidor na sua raiz TFTP
  • Solicite que a máquina cliente carregue o WinPE pela rede e pressione F12 para obter um prompt de comando
  • Mapear a pasta compartilhada com o Windows 7 instalado em uma letra de unidade
  • Iniciar a instalação a partir da pasta mapeada

Eu nunca tentei isso e parece que não funciona para algumas pessoas. Para as versões do NT mais antigas que o Vista, acho que nem é possível. Para Windows pré-NT (95, 98, ME, etc) você pode usar a abordagem de memdisk, mas inicializar estes é ruim para sua saúde :-p

    
por 03.10.2014 / 17:35
1

Eu sugiro várias ferramentas para este trabalho se você estiver interessado em estender esta pesquisa:

por 16.10.2014 / 20:29