Device harddiskvolume3 windows system32 svchost exe systemeventsbroker

Одна из ситуаций, с который может столкнуться пользователь Windows 10 — компьютер или ноутбук сам включается или просыпается из режима сна, причем это может происходить не в самое подходящее время: например, если ноутбук включается ночью и не будучи подключенным к сети.

Возможны два основных возможных сценария происходящего

  • Компьютер или ноутбук включается сразу после выключения, этот случай подробно описан в инструкциях Не выключается Windows 10 (обычно дело в драйверах чипсета и проблема решается либо их установкой, либо отключением быстрого запуска Windows 10) и Windows 10 перезагружается при выключении.
  • Windows 10 сама включается в произвольное время, например, ночью: обычно это происходит, если вы не используете «Завершение работы», а просто закрываете ноутбук, или же ваш компьютер настроен таким образом, чтобы через определенное время простоя засыпать, хотя может случаться и после завершения работы.

В этой инструкции будет рассмотрен второй вариант: произвольное включение компьютера или ноутбука с Windows 10 или выход из режима сна без действий с вашей стороны.

Как узнать, почему Windows 10 просыпается (выходит из режима сна)

Для того, чтобы узнать, по какой причине компьютер или ноутбук выходит из режима сна, пригодится Просмотр событий Windows 10. Для того, чтобы открыть его, в поиске на панели задач начните набирать «Просмотр событий», а потом запустите найденный элемент из результатов поиска.

В открывшемся окне в панели слева выберите «Журналы Windows» — «Система», а затем в правой панели нажмите по кнопке «Фильтр текущего журнала».

В настройках фильтра в разделе «Источники событий» укажите «Power-Troubleshooter» и примените фильтр — в окне просмотра событий останутся лишь те элементы, которые нам интересны в контексте самопроизвольного включения системы.

Фильтр по событиям электропитания в просмотре событий

Информация о каждом из таких событий будет, помимо прочего, включать поле «Источник выхода», указывающее на причину того, что компьютер или ноутбук проснулся.

События Power-Troubleshooter в Windows 10

Возможные варианты источников выхода:

  • Кнопка питания — когда вы сами включаете компьютер соответствующей кнопкой.
  • Устройства ввода HID (может обозначаться иначе, обычно содержит аббревиатуру HID) — сообщает о том, что система вышла из режима сна после действий с тем или иным устройством ввода (нажали на клавишу, подвинули мышь).
  • Сетевой адаптер — говорит о том, что ваша сетевая карта настроена таким образом, чтобы могла инициировать пробуждение компьютера или ноутбука при входящих соединениях.
  • Таймер — говорит о том, что запланированная задача (в планировщике заданий) вывела Windows 10 из сна, например, для автоматического обслуживания системы или загрузки и установки обновлений.
  • Крышка ноутбука (ее открытие) может обозначаться по-разному. На моем тестовом ноутбуке — «Устройство USB Root Hub».
  • Нет данных — тут информации, кроме времени выхода из сна, не найти, причем такие пункты встречаются в событиях почти на всех ноутбуках (т.е. это штатная ситуация) и обычно последующие описываемые действия успешно прекращают автоматический выход из сна, несмотря на наличие событий с отсутствующей информацией об источнике выхода.

Обычно, причинами того, что компьютер сам включается неожиданно для пользователя, являются такие факторы, как способность периферийных устройств выводить его из режима сна, а также автоматическое обслуживание Windows 10 и работа с обновлениями системы.

Как отключить автоматический выход из режима сна

Как уже было отмечено, влиять на то, что Windows 10 включается сама по себе, могут устройства компьютера, включая сетевые карты, и таймеры, заданные в планировщике заданий (причем некоторые из них создаются в процессе работы — например, после автоматической загрузки очередных обновлений). Отдельно включать ваш ноутбук или компьютер может и автоматическое обслуживание системы. Разберем отключение данной возможности для каждого из пунктов.

Запрет устройствам будить компьютер

Для того, чтобы получить список устройств из-за которых просыпается Windows 10, вы можете следующим образом:

  1. Запустите командную строку от имени администратора (сделать это можно из меню правого клика по кнопке «Пуск»).
  2. Введите команду powercfg -devicequery wake_armed 

Вы увидите список устройств в том виде, в котором они обозначены в диспетчере устройств.

