terça-feira, 6 de janeiro de 2009

Iniciando Windows PE 2.0 via Rede

Nesse tutorial tentarei explicar como preparar um computador executando Windows para iniciar o sistema Windows PE 2.0 através da rede local. 

Programas necessários
  • Windows Automated Instalation Kit (WAIK). Download
  • servidor TFTP e DHCP com suporte a PXE (Usaremos o TFTPd32)
  • GimageX (para montar a imgem wim, Download)
O primeiro passo é configurar o servidor de boot PXE. Para saber em detalhes como configurar o TFTPd32 veja meu outro artigo Montando um servidor de boot PXE.

Em seguida, você deve criar uma pasta onde serão colocados todos os arquivos necessários. (Usaremos C:\tftp, como antes). Dentro desta deve-se criar uma pasta chamada sources e outra chamada boot.

Copie o arquivo winpe.wim que está no diretorio C:\Arquivos de Programas\Windows AIK\Tools\PETools\x86 para a pasta C:\tftp\sources e renomeie o arquivo winpe.wim para boot.wim.

Copie os arquivos boot.sdi e bcd que se estão na subpasta boot dentro da pasta onde que se encontra o winpe.wim para a pasta C:\tftp\boot.

Para obter os demais arquivos é necessário usar o gimagex para abrir o arquivo winpe.wim. Para isso, crie uma pasta onde será mostrado o conteúdo do arquivo boot.wim do Windows PE. Nesse tutorial usaremos c:\winpe. 
Obs. se estiver utlizando uma versão do Windows anterior ao Vista é necessário instalar o hotfix disponível na pasta hotfix do DVD do Windows AIK.

Abra o GimageX, clica a aba mount. Em mount point clique em browse escolha a pasta que você criou. Em source clique em browse escolha o arquivo boot.wim. Em seguida clique em mount.
Abra a pasta c:\winpe\windows\boot\PXE, e copie os arquivos bootmgr.exe e pxeboot.n12 para a pasta c:\tftp.

No TFTPd32 na opção Boot file preencha com pxeboot.n12, e aperte o botão Save para gravar as alterações.

Testando a inicialização

Para a testar a inicialização basta apenas iniciar outro computador da rede via PXE. Geralmente é necessário fazer alterar a configuração do BIOS setup. Se você não tiver outro computador para teste, ou não consegue configurá-lo para iniciar via PXE, você pode testar usando uma máquina virtual do VMWare.

Download do VMWare Player (necessário para executar a máquina virtual).

Atualização

O tutorial acima também serve para o Windows PE 3.0.

Nas versões em portugues do WAIK, parecem ter problemas com o bootmgr.exe. Se você tiver o DVD do Windows Vista poderá extrair-los do mesmo. Se não tiver pegue-o no link bootmgr.exe.

domingo, 4 de janeiro de 2009

Montando um servidor de boot PXE

Neste artigo tentarei mostrar como montar seu próprio servidor de inicialização pela rede via PXE no Windows XP usando o TFTPd32. Usaremos o TFTPd32, pois ele já vem com servidor TFTP e DHCP., além de ser bem simples de configurar.
1. Crie uma pasta onde serão colocados os arquivos do servidor TFTP (por exemplo C:\tftp).
2. Baixe o TFTPd32 de descompacte-o nesta pasta.
3. Abra o tftpd32.exe, clique no botão Settings e marque a opção PXE Compatibility.
Em seguida, vá até a guia DHCP server e altere a configuração do DHCP de acordo com o IP do computador. Por exemplo, conforme a figura abaixo:



Neste exemplo o computador está configurado no IP 10.10.2.1 e máscara da sub-rede 255.255.255.0, portanto o IP pool starting address deve ser 10.10.2.2. Size of pool define a quantidade de IPs que podem ser utilizados. Neste exemplo usamos o valor 10. O valor Mask deve ser preenchiado com a máscara da sub-rede.  O valor de Boot file vai variar de acordo com o sistema a ser inicializado pela rede. Ao concluir a configuração basta apertar o botão Save. Para mais detalhes de como inicializar um sistema operacional pela rede veja meus outros artigos que falam sobre sistemas específico.

domingo, 28 de dezembro de 2008

Criando um CD de boot do Windows XP

Quando iniciado a partir do CD, o Windows e também chamado de Windows PE (Preinstalation Environment). Uma vez que não se trata de uma versão completa do Windows, mas sim uma versão reduzida, não possuindo portanto algumas funcionalidades.

