Windows 7: remover portas seriais reservadas

Conversores do tipo USB/Serial normalmente possuem um identificador interno e, cada vez que um novo conversor é conectado ao computador, uma nova porta serial é adicionada ao sistema. Se você troca constantemente de adaptadores e conversores, as portas seriais alocadas no sistema vão crescendo.

Para remover as portas não usadas, não encontrei nenhuma ferramenta prática, então, seguem algumas dicas para removê-las manualmente.

Atenção: nos meus testes, algumas vezes precisei reinstalar os drivers do conversor/adaptador USB/Serial, então, antes de remover as portas, certifique-se que possui os drivers necessários para o caso de serem necessários.

Usando o gerenciador de dispositivos

Abra um prompt de comando como administrador.

Execute os seguintes comandos:

set devmgr_show_nonpresent_devices=1
start devmgmt.msc

Após a execução destes comandos, será apresentada a janela do Gerenciador de Dispositivos. Selecione o menu Ver e selecione a opção Mostrar dispositivos ocultos.

Agora é possível expandir a seção Portas COM e serão apresentadas todas as portas já criadas. Clique com o botão direito do mouse na porta que deseja excluir e selecione a opção Desinstalar.

No entanto, dependendo do número e portas existentes, este trabalho pode ser maçante. Uma outra forma de remover as portas seriais criadas será apresentada no próximo tópico.

Editando o registro

Execute o Editor de Registro como administrador. Há várias maneiras de se fazer isto: abra um prompt de comando como administrador e execute o seguinte comando:

regedit

Outra forma é localizar o editor de registros no menu iniciar, depois clique com o botão direito do mouse e selecione Executar como administrador.

Com o editor de registros aberto, navegue até s seguinte chave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter

No painel direito, aparecerá a chave ComDB. Clique nesta chave com o botão direito do mouse e selecione a opção modificar. Na seção Dados selecione todos os valores e apague-os (ficará apenas um item com valor 00).

Reinicie o computador para que as alterações sejam identificadas pelo Windows.

Não se esqueça: depois da reinicialização do computador, pode ser necessário reinstalar o driver do conversor USB/Serial.

Curiosidade: Os valores binários apresentados neste campo representam cada uma das portas seriais reservadas pelo sistema, um bit para cada porta, sendo que um bit 1 indica que a porta correspondente foi reservada. O primeiro byte representa as portas seriais de 1 a 8, o segundo byte representa as portas 9 a 15 e assim por diante. Para cada byte, a contagem do número das portas inicia-se pelo bit menos significativo (da direita para a esquerda). Por exemplo, se o valor apresentado nos dois primeiros bytes for F3 24 (hexadecimal), teremos:

  • 0xF3 0x24 = 1111 0011 0010 0100 (representação binária);
  • Primeiro byte (0xF3 = 1111 0011) indica que as portas seriais 1, 2, 5, 6, 7 e 8 foram reservadas;
  • Segundo byte (0x24 = 0010 0100) indica que as portas 11 e 14 foram reservadas.