Artigo: 836662 - Última revisão: quinta-feira, 26 de Outubro de 2006 - Revisão: 3.5

Windows 2000 atribui letras de unidade duplicados a uma única unidade de disquetes USB

Está disponível transferência de hotfixDisponível transferência de hotfix
Ver e solicitar transferências de hotfix
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Um computador baseado no Microsoft Windows 2000 incorrectamente pode atribuir letras de unidade duplicados a uma unidade de disquetes único universal serial bus () quando liga a unidade de disquete USB ao computador e, em seguida, reinicie o computador. Explorador do Windows poderá apresentar ícones de letra de unidade duplicados para uma única unidade de disquete USB e das letras de unidade pode não ser válida para a unidade de disquete USB.

Causa

Este problema ocorre devido a um problema de sincronização entre o kernel do Windows 2000 e o controlador MountMgr.sys. Quando ligar uma unidade de disquetes USB a um computador baseado no Windows 2000, Windows 2000 utiliza o seguinte procedimento para atribuir letras de unidade para o dispositivo disquete USB:
  1. Quando o computador é iniciado, o Windows 2000 Enumera a unidade de disquetes USB.
  2. Durante a inicialização do sistema, o kernel do Windows 2000 chama a função IoAssignDriveLetters conceder letras de unidade a todos os presentes dispositivos de armazenamento, tais como discos rígidos, unidades de CD-ROM e unidades de disquetes.
  3. Para atribuir as letras de unidade aos dispositivos, a função IoAssignDriveLetters chama a função HalpNextDriveLetter para atribuir uma letra de unidade a unidade de disquetes USB.
  4. A função HalpNextDriveLetter tenta chamar a função HalpSetMountLetter da unidade de disquetes USB e emite um comando IOCTL_MOUNTMGR_CREATE_POINT para atribuir uma letra de unidade.
  5. O controlador MountMgr.sys utiliza o comando IOCTL_MOUNTMGR_CREATE_POINT para criar o ponto de montagem para o dispositivo de disquete USB, mas o controlador não é possível atribuir uma letra de unidade porque, quando o controlador MountMgr.sys tenta chamar a função IoGetDeviceObjectPointer da unidade de disquetes USB, o procedimento falha. A falha ocorre porque a unidade de disquete USB tem ainda o sinalizador DO_PENDING_START definido. O sinalizador DO_PENDING_START significa que o dispositivo de disquete USB ainda não respondeu.
  6. Uma vez que a função HalpNextDriveLetter não é possível atribuir uma letra de unidade com o comando IOCTL_MOUNTMGR_CREATE_POINT , a função de HalpNextDriveLetter chama a função IoCreateSymbolicLink e cria uma ligação simbólica pela letra da unidade com nenhuma entrada de registo correspondente. Esta letra é a primeira letra da unidade atribuída à unidade de disquetes USB.
  7. Depois de ter sido criada a ligação simbólica, a função MountMgrMountedDeviceArrival denomina-se para notificar o controlador de MountMgr.sys chegou a unidade de disquete USB.
  8. O controlador MountMgr.sys é não utilizam a ligação simbólica criada através da função HalpNextDriveLetter e, por isso, o controlador MountMgr.sys atribui a letra de unidade disponível seguinte. Esta letra é a segunda letra de unidade atribuída à unidade de disquetes USB.
Depois de aplicar esta correcção, a função MountMgrMountedDeviceArrival verifica-se para uma unidade de disquete do USB existente que tenha a mesma ligação simbólica como a que está a chegar. Se existe uma ligação simbólica para a unidade de disquete USB, mas não existe nenhuma entrada de registo correspondente para a letra de unidade, a ligação simbólica previamente atribuída é removida e a função MountMgrMountedDeviceArrival atribui correctamente a letra de unidade.

Resolução

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Não pré-requisitos são necessários.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   10-Feb-2004  19:47  5.0.2195.6897      30,160  Mountmgr.sys

Como contornar

Para contornar este problema, siga estes passos:
  1. Tornar um sistema completo cópia de segurança do estado de computador e o sistema.
  2. Inicie sessão como administrador.
  3. Clique em Iniciar , clique em Executar , escreva regedt32.exe e, em seguida, clique em OK .
  4. Localize a seguinte chave de registo:
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  5. Clique em MountedDevices e, em seguida, clique em permissões no menu segurança .
  6. Verifique se o grupo Administradores tem permissões de Controlo total .

    Nota Se as permissões são modificadas, certifique-se de que são devolvidos para as definições originais.
  7. Saia do Regedt32.exe.
  8. Clique em Iniciar , clique em Executar , escreva regedit.exe e, em seguida, clique em OK .
  9. Localize a seguinte chave de registo:
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  10. Localize as letras de unidade essa sobreposição. Por exemplo, se se sobrepuser "B:", localizar "\DosDevices\B:", clique com o botão direito do rato "\DosDevices\B" e, em seguida, clique em Eliminar.

    Nota Tem de utilizar Regedit.exe em vez do Regedt32.exe para eliminar esta chave de registo.
  11. Saia do Regedit.exe.
  12. Clique em Iniciar , clique em Executar , escreva regedt32.exe e, em seguida, clique em OK .
  13. Localize a seguinte chave de registo:
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  14. Altere as permissões novamente para as definições anteriores para o grupo de administradores.
  15. Instale a correcção listados anteriormente.
  16. Reinicie o computador.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a" deste artigo.

Mais Informação

Para obter informações adicionais, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
816915  (http://support.microsoft.com/kb/816915/ ) Novo esquema de atribuição de nomes de ficheiro para pacotes de actualização de software do Microsoft Windows do
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Advanced Server
Palavras-chave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbbug kbfix kbqfe kbwin2000presp5fix KB836662 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 836662  (http://support.microsoft.com/kb/836662/en-us/ )