Чтобы отключить их возможность будить систему, зайдите в диспетчер устройств, найдите нужное устройство, кликните по нему правой кнопкой мыши и выберите пункт «Свойства».

Просмотр свойств устройства в Windows 10

На вкладке «Электропитание» отключите пункт «Разрешить этому устройству выводить компьютер из ждущего режима» и примените настройки.

Отключение возможности включить компьютер для устройства

Затем повторите то же самое для остальных устройств (однако, возможно, вы не захотите отключать возможность включать компьютер нажатием клавиш на клавиатуре).

Как отключить таймеры пробуждения

Чтобы посмотреть, активны ли в системе какие-либо таймеры пробуждения, вы можете запустить командную строку от имени администратора и использовать команду:

powercfg -waketimers

В результате ее выполнения будет отображен список заданий в планировщике заданий, которые могут включить компьютер при необходимости. Есть и другие способы, подробнее: Как посмотреть таймеры пробуждения Windows 10 и Windows 11 и отключить их при необходимости.

Просмотр таймеров пробуждения в Windows 10

Есть две возможности отключения таймеров пробуждения — отключить их только для конкретного задания или же полностью для всех текущих и последующих заданий.

Для того, чтобы отключить возможность выхода из режима сна при выполнении конкретной задачи:

  1. Откройте планировщик заданий Windows 10 (можно найти через поиск в панели задач).
  2. Найдите указанную в отчете powercfg задачу (путь к ней там также указывается, NT TASK в пути соответствует разделу «Библиотека планировщика заданий»).
  3. Зайдите в свойства этого задания и на вкладке «Условия» снимите отметку «Пробуждать компьютер для выполнения задачи», после чего сохраните изменения. 
    Пробуждение компьютера в свойствах задания

Обратите внимание на второе задание с именем Reboot в отчете powercfg на скриншоте — это автоматически создаваемое Windows 10 задание после получения очередных обновлений. Ручное отключение выхода из режима сна, как это было описано, для него может не сработать, но способы есть, см. Как отключить автоматическую перезагрузку Windows 10.

Дополнительная информация: получить список всех заданий планировщика, которые могут пробуждать компьютер можно с помощью команды PowerShell:

Get-ScheduledTask | where {$_.settings.waketorun}

Если требуется полностью отключить таймеры пробуждения, то сделать это можно с помощью следующих шагов:

  1. Зайдите в Панель управления — Электропитание и откройте настройки текущей схемы электропитания.
  2. Нажмите «Изменить дополнительные параметры питания». 
    Дополнительные настройки схемы электропитания

  3. В разделе «Сон» отключите таймеры пробуждения и примените сделанные настройки. 
    Отключение таймеров пробуждения в настройках электропитания

После этого задания из планировщика не смогут выводить систему из сна.

Отключение выхода из сна для автоматического обслуживания Windows 10

По умолчанию Windows 10 ежедневно проводит автоматическое обслуживание системы, причем может для этого включать её. Если ваш компьютер или ноутбук просыпается ночью, скорее всего, дело именно в этом.

Чтобы запретить вывод из сна в этом случае:

  1. Зайдите в панель управления, и откройте пункт «Центр безопасности и обслуживания».
  2. Раскройте пункт «Обслуживание» и нажмите «Изменить параметры обслуживания». 
    Настройки автоматического обслуживания Windows 10

  3. Снимите отметку «Разрешать задаче обслуживания пробуждать мой компьютер в запланированное время» и примените настройки. 
    Отключить пробуждение Windows 10 для обслуживания

Возможно, вместо отключения пробуждения для автоматического обслуживания, разумнее будет изменить время запуска задачи (что можно сделать в том же окне), поскольку сама функция полезна и включает в себя автоматическую дефрагментацию (для HDD, на SSD не выполняется), проверку на вредоносное ПО, обновления и другие задачи.

Дополнительно: в некоторых случаях в решении проблемы может помочь отключение «быстрого запуска». Подробнее об этом в отдельной инструкции Быстрый запуск Windows 10.

Надеюсь, среди перечисленных в статье пунктов нашелся тот, который подошел именно в вашей ситуации, если же нет — поделитесь в комментариях, возможно, удастся помочь.

Как перейти от Waterfall к Agile

EggHead 06.05.2025

Каскадная модель разработки Waterfall — классический пример того, как благие намерения превращаются в организационный кошмар. Изначально созданная для упорядочивания хаоса и внесения предсказуемости. . .

