Como determinar o disco e o número da partição de D: \ no Windows XP?

0

Como obter a relação entre (hd0,6) e D:\ sem adivinhar?

    
por Hello71 05.07.2010 / 07:16

3 respostas

1

Em um prompt de comando:

diskpart

list disk

select disk x

list partition

em que x é o número do disco que você deseja selecionar.

    
por 06.07.2010 / 03:45
0

Você pode obter o número do dispositivo e o número da partição usando IOCTL_STORAGE_GET_DEVICE_NUMBER:

HANDLE h = ::CreateFile(L"\\.\d:", 0, 0, NULL, OPEN_EXISTING, 0, NULL);

STORAGE_DEVICE_NUMBER info = {};
DWORD bytesReturned =  0;

::DeviceIoControl(h, IOCTL_STORAGE_GET_DEVICE_NUMBER, NULL, 0, &info, sizeof(info), &bytesReturned, NULL);

Mas lembre-se de que o volume lógico pode estar em vários discos físicos.

    
por 05.07.2010 / 08:04
0

Eu só tive que consertar um boot.ini quando ele não conseguiu inicializar a instalação do WinXP - depois de criar novas partições primárias em sua unidade.

Acontece que o WinXP estava localizado em um volume lógico, e o carregador do NT primeiro atribui um número para partições primárias e depois para volumes lógicos (indiscutivelmente por ordem de setor em ambos os casos), criando novas partições primárias (mesmo no final de o disco) O número de partição do WinXP mudou.

Quanto ao número do disco, eu realmente não sei, mas espero que seja ainda mais obscuro. Eu pareço lembrar que os controladores SATA são numerados antes dos PATAs, eu imagino por ordem de conexão (e status de mestre para unidades PATA), mas não me cite sobre isso.

    
por 30.10.2012 / 05:54