VirtualBox e "Rede não identificada" no Windows Vista/7
[Atualização - 01/04/2018] Desde a versão 4.3.22, este ajuste é desnecessário.
Se instalarmos o VirtualBox com suporte a rede privada entre o hospedeiro e as máquinas virtuais (que vem por padrão), essa rede virtual fica como "não identificada" e, no Windows Vista, desabilita os compartilhamentos de rede. No 7, os compartilhamentos não são desabilitados, contudo.
O procedimento para resolver consiste em ir ao registro, descobrir a chave relativa ao adaptador virtual do VirtualBox ("VirtualBox Host-Only Ethernet Adapter") dentro de
Para facilitar, achei um pequeno script em PowerShell que faz tudo sozinho.
Salve-o como
Por segurança, o Windows 7 (e provavelmente o Vista também, não conferi) vem com execução de scripts desativada. Então, antes de rodar o script, é preciso permitir a execução.
Abra o PowerShell como administrador e execute:
Depois, navegue até a pasta onde o script está salvo e execute-o:
Pronto. O script inclusive reinicia a interface virtual e já fica tudo funcionando.
Volte então para a política de segurança padrão, que não permite a execução de scripts com:
Para conferir a política atual use:
Assim, a cada atualização do VirtualBox, a tarefa fica menos tediosa.
Se instalarmos o VirtualBox com suporte a rede privada entre o hospedeiro e as máquinas virtuais (que vem por padrão), essa rede virtual fica como "não identificada" e, no Windows Vista, desabilita os compartilhamentos de rede. No 7, os compartilhamentos não são desabilitados, contudo.
O procedimento para resolver consiste em ir ao registro, descobrir a chave relativa ao adaptador virtual do VirtualBox ("VirtualBox Host-Only Ethernet Adapter") dentro de
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\
e criar nela uma DWORD com o nome *NdisDeviceType
e o valor 1
. Visto que a cada vez que o VirtualBox é atualizado ele reinstala o adaptador virtual, temos que fazer tudo de novo...Para facilitar, achei um pequeno script em PowerShell que faz tudo sozinho.
$devices = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\*" $adapters = Get-ItemProperty $devices | Where-Object {$_.Class -eq "Net"} | Foreach-Object { $_.PSPath } Get-ChildItem $adapters -erroraction silentlycontinue | Foreach-Object { get-itemproperty -path $_.PSPath } | Where-Object {$_.ComponentId -eq "sun_vboxnetadp"} | Foreach-Object { Set-ItemProperty -path $_.PSPath -name "*NdisDeviceType" -Type DWORD -Value 1} Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*VirtualBox Host*"} | Foreach-Object {$_.Disable(); $_.Enable()}
Salve-o como
vbox_lan_fix.ps1
.Por segurança, o Windows 7 (e provavelmente o Vista também, não conferi) vem com execução de scripts desativada. Então, antes de rodar o script, é preciso permitir a execução.
Abra o PowerShell como administrador e execute:
Set-ExecutionPolicy Unrestricted
Depois, navegue até a pasta onde o script está salvo e execute-o:
.\vbox_lan_fix.ps1
Pronto. O script inclusive reinicia a interface virtual e já fica tudo funcionando.
Volte então para a política de segurança padrão, que não permite a execução de scripts com:
Set-ExecutionPolicy Default
Para conferir a política atual use:
Get-ExecutionPolicy("Default" configura o valor em "Restricted")
Assim, a cada atualização do VirtualBox, a tarefa fica menos tediosa.
Funcionou certinho aqui, o único problema é que a executionPolicy não quer retorna para default. Pode me dizer o que pode estar acontecendo?
ResponderExcluirMuito Obrigado, marcos.
Não tenho ideia, Luiz. Aqui quando executo "Set-ExecutionPolicy Default" volta para "Restricted". Tente "Set-ExecutionPolicy Restricted"...
ResponderExcluirDe nada :-)