
Buscaba chatarra y he encontrado al menos, bronce
La verdad es que ni ha sido intencionado, es otra de las cosas que han surgido de las conversaciones sumamente interesantes que suelen pulular por los diferentes grupos de telegram en los que me muevo.
Ya sabéis que hablo de vosotros, gracias por la inspiración.
La conversación ha empezado con un simple “Buenas tardes! Tengo un disco duro externo y no funciona… En el administrador de discos me sale como formato raw y no me deja formatearlo… He intentado con testdisk y tampoco ¿Conocéis alguna solución?”.
Pues nada, que me he puesto al tema.
Como se que tengo algún disco con un tema parecido… Lo he localizado.
En mi caso es una partición NTFS de un disco con dual boot con Linux, GPT, EFI y todas las historias modernas, incluyendo hibernación, lo cual ha sido la sentencia para esa partición, compartida entre ambos sistemas.
El caso es que necesitamos pasar un `` para reparar errores, si es posible.
Pero…
No tenemos letra de unidad
Para obtener la ruta de instancia de dispositivo, podéis elegir el camino que menos os desagrade, porque no lo vamos a sacar por el administrador de dispositivos.
Las herramientas gráficas, muy poca información nos van a proporcionar en este caso.
Lo primero que tenemos que entender, ya lo ampliaré, es que Windows (ni ningún sistema operativo moderno) ya no se mueve por el mecanismo de disco+partición, si no que usa un gestor de volúmenes, y es a ese gestor de volúmenes a quien vamos a interrogar.
DISKPART
Diskpart es la evolución de fdisk, de la sempiterna herramienta de gestión de particiones que lleva con nosotros desde que existen las particiones.
A diferencia de la anterior, requiere elevación de privilegios, por lo que nos pedirá una cuenta de administrador, y hará más cosas.
Es lógico, WMIC es una herramienta de consulta (mayormente, porque también puede hacer más cosas) y esto es una herramienta de manipulación.
El uso es muy sencillo, puesto que igual que antes, lo que vamos a hacer es mirar el gestor de volúmenes, y a mayores, el estado de una partición.
Lo primero, mirar la tabla de volúmenes. Para ello, list vol
o bien list volume
.
La información no va mucho más allá, pero podemos ampliar hasta donde da, que tampoco da demasiado.
Con sel vol 6
seleccionamos el volumen 6, le ponemos el cursor, y, desde Windows 2012r2 y 8.1, es capaz de seleccionar y colocar el cursor de forma jerárquica en todos los componentes (disco, partición, gestores…) por lo que nos ahorra el trabajo.
Con detail vol
y detail part
vemos desde dos caras del prisma, el detalle del volumen 6, en el disco 1, y como ya he dicho lo de que se ha colocado el cursor, podemos ver la partición 7, la cual hospeda el volumen.
Es una pena puesto que es una herramienta sumamente poderosa, pero no nos ha proporcionado la información que necesito, y tampoco tiene capacidad de reparación, cosa inexplicable, pero bueno, esto es así y poco podemos hacer. Siguiente.
MOUNTVOL
Sí. Existe una utilidad para montar un volumen en el sistema de ficheros.
MOUNTVOL nos va a ofrecer la lista de volúmenes registrados en el controlador del gestor de volúmenes, y unas cuantas herramientas para manipularlos.
Lamentablemente, no ofrece una forma de comprobar unívocamente el contenido del volumen, puesto que el volumen a reparar no estará montado o referenciado a una letra de unidad, exactamente igual que las particiones de propósito especial, por lo que no nos hace demasiado apaño. Siguiente.
WMIC
Esto es lo más simple. Y Microsoft me quitará esta herramienta de mis dedos fríos y endurecidos.
Windows Management Instrumentation es una derivada de la introducción de la “nueva” interfaz de controladores de Windows, la WDM.
De esto, que lo he tocado poco aún en los podcast de historia sobre retrocompatibilidad, podemos aprovecharnos para consultar por un API simple, el estado y la información de cualquier dispositivo con un controlador asociado.
Para mi, WMIC, la herramienta de consola, tiene una utilidad bastante grande, pero claro, entiendo que no se use puesto que su salida es bastante críptica.
Como ya he comentado, el uso de la interfaz de disco es poco interesante aquí, así que nos vamos a hablar directamente con el gestor de volúmenes.
Con la orden wmic volume
vamos a obtener todas las cabeceras de todos los campos, que luego filtraré adecuadamente.
Como se puede ver, hay campos para todos los gustos. Selecciono cosas interesantes, puesto que se que la partición, el volumen raw, que necesito comprobar y arreglar tiene un tamaño.
Voy a buscar ese tamaño, y otro datos de interés, con wmic volume get name,capacity,DriveLetter,FileSystem
.
Bueno, pues está claro.
El disco, el volumen, a comprobar, es \\?\Volume{ecd2132f-2ebd-41bb-a06d-27b6db1c9225}\
puesto que es el único sin datos, y el otro tiene letra, y es la grabadora de CD.
No, en realidad no queda tan claro, pero es lo más cercano que tenemos. Siguiente.
powershell
Con la nueva shell de Windows también podemos hacer cosas.
Algo muy simple sería pedir la información jerarquizada, algo tan simple como encadenar los diferentes comandos get cuya salida alimenta la entrada del siguiente. Es bastante interesante y queda Get-Disk | Get-Partition | Get-Volume
.
Como se aprecia, hay una ligera diferencia, no significativa, entre usar powershell como usuario a usarlo como administrador. Pero ya si eso lo vemos en otro momento.
Lo que si puedo hacer, es fijarme que lo que me interesa es el camino, la ruta, del volumen, y no los datos bonitos, así que vamos a mejorar la consulta.
Podría hacer una consulta tirando directamente a la partición, porque sabemos gracias a los intentos anteriores que es la 7. Get-Partition -PartitionNumber 7 | Get-Volume
nos dará información. Si hay más particiones con ese número entre los múltiples discos, pues también veremos cosas.
Pero volviendo a lo realmente necesario, necesito la ruta, no una tabla bonita así que… Get-Disk | Get-Partition | get-volume | ft -autosize DriveLetter,FileSystemType,SizeRemaining,size,path
.
Nos quedamos con que tenemos que reparar Unknown 0 0 \\?\Volume{ecd2132f-2ebd-41bb-a06d-27b6db1c9225}\
.
Reparando
Ya solo queda usar el de toda la vida. Eso si, con privilegios de administrador, acceso exclusivo y demás historias.
Tan simple como lanzar "\\?\Volume{ecd2132f-2ebd-41bb-a06d-27b6db1c9225}"
. Ojo con las barras.
Sin el parámetro /f
no nos va a hacer caso.
El disco es ssd, y ha pasado por un TRIM, por lo cual es posible que no pueda recuperar nada, y de verdad, no le tengo apego al contenido. Pero al menos ha quedado claro el funcionamiento y los pasos.
Además, como bonus, también podemos sustituir el con las correspondientes evoluciones en Powershell.
https://docs.microsoft.com/en-us/powershell/module/storage/repair-volume?view=windowsserver2019-ps
Hasta la próxima.
YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Sin más, os dejo los enlaces:
Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70