Как исправить ERROR_SAME_DRIVE 143 (0x8F) в Windows
Что означает ошибка
ERROR_SAME_DRIVE 143 (0x8F) — система не может присоединить или подставить диск к каталогу на том же самом носителе. Проще: Windows запрещает привязывать букву диска к папке, которая находится на том же диске, чтобы избежать конфликтов с файловой системой.
Определение в одну строку: SUBST создаёт виртуальную букву диска для указанной папки; ERROR_SAME_DRIVE появляется, если цель и назначаемая буква относятся к одному и тому же физическому или логическому диску.
Быстрая проверка перед исправлением
- Откройте командную строку от имени администратора.
- Выполните команду для просмотра подстановок и точек монтирования.
subst
mountvol- Убедитесь, что буква, которую хотите назначить, не указывает на папку на том же диске.
1. Используйте другую букву диска
Если вы пытались выполнить подстановку типа F: -> C:\MyFolder и папка уже расположена на диске C:, выберите свободную букву, относящуюся к другому накопителю.
Пример проверки и назначение:
subst F: C:\MyFolderЕсли команда возвращает ERROR_SAME_DRIVE, попробуйте букву, которая связана с отдельным физическим томом, например Z: или букву диска, соответствующую другому устройству.
Важно: перед изменением проверьте, не занята ли буква системой или сетевыми подключениями.
2. Переместите каталог на другой диск
Если у вас есть второй диск или раздел, переместите папку туда, чтобы подстановка стала допустимой.
Пример перемещения и повторного создания подстановки:
move C:\MyFolder F:\
subst Z: F:\MyFolderПосле выполнения C:\MyFolder больше не существует, а новая подстановка указывает на F:\MyFolder.
Примечание: при перемещении больших объёмов данных учтите время копирования и права доступа. Если перемещаемые приложения используют жёстко заданные пути, проверьте их настройки.
3. Проверьте опечатки и избегайте циклических ссылок
Частая причина ошибок — опечатка в пути или букве диска. Ещё одна — циклическая ссылка, когда внутри папки, которую вы подставляете, есть ссылка на ту же букву. Это вызывает бесконечные обходы и ошибки.
Проверка содержимого перед подстановкой:
dir C:\MyFolderИщите ярлыки, символические ссылки и файлы с путями, содержащими букву, которую собираетесь назначить.
4. Удалите существующую подстановку и повторите
Если буква уже используется для другой подстановки, удалите её, затем назначьте заново.
Удаление подстановки:
subst Z: /DЕсли удаление прошло успешно, можно создать новую подстановку на нужный путь.
Альтернативные подходы
- Точки монтирования в Диспетчере дисков: вместо SUBST используйте управление дисками для монтирования тома в пустую папку на NTFS. Это работает для разных физических томов и позволяет избежать конфликта.
- Символические ссылки и жесткие ссылки: mklink /J или mklink /D создают ссылку на папку, но поведение отличается от SUBST и может подойти в некоторых сценариях.
- mountvol для управления монтированными томами и идентификаторами томов.
Примеры команд:
mklink /J C:\LinkToFolder F:\RealFolder
mountvol X: /SКогда это не поможет — типичные исключения
- Целевая папка уже является точкой монтирования для другого тома.
- Вы пытаетесь подставить буквy, которая назначена для сетевого диска с политиками домена.
- Проблемы привилегий: даже при запуске от администратора могут быть ограничены системные политики или антивирус.
- Файловая система нестандартная или используется RAID, логические тома и тп.
В этих случаях лучше использовать точки монтирования или изменить архитектуру хранилища.
Мини-методология: шаги для безопасного исправления
- Снять снимок состояния: запишите текущие подстановки командой subst.
- Проверить, свободна ли буква диска с помощью subst и mountvol.
- Если буква занята, удалить её через subst X: /D.
- Если папка на том же диске, решить — сменить букву или переместить папку.
- Проверить ссылки внутри папки на циклы.
- Протестировать доступ к новой подстановке и восстановить при необходимости.
Чек-лист по ролям
Администратор:
- Проверить текущие подстановки subst
- Удостовериться, что у вас есть резервные копии
- Выполнить перемещение и переустановку
Power user:
- Проверить наличие циклических ссылок внутри папки
- Попробовать альтернативы mklink или mountvol
Разработчик приложения:
- Убедиться, что приложение поддерживает относительные пути
- Обновить конфигурацию, если пути жёстко прописаны
Сравнение подходов — кратко
- SUBST: простая виртуальная буква, не для критичных сценариев и совместима с теми же дисками.
- Точка монтирования (mount point): надёжнее для физических томов, поддерживает перезагрузки и управление через Диспетчер дисков.
- Символические ссылки: гибкие, но их видимость зависит от приложения и прав.
Снижение рисков и безопасность
- Всегда выполняйте операции от имени администратора и после создания резервной копии.
- Проверьте политики групповой политики в доменной среде при проблемах с сетевыми буквами.
- При использовании mklink учтите, что некоторые антивирусы реагируют на массовые операции с файлами.
Примеры тестов и критерии приёмки
- Тест: создать подстановку Z: для папки на другом физическом диске. Ожидание: Z: доступна и открывается.
- Тест: попытка subst Z: C:\MyFolder где C:\MyFolder находится на C:. Ожидание: система возвращает ERROR_SAME_DRIVE.
- Тест: переместить папку на F: и сделать subst Z: F:\MyFolder. Ожидание: Z: корректно отображает содержимое.
Критерии приёмки: подстановка создаётся без ошибок, доступ к файлам корректный, нет циклических ссылок.
Диаграмма принятия решения
flowchart TD
A[Начало] --> B{Папка и буква на одном диске?}
B -- Да --> C{Можно ли переместить папку?}
C -- Да --> D[Переместить на другой диск и создать SUBST]
C -- Нет --> E[Использовать mklink или точку монтирования]
B -- Нет --> F[Создать SUBST напрямую]
D --> G[Проверить доступ]
E --> G
F --> G
G --> H[Готово]1‑строчный глоссарий
SUBST — команда Windows для назначения виртуальной буквы диска папке; mklink — команда для создания символических или жёстких ссылок; mountvol — управление точками монтирования томов.
Полезные сниппеты команд
rem Показать текущие подстановки
subst
rem Удалить подстановку
subst Z: /D
rem Создать подстановку
subst Z: F:\MyFolder
rem Создать символическую ссылку каталога
mklink /J C:\LinkToFolder F:\RealFolderВажно: тестируйте изменения на непроизводственных машинах и сохраняйте бэкапы перед массовыми перемещениями.
Краткое резюме
ERROR_SAME_DRIVE 143 появляется потому, что Windows запрещает подставлять букву диска к папке на том же носителе. Быстрые решения — сменить букву на ту, которая относится к другому диску, переместить папку на другой том, удалить существующую подстановку или использовать альтернативы вроде mklink и точек монтирования. Если проблема сохраняется, проверьте привилегии, политику домена и структуру томов.
Если остались вопросы или хотите, чтобы я помог проверить конкретный набор команд из вашей системы, напишите, какие буквы и пути вы используете, и я подскажу пошагово.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента