Вопрос или проблема
Мне не нравится, что буквы дисков Windows меняются для USB-дисков.
Как я могу сослаться на диск в diskpart по идентификатору аппаратного хеша?
Относительная нумерация сложна для скриптов, особенно если у меня есть диски одинакового размера:
DISKPART> list disk
Диск ### Статус Размер Свободно Динамический GPT
-------- ------------- ------- ------- --- ---
Диск 0 В сети 476 ГБ 0 Б *
Диск 1 В сети 232 ГБ 0 Б
Мне нужно что-то вроде
DISKPART> SELECT DISK=023BC789
DISKPART> SELECT DISK=\\?\Volume{023bc789-0000-0000-0000-100000000000}
конечно, ни один из этих вариантов не работает.
Указанный вами диск недействителен.
Diskpart очень хорошо документирован. Команда select disk (здесь документировано
принимает 4 параметра
select disk={<n>|<disk path>|system|next}
<disk path> Указывает местоположение диска, которому нужно уделить внимание, например, PCIROOT(0)#PCI(0F02)#atA(C00T00L00). Чтобы просмотреть путь расположения диска, выберите его, а затем введите detail disk.
Я не знаю, является ли этот путь достаточно стабильным для ваших нужд.
Ответ или решение
Вопрос о том, как выбрать диск в Diskpart по уникальному идентификатору или постоянному хешу, действительно актуален, особенно когда речь идет о работе с USB-накопителями, которые могут менять свои обозначения при подключении.
Решение проблемы
Для выбора диска в Diskpart с использованием уникального идентификатора необходимо воспользоваться параметром, который указывает на путь к диску. Параметр выбора диска принимает следующие значения:
select disk={<n>|<disk path>|system|next}
Из этого списка вас интересует именно <disk path>
, так как он позволяет указать конкретный путь к диску. Для нахождения этого пути выполните следующие действия:
- Откройте командную строку с правами администратора.
- Запустите Diskpart, введя команду
diskpart
. - Введите команду
list disk
, чтобы увидеть список подключенных дисков. - Выберите диск, который вызывает у вас интерес, командой
select disk <номер диска>
. Например,select disk 1
. - Введите команду
detail disk
, чтобы получить подробную информацию о диске, которая включает в себя его уникальный путь.
Пример вывода может выглядеть следующим образом:
Disk ID: 02455DB1
Type : Removable
...
Location Path: PCIROOT(0)#PCI(0F00)#USBSTOR#Disk&Ven_USB&Prod_Flash_Disk&Rev_1.00#123456789ABCD
Как использовать путь для выбора диска
После того как вы получили путь к диску, вы можете использовать его для выбора диска в Diskpart. Например:
select disk=PCIROOT(0)#PCI(0F00)#USBSTOR#Disk&Ven_USB&Prod_Flash_Disk&Rev_1.00#123456789ABCD
Обратите внимание
Путь может зависеть от текущего аппаратного обеспечения и подключаемых устройств. Если вы используете скрипты, которые автоматизируют выбор диска, убедитесь, что этот путь остается стабильным. Однако на практике это может изменяться при переподключении устройства или на других системах.
Если уникальные идентификаторы дисков будут изменяться, рассмотрите возможность использования дополнительных инструментов или сценариев PowerShell для получения идентификаторов, которые неизменны и не зависят от конкретных подключений.
Заключение
Использование Diskpart с указанием пути к диску является самым надежным способом выбора дисков. Однако важно проверять, остаются ли эти пути стабильными для ваших нужд. obsudite иногда обновления драйвера и изменения в конфигурации оборудования, которые могут повлиять на уникальные идентификаторы устройств.