Estou tentando configurar um servidor Ubuntu com o pxelinux, para que eu possa inicializar o Windows PE usando o PXE. Na máquina do cliente, posso ver que o próprio pxelinux funciona, mas a próxima tela é esta:
Aquiestáoqueeufiz:
Etapa1:instaloutftpd-hpa
edhcp3
noservidor.Oservidoréumservidorubuntufrescox86máquinavirtual.IPestáticoé192.168.26.0
.OservidorSambaestáinstalado.
dhcpd.conf
contém
subnet192.168.26.0netmask255.255.255.0{range192.168.26.10192.168.26.40;filename"pxelinux.0";
next-server 192.168.26.0;
}
Eu verifiquei que o TFTP e o DHCP funcionam.
Passo 2: Baixou pxelinux.0
de o repositório do Ubuntu . Coloque-o no diretório tftpboot e crie pxelinux.cfg/default
com este conteúdo:
DEFAULT winpe
PROMPT 0
TIMEOUT 300
MENU TITLE PXE
LABEL winpe
MENU LABEL Windows PE
KERNEL Boot/pxeboot.0
Eu tentei usar Wdsnbp.0 (- > Wdsnbp.com), em vez de pxeboot.0 (- > pxeboot.com) não fez diferença.
Eu quero fazer um menu real com opções do ubuntu mais tarde.
Etapa 3: baixado e instalado o Kit de instalação automatizada do Windows para Windows 7 e instalado em um novo Windows 7 x64 vm.
Eu segui estas instruções no arquivo WAIK.chm
que vem com o download. Versão curta:
Copiando arquivos e outras coisas:
copype.cmd x86 c:\winpe_x86
Eu quero fornecer uma imagem do x86 para o winpe.
imagex /mountrw C:\winre_x86\winpe.wim 1 C:\winpe_x86\mount
net use y: \192.168.26.0\TFTPRoot
y:
md Boot
cd \temp\Windows\Boot\PXE
copy c:\winpe_x86\mount\Windows\Boot\PXE\*.* y:\Boot
copy c:\Program Files\WAIK\Tools\PETools\x86\boot\boot.sdi y:\Boot
Imagex /unmount C:\winpe_x86\mount
copy c:\winpe_x86\winpe.wim y:\Boot\boot.wim
Uso do BCDEdit:
Bcdedit -createstore c:\BCD
Bcdedit -store c:\BCD -create {ramdiskoptions} /d “Ramdisk options”
Bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdidevice boot
Bcdedit -store c:\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
Bcdedit -store c:\BCD -create /d “MyWinPE Boot Image” /application osloader
guid1 é o guia retornado pelo comando anterior.
Bcdedit -store c:\BCD -set {guid1} systemroot \Windows
Bcdedit -store c:\BCD -set {guid1} detecthal Yes
Bcdedit -store c:\BCD -set {guid1} winpe Yes
Bcdedit -store c:\BCD -set {guid1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
Bcdedit -store c:\BCD -set {guid1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
Bcdedit -store c:\BCD -create {bootmgr} /d “Windows BootManager” /inherit {dbgsettings}
Bcdedit -store c:\BCD -set {bootmgr} timeout 30
Bcdedit -store c:\BCD -displayorder {guid1}
copy c:\BCD \server\TFTPRoot\Boot
O BCDEdit relatou cada operação como bem-sucedida. O arquivo BCD
é capitalizado.
Etapa 4: criei alguns links simbólicos (conselhos de esta fonte alemã ):
ln -s Boot boot
ln -s Boot/bootmgr.exe bootmgr.exe
ln -s Boot/pxeboot.n12 Boot/pxeboot.0
Infelizmente, essa fonte lida com o Windows Vista e o Windows PE 2.0, enquanto eu uso o Windows 7 e o Windows PE 3.0, mas esses links não podem prejudicar, eu acho. Usar pxeboot.com
em vez de pxeboot.n12
não corrige o problema. A única diferença é que você precisa pressionar F12 para inicializar. Um sinal de que o sistema funciona pelo menos em um nível básico (ou seja, pode pelo menos carregar pxeboot.n12
e bootmgr.exe
).
Também adicionei essa regra de remapeamento a /etc/tftp_remap.conf
para evitar problemas com separadores de caminho:
rg \ /
Estou sem ideias. Eu recriou o BCD várias vezes. Eu também tentei usar o BCD que você pode encontrar nas pastas WAIK, sem sucesso. Pesquisando este erro, infelizmente, apenas rendeu informações irrelevantes para mim (ou seja, como reparar esse problema com instalações existentes do Windows).