El misterio de las Unidades Ocultas

Por fin le he dedicado un rato a un problema que me venía fastidiando desde hace algún tiempo. La siguiente unidad libre de mi portátil, la E:, tenía el estigma de la invisibilidad. Cualquier cacharrito externo que se le conectara, el lector de DVDs, unidades USB, pen drives, etc. era asignado a dicha letra y convenientemente enviado a una especie de toma de tierra virtual.

Harto de ir al Administrador de Discos y asignar otra letra cualquiera al dispositivo que tocara he confirmado que estaba pasando lo que sospechaba:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:00000091
"NoDrives"=dword:00000010
"NoViewOnDrive"=dword:00000010

No tengo ni idea de cómo habrá llegado esto aqui, pero la el valor de NoDrives dicta las letras de las unidades que se quieren ocultar en el sistema mediante políticas locales o políticas de grupo. Para calcular el valor correspondiente a las unidades que nos interesan hacer desaparecer, se usa esta tablita:

Valor:    11111111111111111111111111

Unidad: ZYXWVUTSRQPONMLKJIHGFEDCBA

ponemos un 1 en la unidad que queramos ocultar y un 0 en la que no. El valor resultante lo convertimos de binario a decimal y eso es lo que ponemos en el registro. En mi caso 10 en hexadecimal es 16 en decimal y 10000 en binario lo que corresponde a E:

Todo esto esta mucho mejor explicado en Using System Policies to Hide Specific Drive Letters (KB220955)

David