Оптимизация SQL запросов — Продвинутые техники

Codd 06.05.2025

Интересно наблюдать эволюцию подходов к оптимизации. Двадцать лет назад всё сводилось к нескольким простым правилам: «Избегайте SELECT *», «Используйте индексы», «Не джойните слишком много таблиц». . . .

Создание микросервисов с gRPC и Protobuf в C++

bytestream 06.05.2025

Монолитные приложения, которые ещё недавно считались стандартом индустрии, уступают место микросервисной архитектуре — подходу, при котором система разбивается на небольшие автономные сервисы, каждый. . .

Многопоточность и параллелизм в Python: потоки, процессы и гринлеты

py-thonny 06.05.2025

Параллелизм и конкурентность — две стороны многопоточной медали, которые постоянно путают даже бывалые разработчики.

Конкурентность (concurrency) — это когда ваша программа умеет жонглировать. . .

Распределенное обучение с TensorFlow и Python

AI_Generated 05.05.2025

В машинном обучении размер имеет значение. С ростом сложности моделей и объема данных одиночный процессор или даже мощная видеокарта уже не справляются с задачей обучения за разумное время. Когда. . .

CRUD API на C# и GraphQL

stackOverflow 05.05.2025

В бэкенд-разработке постоянно возникают новые технологии, призванные решить актуальные проблемы и упростить жизнь программистам. Одной из таких технологий стал GraphQL — язык запросов для API,. . .

Распознавание голоса и речи на C#

UnmanagedCoder 05.05.2025

Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .

Реализация своих итераторов в C++

NullReferenced 05.05.2025

Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .

Разработка собственного фреймворка для тестирования в C#

UnmanagedCoder 04.05.2025

C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .

Распределенная трассировка в Java с помощью OpenTelemetry

Javaican 04.05.2025

Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных. . .

I have a relatively new desktop running Windows 10. Recently it started waking from hibernation (I haven’t tested it with sleep mode, but I assume it would do the same) every 5 minutes from approximately midnight until approximately 2:00 AM. When I say every 5 minutes I mean exactly every 5 minutes. The computer turns on, runs its fans at full for a couple of seconds to make sure I’m awake, then goes back into hibernation after about two to three minutes, only to do it again after 5 minutes has elapsed from the last time it woke. The only way I can stop it and get some sleep is to literally unplug it from the wall (or shut it down.) I found log files which show it doing 2 things in pairs. One on the minute, and the next thing about 30 seconds later. I’ve copied 2 pairs of these events, but it continued until 1:57:32 AM then stopped. That’s turning on and off 24 times in 2 hours, which can’t be good for the machine, or for my sleep. It does this every night. How do I stop it? I would like it to NEVER come out of hibernation, or sleep mode, without the power button being pushed.

_____

Log Name: Application

Source: Microsoft-Windows-Security-SPP

Date: 10/4/2020 12:02:00 AM

Event ID: 16394

Task Category: None

Level: Information

Keywords: Classic

User: N/A

Computer: DESKTOP-8GA7KAD

Description:

Offline downlevel migration succeeded.

Event Xml:

<Event xmlns=»Link Removed«>

<System>

<Provider Name=»Microsoft-Windows-Security-SPP» Guid=»{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}» EventSourceName=»Software Protection Platform Service» />

<EventID Qualifiers=»49152″>16394</EventID>

<Version>0</Version>

<Level>4</Level>

<Task>0</Task>

<Opcode>0</Opcode>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime=»2020-10-04T07:02:00.713084700Z» />

<EventRecordID>21353</EventRecordID>

<Correlation />

<Execution ProcessID=»0″ ThreadID=»0″ />

<Channel>Application</Channel>

<Computer>DESKTOP-8GA7KAD</Computer>

<Security />

</System>

<EventData>

</EventData>

</Event>

__________

Log Name: Application

Source: Microsoft-Windows-Security-SPP

Date: 10/4/2020 12:02:32 AM

Event ID: 16384

Task Category: None

Level: Information

Keywords: Classic

User: N/A

Computer: DESKTOP-8GA7KAD

Description:

Successfully scheduled Software Protection service for re-start at 2120-09-10T07:02:32Z. Reason: RulesEngine.

Event Xml:

<Event xmlns=»Link Removed«>

<System>

<Provider Name=»Microsoft-Windows-Security-SPP» Guid=»{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}» EventSourceName=»Software Protection Platform Service» />

