Ситуация, когда операционная система отказывается удалять устройство периферии, является одной из самых раздражающих для системных администраторов и обычных пользователей. Ошибка «Устройство занято» или «Невозможно удалить драйвер» обычно означает, что фоновый процесс службы печати (Print Spooler) держит файлы драйвера в памяти, блокируя любые попытки изменения.

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

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

Остановка службы печати и очистка очереди

Первым и самым критичным шагом является остановка службы Print Spooler. Именно этот сервис отвечает за обработку заданий печати и удерживает файлы драйверов занятыми в оперативной памяти. Без его остановки любые попытки удаления будут заблокированы ядром операционной системы.

Откройте окно Выполнить (клавиши Win + R) и введите команду services.msc. В открывшемся списке найдите строку Диспетчер печати (Print Spooler). Нажмите на неё правой кнопкой мыши и выберите Остановить. Это действие разблокирует файлы, но не удаляет их.

После остановки службы необходимо очистить папку, где хранятся временные файлы печати. Перейдите по пути C:\Windows\System32\spool\PRINTERS, удалите все файлы внутри этой папки, но не удаляйте саму папку. Это гарантирует, что старое «зависшее» задание не перезапустит службу автоматически при следующем запуске.

Если вы используете командную строку от имени администратора, процесс можно автоматизировать одной последовательностью:

net stop spooler

del /Q /F /S "%systemroot%\System32\spool\printers\."

net start spooler

Обратите внимание, что команда net start spooler в данном примере служит лишь для проверки, но для удаления драйвера службу нужно держать остановленной дольше.

⚠️ Внимание: Остановка службы печати приведет к невозможности отправки любых документов на печать до её повторного запуска. Сохраните все открытые документы перед выполнением процедуры.

☑️ Подготовка к удалению драйвера

Выполнено: 0 / 4

Удаление через консоль управления драйверами

Когда служба остановлена, файлы драйвера перестают быть заблокированными, и можно переходить к их удалению из системы. Самый надежный способ — использование утилиты printui.exe с ключом /dd или /dl. Это позволяет удалить драйвер и данные о нем, минуя стандартный графический интерфейс, который часто глючит с заблокированными устройствами.

Запустите командную строку от имени администратора. Введите команду

printui /s /t2
. Откроется окно «Свойства сервера печати», вкладка «Драйверы». Найдите в списке проблемный драйвер (например, Hewlett-Packard LaserJet или Xerox WorkCentre).

Выделите драйвер и нажмите кнопку Удалить. В появившемся окне выберите опцию Удалить драйвер и пакет драйверов. Если система выдаст сообщение об ошибке, убедитесь, что служба печати действительно остановлена, и повторите попытку. Иногда требуется перезагрузка компьютера перед этим шагом.

Важно понимать, что удаление пакета драйверов влияет на все устройства, использующие этот конкретный драйвер. Если у вас установлено несколько принтеров одной модели, они все потеряют возможность печати до установки драйвера заново.

💡

Перед удалением драйвера через консоль убедитесь, что у вас есть установочный файл (ISO или EXE) последней версии драйвера, чтобы восстановить устройство после чистки системы.

Ручное удаление остатков из реестра Windows

Если стандартные методы не помогли, значит, в системном реестре остались ключи, которые мешают полноценной очистке. Редактор реестра (regedit) позволяет вручную удалить записи, которые система считает активными. Будьте предельно осторожны: удаление неверного ключа может привести к нестабильности работы ОС.

Нажмите Win + R, введите regedit и перейдите по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\x64\Drivers\Version-3. (Для 32-битных систем путь будет отличаться на Windows NT x86).

В этой ветке вы увидите список всех установленных драйверов. Найдите ключ, соответствующий имени вашего принтера или его производителю, например, Brother_MFC или Kyocera. Удалите этот ключ целиком. Это действие окончательно стирает информацию о драйвере из базы данных Windows.

⚠️ Внимание: Обязательно создайте точку восстановления системы перед редактированием реестра. Это позволит откатить изменения, если удаление ключа приведет к ошибке в работе других устройств.

