<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>wiki.franca.unesp.br  - Recent changes [pt-BR]</title>
		<link>https://wiki.franca.unesp.br/index.php/Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>pt-BR</language>
		<generator>MediaWiki 1.28.0</generator>
		<lastBuildDate>Fri, 22 May 2026 02:32:44 GMT</lastBuildDate>
		<item>
			<title>Git</title>
			<link>https://wiki.franca.unesp.br/index.php?title=Git&amp;diff=1624&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.franca.unesp.br/index.php?title=Git&amp;diff=1624&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;= Guia Completo: Utilizando Git e GitHub do Zero =  Bem-vindo(a) ao guia de uso básico do Git e GitHub! Este tutorial foi escrito para quem nunca teve contato com a ferrament...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Guia Completo: Utilizando Git e GitHub do Zero =&lt;br /&gt;
&lt;br /&gt;
Bem-vindo(a) ao guia de uso básico do Git e GitHub! Este tutorial foi escrito para quem nunca teve contato com a ferramenta. O Git é um sistema de controle de versão (como uma máquina do tempo para o seu código), e o GitHub é um site onde você guarda esse código na nuvem.&lt;br /&gt;
&lt;br /&gt;
Neste tutorial, vamos cobrir o ciclo completo: pegar um código que já existe no seu servidor, colocar no GitHub, baixar no seu computador para editar, salvar as alterações e atualizar o servidor novamente.&lt;br /&gt;
&lt;br /&gt;
== Pré-requisitos ==&lt;br /&gt;
* Ter uma conta criada no [https://github.com GitHub].&lt;br /&gt;
* Ter o Git instalado no servidor e no seu computador.&lt;br /&gt;
* Saber abrir o Terminal (Linux/Mac) ou o Prompt de Comando/PowerShell (Windows).&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Passo Zero: Protegendo suas Senhas (O arquivo .gitignore) ==&lt;br /&gt;
'''MUITO IMPORTANTE:''' Antes de enviarmos seu código do servidor para o GitHub, precisamos garantir que arquivos com senhas de banco de dados não sejam enviados. Se você enviar uma senha para um repositório público, qualquer pessoa na internet poderá ver!&lt;br /&gt;
&lt;br /&gt;
Para isso, usamos um arquivo chamado &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt;. Ele diz ao Git: ''&amp;quot;Ignore estes arquivos, não os envie para a nuvem&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
# Acesse a pasta do seu projeto no servidor através do terminal.&lt;br /&gt;
# Crie um arquivo chamado &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; (com o ponto no início).&lt;br /&gt;
# Dentro dele, escreva o nome do arquivo que contém as suas senhas.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, se as suas configurações de banco de dados estão em um arquivo chamado &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, você criaria e editaria o arquivo assim:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano .gitignore&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dentro do arquivo, adicione a linha com o nome do arquivo a ser ignorado:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Salve e feche o arquivo. O Git agora fingirá que o &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; não existe!&lt;br /&gt;
== Situação 1: Do Servidor para o GitHub ==&lt;br /&gt;
Você tem o sistema rodando no servidor e quer guardar esse código no GitHub.&lt;br /&gt;
=== 1. Crie um Repositório no GitHub ===&lt;br /&gt;
Entre no site do GitHub e clique no botão verde '''&amp;quot;New&amp;quot;''' (Novo repositório).&lt;br /&gt;
Dê um nome ao seu projeto (ex: &amp;lt;code&amp;gt;meu-sistema&amp;lt;/code&amp;gt;).&lt;br /&gt;
Escolha a visibilidade:&lt;br /&gt;
#* '''Public (Público):''' Qualquer um na internet pode ver seu código.&lt;br /&gt;
#* '''Private (Privado):''' Apenas você e quem você convidar podem ver. (Recomendado para sistemas de empresas).&lt;br /&gt;
'''NÃO''' marque as opções &amp;quot;Add a README file&amp;quot; ou &amp;quot;Add .gitignore&amp;quot;. Deixe o repositório totalmente vazio.&lt;br /&gt;
Clique em '''Create repository'''.&lt;br /&gt;
=== 2. Envie o código do Servidor ===&lt;br /&gt;
No terminal do seu servidor, navegue até a pasta onde estão os arquivos do seu sistema e digite os comandos abaixo, um por um:&lt;br /&gt;
Inicia o Git na pasta do servidor:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Adiciona todos os arquivos (menos os que estão no .gitignore) para serem salvos:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git add .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cria um &amp;quot;pacote&amp;quot; com esses arquivos e dá uma mensagem a ele (isso se chama ''commit''):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Primeiro envio do sistema&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Muda o nome da ramificação principal para &amp;quot;main&amp;quot; (padrão atual do GitHub):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git branch -M main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Conecta a sua pasta local ao repositório que você criou no GitHub (Substitua a URL abaixo pela URL do seu repositório no GitHub):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote add origin https://github.com/SEU_USUARIO/NOME_DO_REPOSITORIO.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envia (''push'') o código para o GitHub:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git push -u origin main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Atenção para Repositórios Privados:'''&lt;br /&gt;
Ao fazer o comando &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;, o GitHub pedirá seu usuário e senha. Hoje em dia, a &amp;quot;senha&amp;quot; não é a senha do site, mas sim um '''Personal Access Token (PAT)'''.&lt;br /&gt;
Vá no GitHub &amp;gt; Settings (Configurações) &amp;gt; Developer settings &amp;gt; Personal access tokens &amp;gt; Tokens (classic).&lt;br /&gt;
Gere um novo token marcando a caixinha &amp;quot;repo&amp;quot;, copie esse código gigante e cole no terminal quando pedir a senha.&lt;br /&gt;
== Situação 2: Do GitHub para o seu Computador Local ==&lt;br /&gt;
Agora que o código está seguro no GitHub, você quer baixá-lo no seu computador para trabalhar usando o VSCode (ou Google Antigravity/ambiente web).&lt;br /&gt;
Abra o seu terminal no computador local e navegue até a pasta onde deseja salvar o projeto.&lt;br /&gt;
Digite o comando de &amp;quot;clonar&amp;quot; (copiar):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/SEU_USUARIO/NOME_DO_REPOSITORIO.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
O Git criará uma pasta com o nome do seu projeto.&lt;br /&gt;
Abra o VSCode, clique em '''File &amp;gt; Open Folder''' e selecione essa nova pasta.&lt;br /&gt;
'''Nota:''' Se o repositório for '''Privado''', o VSCode ou o terminal abrirá uma janelinha do navegador pedindo para você autorizar o acesso à sua conta do GitHub. É só clicar em autorizar.&lt;br /&gt;
'''Importante:''' Como você ignorou o arquivo de senha (ex: &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt;) na Situação 1, ele não virá para o seu computador. Você precisará criar um &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; localmente com as senhas do seu banco de dados de teste (local).&lt;br /&gt;
== Situação 3: Atualizando o repositório após alterações locais ==&lt;br /&gt;
Você trabalhou no seu computador, modificou arquivos, criou novas funcionalidades no VSCode e agora quer mandar essas novidades de volta para o GitHub.&lt;br /&gt;
No terminal do seu computador (pode usar o terminal integrado do próprio VSCode), digite:&lt;br /&gt;
Adiciona todas as modificações que você fez:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git add .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Salva essas alterações com uma mensagem descrevendo o que foi feito:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Adicionada tela de login e corrigido bug de layout&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Envia as alterações para o GitHub:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pronto! Se você entrar no site do GitHub agora, verá que seus arquivos foram atualizados.&lt;br /&gt;
== Situação 4: Atualizando o código no Servidor ==&lt;br /&gt;
O GitHub já tem o código novo, mas o seu servidor (Situação 1) ainda está rodando o código antigo. Vamos puxar as novidades do GitHub para o servidor.&lt;br /&gt;
Acesse o terminal do seu servidor.&lt;br /&gt;
Vá para a pasta do seu sistema.&lt;br /&gt;
Digite o comando de &amp;quot;puxar&amp;quot; (''pull''):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull origin main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
O Git irá baixar apenas os arquivos que foram modificados e atualizar seu sistema automaticamente!&lt;br /&gt;
Como nós protegemos o arquivo de senhas com o &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; no passo zero, o comando &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; '''não''' vai apagar ou sobrescrever as senhas do banco de dados de produção do seu servidor.&lt;br /&gt;
=== Resumo do Ciclo de Trabalho Diário ===&lt;br /&gt;
Daqui em diante, seu fluxo de trabalho sempre será este:&lt;br /&gt;
'''Trabalhar no Computador:''' &amp;lt;code&amp;gt;git add .&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;git commit -m &amp;quot;mensagem&amp;quot;&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Atualizar o Servidor:''' &amp;lt;code&amp;gt;git pull origin main&amp;lt;/code&amp;gt;&lt;/div&gt;</description>
			<pubDate>Wed, 20 May 2026 13:26:14 GMT</pubDate>			<dc:creator>Guilherme</dc:creator>			<comments>https://wiki.franca.unesp.br/index.php/Talk:Git</comments>		</item>
		<item>
			<title>PXE Server</title>
			<link>https://wiki.franca.unesp.br/index.php?title=PXE_Server&amp;diff=1623&amp;oldid=1614</link>
			<guid isPermaLink="false">https://wiki.franca.unesp.br/index.php?title=PXE_Server&amp;diff=1623&amp;oldid=1614</guid>
			<description>&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Passo 7: Configurando o Menu Customizado&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.franca.unesp.br/index.php?title=PXE_Server&amp;amp;diff=1623&amp;amp;oldid=1614&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Thu, 30 Apr 2026 19:19:22 GMT</pubDate>			<dc:creator>Guilherme</dc:creator>			<comments>https://wiki.franca.unesp.br/index.php/Talk:PXE_Server</comments>		</item>
		<item>
			<title>PXE Server</title>
			<link>https://wiki.franca.unesp.br/index.php?title=PXE_Server&amp;diff=1614&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.franca.unesp.br/index.php?title=PXE_Server&amp;diff=1614&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;= Servidor PXE Local com Netboot.xyz no Debian = Este guia detalha a implementação de um servidor de boot PXE local utilizando o &amp;#039;&amp;#039;&amp;#039;netboot.xyz&amp;#039;&amp;#039;&amp;#039;. A estrutura utiliza o Apa...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Servidor PXE Local com Netboot.xyz no Debian =&lt;br /&gt;
Este guia detalha a implementação de um servidor de boot PXE local utilizando o '''netboot.xyz'''. A estrutura utiliza o Apache (HTTP) para transferência rápida de arquivos, TFTP para o boot inicial, Samba (SMB) para instalação automatizada do Windows e uma compilação customizada do iPXE para operar de forma 100% offline.&lt;br /&gt;
== Pré-requisitos ==&lt;br /&gt;
Antes de começar, atualize seu servidor Debian e instale todos os pacotes necessários:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br /&gt;
sudo apt install -y apache2 tftpd-hpa samba wimtools genisoimage build-essential git liblzma-dev wget nano&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 1: Preparar o Servidor Web (Apache) e Baixar os Menus ==&lt;br /&gt;
Vamos criar a estrutura de pastas que vai hospedar as imagens e baixar os menus oficiais do netboot.xyz para o Apache local.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criar diretórios do netboot e das categorias de imagens&lt;br /&gt;
sudo mkdir -p /var/www/html/netboot&lt;br /&gt;
sudo mkdir -p /var/www/html/assets/{Windows,Linux,Utilitarios}&lt;br /&gt;
&lt;br /&gt;
# Acessar a pasta do netboot e baixar os menus&lt;br /&gt;
cd /var/www/html/netboot&lt;br /&gt;
sudo wget https://github.com/netbootxyz/netboot.xyz/releases/latest/download/netboot.xyz.tar.gz&lt;br /&gt;
&lt;br /&gt;
# Extrair e limpar&lt;br /&gt;
sudo tar -xzf netboot.xyz.tar.gz&lt;br /&gt;
sudo rm netboot.xyz.tar.gz&lt;br /&gt;
&lt;br /&gt;
# Ajustar permissões para o Apache&lt;br /&gt;
sudo chown -R www-data:www-data /var/www/html/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 2: Configurar o Servidor TFTP ==&lt;br /&gt;
O TFTP é responsável por entregar os primeiros megabytes do boot. No Debian, o pacote &amp;lt;code&amp;gt;tftpd-hpa&amp;lt;/code&amp;gt; utiliza o diretório &amp;lt;code&amp;gt;/srv/tftp&amp;lt;/code&amp;gt; por padrão.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Garantir que o diretório exista&lt;br /&gt;
sudo mkdir -p /srv/tftp&lt;br /&gt;
&lt;br /&gt;
# Reiniciar e habilitar o serviço&lt;br /&gt;
sudo systemctl restart tftpd-hpa&lt;br /&gt;
sudo systemctl enable tftpd-hpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 3: Compilar o iPXE Customizado ==&lt;br /&gt;
Para que o boot não dependa da internet, vamos compilar os arquivos de boot (EFI e BIOS) injetando um script que aponta diretamente para o IP do seu servidor Debian.&lt;br /&gt;
'''Atenção:''' Substitua &amp;lt;code&amp;gt;IP_DO_SEU_SERVIDOR&amp;lt;/code&amp;gt; pelo endereço IP real da sua máquina Debian.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
git clone https://github.com/ipxe/ipxe.git&lt;br /&gt;
cd ipxe/src&lt;br /&gt;
&lt;br /&gt;
# Criar o script de redirecionamento (chainload)&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; boot.ipxe&lt;br /&gt;
#!ipxe&lt;br /&gt;
dhcp&lt;br /&gt;
chain http://IP_DO_SEU_SERVIDOR/netboot/menu.ipxe&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# Compilar arquivo para máquinas antigas (Legacy/BIOS)&lt;br /&gt;
make bin/undionly.kpxe EMBED=boot.ipxe&lt;br /&gt;
&lt;br /&gt;
# Compilar arquivo para máquinas novas (UEFI)&lt;br /&gt;
make bin-x86_64-efi/ipxe.efi EMBED=boot.ipxe&lt;br /&gt;
&lt;br /&gt;
# Mover os arquivos gerados para o TFTP&lt;br /&gt;
sudo cp bin/undionly.kpxe /srv/tftp/&lt;br /&gt;
sudo cp bin-x86_64-efi/ipxe.efi /srv/tftp/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 4: Configurar o Samba (Para Boot do Windows) ==&lt;br /&gt;
A instalação de Windows via rede exige mapeamento de disco na fase do Setup. O Samba compartilhará a pasta de arquivos do Windows.&lt;br /&gt;
Edite o arquivo de configuração do Samba:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/samba/smb.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vá até o final do arquivo e adicione as seguintes linhas:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[PXEWIN]&lt;br /&gt;
path = /var/www/html/assets/Windows&lt;br /&gt;
guest ok = yes&lt;br /&gt;
read only = yes&lt;br /&gt;
browseable = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reinicie o Samba para aplicar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart smbd&lt;br /&gt;
sudo systemctl enable smbd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 5: Script de Automação para Extração do Windows ==&lt;br /&gt;
Este script extrai a ISO do Windows, baixa o injetor &amp;lt;code&amp;gt;wimboot&amp;lt;/code&amp;gt; e modifica o &amp;lt;code&amp;gt;boot.wim&amp;lt;/code&amp;gt; para montar o diretório Samba automaticamente e iniciar a instalação.&lt;br /&gt;
Crie o arquivo do script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
nano preparar_windows.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cole o conteúdo abaixo. '''Não se esqueça de alterar a variável IP_SERVIDOR''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# ==========================================&lt;br /&gt;
# CONFIGURAÇÕES - ALTERE O IP ABAIXO&lt;br /&gt;
# ==========================================&lt;br /&gt;
IP_SERVIDOR=&amp;quot;192.168.1.100&amp;quot;&lt;br /&gt;
DESTINO=&amp;quot;/var/www/html/assets/Windows&amp;quot;&lt;br /&gt;
# ==========================================&lt;br /&gt;
&lt;br /&gt;
ARQUIVO_ISO=$1&lt;br /&gt;
NOME_PASTA=$2&lt;br /&gt;
PASTA_WINDOWS=&amp;quot;$DESTINO/$NOME_PASTA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$ARQUIVO_ISO&amp;quot; ] || [ -z &amp;quot;$NOME_PASTA&amp;quot; ]; then&lt;br /&gt;
echo &amp;quot;Uso: sudo ./preparar_windows.sh &amp;lt;caminho_da_iso&amp;gt; &amp;lt;nome_da_pasta&amp;gt;&amp;quot;&lt;br /&gt;
echo &amp;quot;Exemplo: sudo ./preparar_windows.sh /home/usuario/win10.iso Win10&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;1. Criando pasta $PASTA_WINDOWS...&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;$PASTA_WINDOWS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;2. Montando a ISO e copiando os arquivos...&amp;quot;&lt;br /&gt;
mkdir -p /mnt/iso_temp&lt;br /&gt;
mount -o loop &amp;quot;$ARQUIVO_ISO&amp;quot; /mnt/iso_temp&lt;br /&gt;
cp -r /mnt/iso_temp/* &amp;quot;$PASTA_WINDOWS/&amp;quot;&lt;br /&gt;
umount /mnt/iso_temp&lt;br /&gt;
rm -rf /mnt/iso_temp&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;3. Baixando o arquivo wimboot oficial...&amp;quot;&lt;br /&gt;
if [ ! -f &amp;quot;$DESTINO/wimboot&amp;quot; ]; then&lt;br /&gt;
wget -qO &amp;quot;$DESTINO/wimboot&amp;quot; https://github.com/ipxe/wimboot/releases/latest/download/wimboot&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;4. Criando script de auto-conexao (startnet.cmd)...&amp;quot;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; startnet.cmd&lt;br /&gt;
wpeinit&lt;br /&gt;
@echo Aguardando rede...&lt;br /&gt;
ping -n 5 127.0.0.1 &amp;gt;nul&lt;br /&gt;
@echo Conectando ao servidor $IP_SERVIDOR...&lt;br /&gt;
net use z: \\\\$IP_SERVIDOR\\PXEWIN\\$NOME_PASTA /user:nobody &amp;quot;&amp;quot;&lt;br /&gt;
z:\\setup.exe&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;5. Injetando o script dentro do boot.wim...&amp;quot;&lt;br /&gt;
wimupdate &amp;quot;$PASTA_WINDOWS/sources/boot.wim&amp;quot; 2 &amp;lt;&amp;lt;EOF&lt;br /&gt;
add startnet.cmd /Windows/System32/startnet.cmd&lt;br /&gt;
EOF&lt;br /&gt;
rm startnet.cmd&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;6. Ajustando permissoes...&amp;quot;&lt;br /&gt;
chmod -R 777 &amp;quot;$PASTA_WINDOWS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;CONCLUIDO! Arquivos preparados com sucesso.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dê permissão de execução:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x preparar_windows.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Como usar:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ./preparar_windows.sh /caminho/para/imagem-windows.iso Win11&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 6: Preparando as Imagens Linux (Live CD) ==&lt;br /&gt;
Para o Linux funcionar como Live CD sem perder a conexão de rede:&lt;br /&gt;
Extraia a ISO do Linux (ex: Ubuntu).&lt;br /&gt;
Copie os arquivos &amp;lt;code&amp;gt;vmlinuz&amp;lt;/code&amp;gt; (Kernel) e &amp;lt;code&amp;gt;initrd&amp;lt;/code&amp;gt; (geralmente encontrados na pasta &amp;lt;code&amp;gt;casper&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;boot&amp;lt;/code&amp;gt;) para &amp;lt;code&amp;gt;/var/www/html/assets/Linux/&amp;lt;/code&amp;gt;.&lt;br /&gt;
Copie a ISO inteira do Linux também para &amp;lt;code&amp;gt;/var/www/html/assets/Linux/ubuntu.iso&amp;lt;/code&amp;gt;.&lt;br /&gt;
== Passo 7: Configurando o Menu Customizado ==&lt;br /&gt;
Edite o arquivo que gerencia o menu local do netboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/www/html/netboot/custom.ipxe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Substitua tudo pelo código abaixo (altere o &amp;lt;code&amp;gt;IP_DO_SEU_SERVIDOR&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!ipxe&lt;br /&gt;
&lt;br /&gt;
# --- MENU PRINCIPAL ---&lt;br /&gt;
:custom_menu&lt;br /&gt;
clear custom_choice&lt;br /&gt;
menu Menu PXE Local - Debian&lt;br /&gt;
item --gap Selecione uma Categoria:&lt;br /&gt;
item menu_windows Instaladores Windows&lt;br /&gt;
item menu_linux Distribuicoes Linux (Live)&lt;br /&gt;
item menu_utils Ferramentas e Utilitarios&lt;br /&gt;
item --gap&lt;br /&gt;
item return Voltar ao Menu Anterior&lt;br /&gt;
&lt;br /&gt;
choose custom_choice || goto custom_exit&lt;br /&gt;
goto ${custom_choice}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# --- SUBMENU WINDOWS ---&lt;br /&gt;
:menu_windows&lt;br /&gt;
clear win_choice&lt;br /&gt;
menu Instaladores Windows&lt;br /&gt;
item win11 Windows 11 (Automatizado)&lt;br /&gt;
item --gap&lt;br /&gt;
item custom_menu [ Voltar ]&lt;br /&gt;
choose win_choice || goto custom_menu&lt;br /&gt;
goto ${win_choice}&lt;br /&gt;
&lt;br /&gt;
:win11&lt;br /&gt;
kernel http://IP_DO_SEU_SERVIDOR/assets/Windows/wimboot&lt;br /&gt;
initrd http://IP_DO_SEU_SERVIDOR/assets/Windows/Win11/boot/bcd bcd&lt;br /&gt;
initrd http://IP_DO_SEU_SERVIDOR/assets/Windows/Win11/boot/boot.sdi boot.sdi&lt;br /&gt;
initrd http://IP_DO_SEU_SERVIDOR/assets/Windows/Win11/sources/boot.wim boot.wim&lt;br /&gt;
boot || goto custom_menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# --- SUBMENU LINUX ---&lt;br /&gt;
:menu_linux&lt;br /&gt;
clear lin_choice&lt;br /&gt;
menu Distribuicoes Linux&lt;br /&gt;
item ubuntu_live Ubuntu Live CD&lt;br /&gt;
item --gap&lt;br /&gt;
item custom_menu [ Voltar ]&lt;br /&gt;
choose lin_choice || goto custom_menu&lt;br /&gt;
goto ${lin_choice}&lt;br /&gt;
&lt;br /&gt;
:ubuntu_live&lt;br /&gt;
kernel http://IP_DO_SEU_SERVIDOR/assets/Linux/vmlinuz&lt;br /&gt;
initrd http://IP_DO_SEU_SERVIDOR/assets/Linux/initrd&lt;br /&gt;
imgargs vmlinuz initrd=initrd ip=dhcp url=http://IP_DO_SEU_SERVIDOR/assets/Linux/ubuntu.iso&lt;br /&gt;
boot || goto custom_menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# --- SUBMENU UTILITÁRIOS ---&lt;br /&gt;
:menu_utils&lt;br /&gt;
clear util_choice&lt;br /&gt;
menu Ferramentas e Utilitarios&lt;br /&gt;
item hirens Hirens BootCD PE&lt;br /&gt;
item --gap&lt;br /&gt;
item custom_menu [ Voltar ]&lt;br /&gt;
choose util_choice || goto custom_menu&lt;br /&gt;
goto ${util_choice}&lt;br /&gt;
&lt;br /&gt;
:hirens&lt;br /&gt;
sanboot http://IP_DO_SEU_SERVIDOR/assets/Utilitarios/hirens.iso || goto custom_menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# --- SAÍDA ---&lt;br /&gt;
:custom_exit&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Passo 8: Configuração do Servidor DHCP (Roteador/Firewall) ==&lt;br /&gt;
Para que os clientes da rede saibam onde buscar o boot, vá no seu servidor DHCP (Roteador, pfSense, Mikrotik, Windows Server) e configure as Opções de PXE:&lt;br /&gt;
'''Next-Server (Servidor TFTP):''' IP do seu Servidor Debian.&lt;br /&gt;
'''Boot Filename (Arquivo de Boot):'''&lt;br /&gt;
** Para máquinas UEFI: &amp;lt;code&amp;gt;ipxe.efi&amp;lt;/code&amp;gt;&lt;br /&gt;
** Para máquinas Legacy/BIOS: &amp;lt;code&amp;gt;undionly.kpxe&amp;lt;/code&amp;gt;&lt;br /&gt;
Acesse o Boot via Rede (F12) nos computadores clientes, entre na opção '''Custom Menu''' do painel do netboot e utilize o seu sistema de boot de forma totalmente local!&lt;/div&gt;</description>
			<pubDate>Thu, 30 Apr 2026 18:33:41 GMT</pubDate>			<dc:creator>Guilherme</dc:creator>			<comments>https://wiki.franca.unesp.br/index.php/Talk:PXE_Server</comments>		</item>
	</channel>
</rss>