<EventID Qualifiers=»16384″>16384</EventID>

<Version>0</Version>

<Level>4</Level>

<Task>0</Task>

<Opcode>0</Opcode>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime=»2020-10-04T07:02:32.499560500Z» />

<EventRecordID>21354</EventRecordID>

<Correlation />

<Execution ProcessID=»0″ ThreadID=»0″ />

<Channel>Application</Channel>

<Computer>DESKTOP-8GA7KAD</Computer>

<Security />

</System>

<EventData>

<Data>2120-09-10T07:02:32Z</Data>

<Data>RulesEngine</Data>

</EventData>

</Event>

__________

Log Name: Application

Source: Microsoft-Windows-Security-SPP

Date: 10/4/2020 12:07:00 AM

Event ID: 16394

Task Category: None

Level: Information

Keywords: Classic

User: N/A

Computer: DESKTOP-8GA7KAD

Description:

Offline downlevel migration succeeded.

Event Xml:

<Event xmlns=»Link Removed«>

<System>

<Provider Name=»Microsoft-Windows-Security-SPP» Guid=»{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}» EventSourceName=»Software Protection Platform Service» />

<EventID Qualifiers=»49152″>16394</EventID>

<Version>0</Version>

<Level>4</Level>

<Task>0</Task>

<Opcode>0</Opcode>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime=»2020-10-04T07:07:00.707717200Z» />

<EventRecordID>21355</EventRecordID>

<Correlation />

<Execution ProcessID=»0″ ThreadID=»0″ />

<Channel>Application</Channel>

<Computer>DESKTOP-8GA7KAD</Computer>

<Security />

</System>

<EventData>

</EventData>

</Event>

__________

Log Name: Application

Source: Microsoft-Windows-Security-SPP

Date: 10/4/2020 12:07:32 AM

Event ID: 16384

Task Category: None

Level: Information

Keywords: Classic

User: N/A

Computer: DESKTOP-8GA7KAD

Description:

Successfully scheduled Software Protection service for re-start at 2120-09-10T07:07:32Z. Reason: RulesEngine.

Event Xml:

<Event xmlns=»Link Removed«>

<System>

<Provider Name=»Microsoft-Windows-Security-SPP» Guid=»{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}» EventSourceName=»Software Protection Platform Service» />

<EventID Qualifiers=»16384″>16384</EventID>

<Version>0</Version>

<Level>4</Level>

<Task>0</Task>

<Opcode>0</Opcode>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime=»2020-10-04T07:07:32.499909900Z» />

<EventRecordID>21356</EventRecordID>

<Correlation />

<Execution ProcessID=»0″ ThreadID=»0″ />

<Channel>Application</Channel>

<Computer>DESKTOP-8GA7KAD</Computer>

<Security />

</System>

<EventData>

<Data>2120-09-10T07:07:32Z</Data>

<Data>RulesEngine</Data>

</EventData>

</Event>

__________

When using Windows, you might run into messages that talk about specific hard disk volumes like \Device\HarddiskVolume3. At first, these messages might seem a bit tricky to get, but actually, they’re pretty straightforward once you know what to do.

In this guide, we’ll break down what these hard disk volume references mean and show you how to figure out which drive they’re talking about in Windows 11 or Windows 10. We’ll go step by step so you can find the specific device or volume path you need to sort out any issues with file access events.

How to find device harddiskvolume Windows 11/10

Understanding hard disk volume references

Before we get into finding hard disk volume references in Windows, let’s first get what they are and why we use them.

Also see: How to hide a drive in Windows 11

In Windows, hard disk volumes help organize data on physical hard drives. Each volume gets a unique reference, like:

  • \Device\HarddiskVolume3
  • \Device\HarddiskVolume4
  • \Device\HarddiskVolume5
  • \Device\HarddiskVolume1
  • \Device\HarddiskVolume2
  • \Device\HarddiskVolume6

This reference is how Windows identifies and accesses the volume’s contents.

Device harddiskvolume4 Windows 11

When fixing issues in Windows, you might see error messages pointing to a certain hard disk volume. Like, you could get a message saying:

\Device\HarddiskVolume3\Windows\System32\svchost.exe is missing or corrupted

This means Windows can’t find the svchost.exe file on the third hard disk volume, and you’ll need to find that volume and the file to fix the problem.

Related issue: Service Host Local System (svchost.exe) high CPU, disk, or memory usage