Um dos programas que podem ser utilizados para realizar esse processo é o Winbuilder. O Winbuilder é um programa especialmente desenvolvido para criar versões personalizadas do Windows PE, incluindo alguns programas e recursos. O Winbuilder possui diverssos projetos, que são a base para criação das versões personalizadas do Windows PE. Para se iniciar o Windows XP pelo CD-ROM utilizamos o projeto LiveXP.

Basta descompactar o arquivo zip do LiveXP numa pasta de sua escolha e executar o Winbuilder.exe. Pode-se escolher diversas opções de aplicativos, mas os mais importante já vem marcado por padrão. Para começar a construção do CD, o que pode demorar bastante, é só apertar no botão azul com nome Play.

Quando terminar será criado um arquivo chamado LiveXP.iso numa subpasta chamado ISO, na pasta onde se encontra o Winbuilder.exe.

Alem disso, é possivel fazer com que o CD inicie através de um disco de ram, agilizando a abertura dos programas e liberando o drive de CD para outros fins. Para dar boot no LiveXP para a ram basta apenas marcar a opção Finish > Create Image > Boot SDI do Winbuilder. Para utilizá-lá é necessário fazer o download do Windows 2003 SP1 e retirar os arquivos ramdisk.sys e setupldr.bin deste pacote e colocar numa pasta e indicar ao Winbuilder onde eles devem ser procurados.

Para retirar esse arquivos basta apenas abrir o arquivo WindowsServer2003-KB889101-SP1-x86-PTB.exe, num programa que possa ler arquivos .cab como por exemplo o WinRAR.
Ao apertar o botão Play, ao final será criado um arquivo chamado LiveXP_ram.iso numa subpasta chamada ISO dentro da pasta do Winbuilder.

Obs. Para funcionar correntamente o computador que for iniciar pelo CD deverá ter uma quantidade de memória RAM maior que o arquivo BootSDI.img, que se encontra na pasta ram dentro da pasta onde fica o LiveXP_ram.iso.

domingo, 21 de dezembro de 2008

VMware - Criando Maquinas Virtuais

A VMware disponibiliza uma versão gratuita de seu software de virtualização (VMware Player e VMware Server). Uma das grandes desvantagens dessa versão gratuita é que ele só permite executar máquinas virtuais pre-configurados, não permitindo criar suas próprias.

Para resolver esse problema criam-se diversas ferramentas que são capazes de criar arquivosde configuração do VMware (arquivos VMX e VMDK). Entre estas está o EasyVMX. O site EasyVMX.com fornece uma opção rápida e facil para criação de máquinas virtuais para VMware. Basta apenas escolher a opção SuperSimple e selecionar o sistema operacional que vai ser instalado a quantidade de memória RAM e capacidade do disco rígido virtual.

Além diso há opção EasyVMX que fornece uma lista de opções de configuração da máquina virtual, como interfaces de CD-ROM, rede, audio e USB.

Site do EasyVMX (www.easyvmx.com)

segunda-feira, 27 de outubro de 2008

Usando PHP para acessar arquivos MDB do Access

Neste artigo irei explicar como acessar os banco de dados do Microsoft Access através do PHP. Para acessar os arquivos do Access será usado o componente Microsoft ActiveX Data Objects (ADO), conhecido também como oledb. Portanto este método só funcionária se o PHP estiver sendo executado no Windows.

A primeira coisa é criar o objeto COM que será usado para acessar o banco de dados.
$conexao = new COM("ADODB.Connection");
Depois é necessário invocar o método Open para abrir a conexão com o banco de dados, passando como parâmetro o texto que representa a origem do banco de dados. 
$conexao->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=meudb.mdb");
No exemplo acima, meudb.mdb é nome do arquivo MDB que estamos acessando.

Agora que o PHP está conectado ao banco de dados, para se executar uma consulta utiliza-se o método Execute que retorna um objeto Recordset.
$recordset = $conexao->Execute("select * from tabela1");
Para mostrar o resultados dessa consulta basta apenas utilizar o objeto recordset. Utiliza-se a propriedade EOF para verificar se recordset já chegou ao final e a propriedade fields para ler os campos. Ao final deve-se invocar o método MoveNext para passar para o registro seguinte.
while (!$recordset->EOF) {
echo $recordset->fields["campo1"]->value;
echo $recordset->fields["campo1"]->value;
$recordset->MoveNext();
}
Para encerrar a conexão utilize o método Close.
$conexao->Close();
Pronto! Seu banco de dados do access já pode ser acessado pelo PHP, sem a instalação de nenhum programa extra.