Necesito encontrar un método para determinar mediante programación qué unidad de disco de Windows está utilizando para arrancar. En otras palabras, necesito una forma de Windows para determinar qué unidad utiliza el BIOS para arrancar todo el sistema.Cómo saber qué disco Windows solía arrancar
¿Windows expone una interfaz para descubrir esto? Con lo grande que es la API de Windows, espero que haya algo enterrado allí que pueda hacer el truco.
Terry
p.s. Solo leer los primeros sectores del disco duro no revela nada. En mi caja de desarrollo tengo dos discos duros, y cuando miro el contenido de los primeros sectores en cualquiera de los discos duros, tengo una placa de caldera estándar MBR.
Edite para aclarar algunas cosas. La forma en que quiero identificar el dispositivo es con una cadena que identificará una unidad de disco físico (a diferencia de una unidad de disco lógica). Las unidades de disco físicas tienen la forma "\\. \ PHYSICALDRIVEx" donde x es un número. Por otro lado, una unidad lógica se identifica con una cadena de la forma "\\. \ X" donde x es una letra de unidad.
Edite para analizar algunas de las ideas que se descartaron. Saber qué volumen lógico usó Windows para arrancar no me sirve aquí. Esta es la razón. Supongamos que C: está utilizando una configuración RAID duplicada. Ahora, eso significa que tenemos al menos dos discos físicos. Ahora, obtengo la asignación de Logical Drive a Physical Drive y descubro que hay dos unidades físicas utilizadas por ese volumen. ¿Cuál usó Windows para arrancar? Por supuesto, esto supone que la unidad física que Windows usó para arrancar es la misma unidad física que contiene el MBR.
En la línea de comandos, es decir, ejecutar, cmd enter, escriba systeminfo return. Dale un minuto para compilar la lista y la respuesta con mucho más detalle. –