How to tell which drive is \Device\HarddiskVolume3 or other volumes?

Now that we know what hard disk volume references are, let’s see how to find the hard disk volume number and figure out which drive it’s pointing to in Windows 11/10.

Method 1: Listing all drive letters and hard disk volume numbers using PowerShell

This method gives you a full list of all device names and their matching volume paths on your computer. It uses PowerShell to check the Windows Management Instrumentation (WMI) class Win32_Volume for the drive letter and then gets the device path through the QueryDosDevice function from the Kernel32 module.

To list all the drive letters and their matching hard disk volume numbers on your Windows system, do this:

  1. Open Notepad and paste the following PowerShell script.
    $DynAssembly = New-Object System.Reflection.AssemblyName('SysUtils')
    $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly($DynAssembly, [Reflection.Emit.AssemblyBuilderAccess]::Run)
    $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('SysUtils', $False)
     
    $TypeBuilder = $ModuleBuilder.DefineType('Kernel32', 'Public, Class')
    $PInvokeMethod = $TypeBuilder.DefinePInvokeMethod('QueryDosDevice', 'kernel32.dll', ([Reflection.MethodAttributes]::Public -bor [Reflection.MethodAttributes]::Static), [Reflection.CallingConventions]::Standard, [UInt32], [Type[]]@([String], [Text.StringBuilder], [UInt32]), [Runtime.InteropServices.CallingConvention]::Winapi, [Runtime.InteropServices.CharSet]::Auto)
    $DllImportConstructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor(@([String]))
    $SetLastError = [Runtime.InteropServices.DllImportAttribute].GetField('SetLastError')
    $SetLastErrorCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($DllImportConstructor, @('kernel32.dll'), [Reflection.FieldInfo[]]@($SetLastError), @($true))
    $PInvokeMethod.SetCustomAttribute($SetLastErrorCustomAttribute)
    $Kernel32 = $TypeBuilder.CreateType()
     
    $Max = 65536
    $StringBuilder = New-Object System.Text.StringBuilder($Max)
     
    Get-WmiObject Win32_Volume | ? { $_.DriveLetter } | % {
    	$ReturnLength = $Kernel32::QueryDosDevice($_.DriveLetter, $StringBuilder, $Max)
    	
    	if ($ReturnLength)
    	{
    		$DriveMapping = @{
    			DriveLetter = $_.DriveLetter
    			DevicePath = $StringBuilder.ToString()
    		}
    		
    		New-Object PSObject -Property $DriveMapping
    	}
    }
    

    How to tell which drive is Device Hard disk Volume 3 4 5

  2. Save the Notepad file as a .ps1 file, like List-drives-and-hard-disk-volumes.ps1.
    List all drive letters and hard disk volume numbers in Windows 11

  3. Run the List-drives-and-hard-disk-volumes.ps1 script in PowerShell to see all the drive letters and their hard disk volume paths on your Windows 11 or Windows 10 system.
    How to find device harddiskvolume Windows 11/10

Recommended resource: Run CMD, PowerShell, or Regedit as SYSTEM in Windows 11

To run the List-drives-and-hard-disk-volumes.ps1 script in PowerShell, just follow these steps:

  1. Open PowerShell as an admin by right-clicking the Start button, picking “Windows PowerShell (Admin)” or “Windows Terminal (Admin)” if you’re using Windows Terminal, and saying “Yes” to the User Account Control (UAC) prompt.
    Windows 11 PowerShell Run as administrator

  2. If needed, change the execution policy by typing
    Set-ExecutionPolicy RemoteSigned

    and hitting Enter. Say Y to confirm. This lets you run scripts you’ve made or downloaded as long as they’re signed by someone trustworthy.

  3. Go to where you saved the script using the cd command. For example, if it’s on the Desktop, type
    cd C:\Users\username\Desktop

    and press Enter. Swap in your actual Windows username.

  4. To run the script, type
    .\List-drives-and-hard-disk-volumes.ps1

    and hit Enter. You’ll see the device names and their paths for all drives on your computer.

    Find Device HarddiskVolume5 Windows 11 or 10

  5. It’s a good idea to set the execution policy back to its default after running the script by typing
    Set-ExecutionPolicy Restricted

    Set Execution Policy back to Default Restricted

You need admin rights to run the script since it touches on system info.

Useful tip: How to merge two drives in Windows 11

