Ошибка «diskpart не является внутренней или внешней командой, исполняемой программой или пакетным файлом» означает, что командная строка не смогла найти исполняемый файл diskpart.exe по известным ей путям. Утилита входит в состав Windows и должна запускаться из любого окна терминала, поэтому подобное сообщение — признак того, что файл удалён, повреждён либо системная переменная PATH настроена некорректно.
Проблема встречается на Windows 7, 10 и 11 и не зависит от того, как открыта консоль — через cmd.exe или PowerShell. Ниже разберём, как проверить наличие файла, восстановить переменные окружения и чем заменить DiskPart, если восстановить его не удаётся.
Почему Windows не находит команду diskpart
Когда вы вводите команду, система ищет одноимённый исполняемый файл сначала в текущем каталоге, затем во всех папках, перечисленных в переменной окружения PATH. Если файл diskpart.exe отсутствует в системном каталоге C:\Windows\System32 либо этот каталог выпал из PATH, появляется знакомое сообщение об ошибке.
Типичные причины такого поведения:
- 🔍 Файл
diskpart.exeудалён из System32 вручную, «чистильщиком» системы или вредоносным ПО; - 🧩 Переменная PATH повреждена — например, после установки сторонних программ, перезаписавших её значение;
- 🛡️ Антивирус поместил файл в карантин, посчитав его подозрительным;
- 💾 Системные файлы повреждены из-за сбоя диска или некорректного завершения работы;
- ⌨️ Команда введена с опечаткой — например,
disk partс пробелом илиdiskpartt.
Прежде чем что-то восстанавливать, стоит исключить самое простое — опечатку. Команда пишется слитно, без пробелов: diskpart. Регистр букв значения не имеет.
Шаг 1. Проверка наличия файла diskpart.exe
Первая диагностическая проверка — убедиться, что сам файл на месте. Откройте командную строку и выполните:
dir C:\Windows\System32\diskpart.exe
Если файл существует, вы увидите строку с его размером и датой. В этом случае проблема почти наверняка в переменной PATH — переходите к следующему разделу. Если система отвечает «Файл не найден», значит, утилиту нужно восстанавливать.
Дополнительно можно проверить запуск по полному пути, минуя PATH:
C:\Windows\System32\diskpart.exe
Если по полному пути утилита запускается, а по короткой команде — нет, диагноз однозначен: каталог System32 отсутствует в переменной PATH, и именно его нужно вернуть.
Шаг 2. Восстановление переменной PATH
Значение PATH хранится в системных свойствах. Чтобы проверить и исправить его, потребуются права администратора:
- ⚙️ Нажмите
Win + R, введитеsysdm.cplи откройте вкладку «Дополнительно»; - 🌐 Нажмите кнопку «Переменные среды» и в разделе «Системные переменные» найдите Path;
- ➕ Убедитесь, что в списке присутствует запись
C:\Windows\System32. Если её нет — добавьте через кнопку «Создать»; - 🔄 Сохраните изменения и перезапустите командную строку — уже открытые окна консоли не подхватывают новые значения.
Текущее значение PATH в активной сессии можно посмотреть командой echo %PATH%. Если в выводе нет System32, но в системных переменных запись есть, перезагрузите компьютер — переменные окружения применяются при запуске процессов.
⚠️ Внимание: редактируя PATH, не удаляйте существующие записи. Случайное стирание чужих путей ломает работу других программ, которые прописали туда свои каталоги. Добавляйте только недостающую запись.
Шаг 3. Восстановление файла через SFC и DISM
Если diskpart.exe отсутствует или повреждён, штатные средства проверки целостности системы способны вернуть его из встроенного хранилища компонентов Windows. Запустите командную строку от имени администратора и выполните:
sfc /scannow
Проверка занимает несколько минут. По завершении утилита сообщит, были ли найдены и исправлены повреждения. Если SFC пишет, что восстановить файлы не удалось, используйте DISM — он подтянет исправные компоненты из центра обновлений:
DISM /Online /Cleanup-Image /RestoreHealth
После завершения DISM повторите sfc /scannow и перезагрузите компьютер. Затем снова проверьте запуск diskpart.
☑️ Порядок восстановления diskpart
⚠️ Внимание: не скачивайте diskpart.exe со сторонних сайтов «библиотек файлов». Версия утилиты должна соответствовать вашей сборке Windows, а файлы из непроверенных источников нередко содержат вредоносный код. Безопасный путь восстановления — только SFC, DISM или установочный образ вашей версии системы.
Шаг 4. Проверка карантина антивируса
Если SFC не находит нарушений, а файла в System32 по-прежнему нет, загляните в журнал и карантин установленного антивируса. Защитные решения иногда изолируют системные утилиты при ложных срабатываниях, особенно после обновления вирусных баз.
Найдя diskpart.exe в карантине, восстановите его и добавьте в исключения — точный путь к этим функциям зависит от вашего антивируса, сверьтесь с его справкой. Заодно имеет смысл проверить систему на вредоносное ПО: удаление системных утилит — характерный след активности некоторых зловредов.
Что делать, если SFC и DISM не помогли
Остаётся вариант восстановления из установочного образа Windows вашей версии: смонтируйте ISO, найдите файл diskpart.exe внутри образа (в install.wim или через средства развёртывания) и скопируйте его в C:\Windows\System32. Это более трудоёмкий путь, и если вы с ним не знакомы, безопаснее воспользоваться точкой восстановления системы на дату, когда команда работала.
Альтернативы DiskPart для работы с дисками
Пока утилита восстанавливается, большинство задач разметки можно решить другими штатными средствами. Вам не обязательно ждать окончания проверок, если нужно срочно создать раздел или отформатировать диск.
| Инструмент | Как открыть | Что умеет |
|---|---|---|
| Управление дисками | diskmgmt.msc | Создание, удаление, форматирование разделов, смена букв |
| PowerShell | Командлеты Get-Disk, New-Partition, Format-Volume | Полный набор операций с дисками из консоли |
| Параметры Windows | Система → Память → Диски и тома | Базовые операции с томами в Windows 10/11 |
| Установщик Windows | Загрузка с установочного носителя | Разметка диска при чистой установке |
Например, эквивалент связки list disk в PowerShell — команда Get-Disk, а форматирование раздела выполняется через Format-Volume с указанием буквы и файловой системы. Синтаксис отличается, но функционально эти инструменты покрывают типовые сценарии.
Когда стоит задуматься о состоянии системы в целом
Единичное исчезновение одной утилиты — тревожный, но локальный симптом. Если же команды пропадают одна за другой, а SFC регулярно находит повреждения, это указывает на более глубокие проблемы: сбои накопителя, ошибки файловой системы или некорректно работающее ПО для «оптимизации».
В такой ситуации полезно проверить SMART-статус диска и журнал событий Windows на предмет ошибок диска. При подтверждённых аппаратных проблемах первым делом скопируйте важные данные на другой носитель — восстановление утилит в этом случае уже не главный приоритет.
Частые вопросы
Можно ли запустить diskpart без прав администратора?
Сама утилита запускается, но практически все операции с дисками и разделами потребуют повышенных привилегий. Открывайте командную строку от имени администратора, чтобы избежать ошибок доступа внутри diskpart.
Ошибка появляется только в PowerShell, а в cmd всё работает. Почему?
Такое бывает, если изменены пользовательские переменные окружения, которые PowerShell подхватывает иначе, либо в профиле PowerShell задан скрипт, модифицирующий PATH. Проверьте вывод $env:Path в PowerShell и сравните с системным значением.
Diskpart запускается, но не видит флешку — это связано с той же ошибкой?
Нет, это другая проблема. Если утилита запускается, но list disk не показывает накопитель, проверяйте саму флешку, USB-порт и драйверы контроллера. Ошибка «не является командой» к видимости устройств отношения не имеет.
Поможет ли переустановка Windows?
Поможет, но это крайняя мера. Сначала стоит пройти весь путь: проверка PATH, SFC, DISM, точка восстановления. Переустановка оправдана, только если повреждения системы массовые и восстановить файлы штатными средствами не удаётся.
Есть ли diskpart в 32-разрядных и 64-разрядных Windows?
Да, утилита входит в обе разрядности Windows, начиная со старых версий. На 64-разрядной системе она находится в C:\Windows\System32, и именно этот путь должен присутствовать в PATH.