Также проверьте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors. Иногда драйверы оставляют свои монитеры портов, которые продолжают «думать», что устройство подключено. Удалите ключи, относящиеся к бренду принтера, если они не используются другими устройствами.

Что делать, если ключ реестра не удаляется?

Если вы получаете ошибку доступа при удалении ключа, это означает, что у вашего пользователя нет прав. Нажмите правой кнопкой на ключ -> Разрешения -> выберите свою учетную запись -> поставьте галочку «Полный доступ».

Использование утилиты ODP для полной очистки

Для продвинутых пользователей существует инструмент Print Driver Cleanup Utility (или аналогичные утилиты от производителей, например, Canon Driver Uninstaller). Эти программы сканируют систему на наличие скрытых остатков драйверов и удаляют их принудительно, даже если служба печати не отвечает.

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

Метод Сложность Риск Эффективность
Через Диспетчер устройств Низкая Минимальный Средняя (часто не удаляет драйвер)
Через Панель управления Низкая Низкий Низкая (блокируется службой)
Команда printui.exe Средняя Средний Высокая (требует остановки службы)
Редактирование реестра Высокая Высокий Максимальная (удаление всех следов)

Использование утилиты ODP (Open Device Protocol) часто требуется для специфических моделей МФУ, где драйвер состоит из множества модулей (сканер, факс, принтер). Стандартное удаление часто оставляет модуль сканера, что мешает установки нового ПО.

Исправление ошибок после удаления

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

Если при попытке повторной установки драйвера вы видите ошибку «Драйвер уже существует», это значит, что в кэше драйверов (C:\Windows\System32\DriverStore\FileRepository) остались файлы. В этом случае нужно использовать утилиту pnputil для удаления пакета.

Введите в командной строке

pnputil /enum-drivers
, найдите имя пакета, связанное с удаленным принтером (обычно содержит имя производителя), и выполните
pnputil /delete-driver oemXX.inf /uninstall
, заменив oemXX.inf на реальное имя файла.

💡

Полная очистка кэша драйверов (DriverStore) обязательна, если вы планируете установить новую версию драйвера того же производителя, чтобы избежать конфликтов версий.

Проверка целостности системы печати

После всех манипуляций рекомендуется провести проверку целостности системных файлов. Откройте командную строку и введите sfc /scannow. Это проверит, не были ли случайно повреждены файлы службы печати в процессе ручного редактирования реестра.

Если система найдет ошибки, она автоматически восстановит их из резервной копии. Это критически важно, так как повреждение файлов spoolsv.exe может привести к тому, что никакие принтеры не будут работать в будущем.

Также проверьте, что в Настройки → Устройства → Принтеры и сканеры отображается пустой список или только те устройства, которые вы действительно хотите использовать. Если там остался «серый» принтер, его можно удалить через контекстное меню.

⚠️ Внимание: Если после удаления драйвера принтер продолжает отображаться в списке, но с ошибкой, попробуйте удалить само устройство, а не только драйвер, через меню «Удалить устройство» перед повторной установкой.
📊 Какой метод удаления вы чаще всего используете?
Через Диспетчер устройств
Через Панель управления
Команды printui.exe
Редактор реестра
Сторонний софт

FAQ: Частые вопросы об удалении драйверов

Почему система пишет, что драйвер занят, даже если принтер выключен?

Система может считать драйвер занятым из-за зависшего процесса в фоновом режиме или из-за того, что служба печати некорректно завершила работу при предыдущем отключении питания. Файлы драйвера остаются заблокированными в памяти.

Можно ли удалить драйвер без остановки службы Print Spooler?

Нет, практически невозможно. Служба Print Spooler захватывает файлы драйвера на уровне ядра ОС. Любая попытка удаления без остановки службы приведет к ошибке доступа или отказу системы.

Что делать, если не удаляется файл .inf драйвера?

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

Как проверить, что драйвер удален полностью?

Проверьте папку C:\Windows\System32\spool\drivers\x64\3 (или x86). Если там нет файлов с именем вашего принтера, а в реестре в ветке драйверов нет соответствующих записей, значит, удаление прошло успешно.

Помогает ли удаление драйвера при ошибке «Принтер занят» во время печати?

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