Here’s a deeper look at what the script does:

  1. It makes a dynamic assembly named ‘SysUtils’ and sets up a method to call the QueryDosDevice function from the Kernel32 module.
  2. The StringBuilder object’s max length is set to 65536 to hold the device path info.
  3. Then it uses Get-WmiObject to ask the Win32_Volume class for drive letter details, only keeping results that have a drive letter.
  4. For each drive letter, it calls the QueryDosDevice function with the drive letter as input. The function returns the device path string’s length, which is then put into an object that has both the drive letter and device path.
  5. Last, it shows the device letter and path for each drive.

Similar problem: Hard drive doesn’t show up after clone in Windows 11

Method 2: Getting the hard disk volume number from a specific drive letter using PowerShell

This method lets you find the device path for a specific drive letter using a similar approach as Method 1. But instead of listing all device names and their paths, it asks you for a drive letter and gives back its device path.

To see the device path for a specific drive letter, use this PowerShell script:

  1. Open Notepad and paste in the PowerShell script below.
    $driveLetter = Read-Host "Enter Drive Letter:"
    Write-Host " "
    $DynAssembly = New-Object System.Reflection.AssemblyName('SysUtils')
    $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly($DynAssembly, [Reflection.Emit.AssemblyBuilderAccess]::Run)
    $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('SysUtils', $False)
     
    $TypeBuilder = $ModuleBuilder.DefineType('Kernel32', 'Public, Class')
    $PInvokeMethod = $TypeBuilder.DefinePInvokeMethod('QueryDosDevice', 'kernel32.dll', ([Reflection.MethodAttributes]::Public -bor [Reflection.MethodAttributes]::Static), [Reflection.CallingConventions]::Standard, [UInt32], [Type[]]@([String], [Text.StringBuilder], [UInt32]), [Runtime.InteropServices.CallingConvention]::Winapi, [Runtime.InteropServices.CharSet]::Auto)
    $DllImportConstructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor(@([String]))
    $SetLastError = [Runtime.InteropServices.DllImportAttribute].GetField('SetLastError')
    $SetLastErrorCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($DllImportConstructor, @('kernel32.dll'), [Reflection.FieldInfo[]]@($SetLastError), @($true))
    $PInvokeMethod.SetCustomAttribute($SetLastErrorCustomAttribute)
    $Kernel32 = $TypeBuilder.CreateType()
     
    $Max = 65536
    $StringBuilder = New-Object System.Text.StringBuilder($Max)
    $ReturnLength = $Kernel32::QueryDosDevice($driveLetter, $StringBuilder, $Max)
     
     if ($ReturnLength)
     {
         Write-Host "Device Path: "$StringBuilder.ToString()
      }
      else
      {
          Write-Host "Device Path: not found"
      }
    Write-Host " "
    

    PowerShell script to find Device Hard Disk Volume number

  2. Save it as a .ps1 file, like Get-device-path-from-drive-letter.ps1.
    Get hard disk volume number from drive letter Windows 11

  3. Run the Get-device-path-from-drive-letter.ps1 script in PowerShell. When asked, type the drive letter you want the device path for.
    Device HarddiskVolume2 in Windows 11

For how to run the .ps1 PowerShell script you’ve made, just follow the steps in the method above.

Here’s what the script does:

  1. Like Method 1, it creates ‘SysUtils’ and sets up a way to use the QueryDosDevice function from the Kernel32 module.
  2. It asks for a drive letter with the Read-Host command. Remember to enter it without the backslash (like “C:”, not “C:\”).
  3. The StringBuilder object’s max length is set to 65536, so it can hold the device path info.
  4. Then it calls QueryDosDevice with the input drive letter. If it works, it returns the length of the device path string.
  5. If QueryDosDevice works out, the script shows the device path for the drive letter. If not, it says the device path wasn’t found.

One final note

One more thing to remind you is that although these methods do help you track down disk volume paths and drive letters, you have to know that the volume numbers can sometimes change. For instance, plugging in a new hard disk drive or SSD, creating a new partition, etc. can sometimes shuffle the numbers. When things don’t go as planned, double-check the volume paths and drive letters again to make sure you are working with the correct volume.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Постоянно отключается клавиатура usb windows 10
  • Разгон процессора через windows
  • Как выбрать основной монитор из двух windows 10
  • Разрешение обмена данными с приложениями в брандмауэре защитника windows
  • Usbxpress host sdk for windows