Как убрать "фантомные" буквы дисков?

31787
Wes Sayeed

Недавно я подключил два жестких диска USB в формате GPT к моей рабочей станции Win10. Мне пришлось обновить хранилище BCD на них, чтобы я использовал Diskpart, чтобы назначать буквы S: и T: разделам EFI на дисках. Теперь у меня есть две буквы фантомного диска S: и T:, которые теперь постоянно отображаются на моем ПК, даже если у меня больше нет подключенных жестких дисков.

Как убрать

Я попытался подключить диски обратно, чтобы удалить букву, но разделы EFI на этих дисках не получали буквы дисков (что является нормальным поведением). Я снова попытался использовать Diskpart, чтобы присвоить им одинаковые буквы, но он говорит, что эти буквы уже используются.

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

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

Есть идеи?

12

2 ответа на вопрос

15
CBHacking

The command to remove a drive letter - which shouldn't be needed, but hey, Win10, there are still some bugs - is mountvol <drive> /D, so for you it would be mountvol S: /D and mountvol T: /D. You can also try mountvol /R, which should remove all drive letter assignments for which there is no currently mounted drive. You can also try using /P in place of /D, but it's intended to be used while the volume is actually present.

You can also use the remove command in diskpart to remove drive letter assignments. You mentioned using mountvol to try re-assigning the drive letters but didn't mention trying to remove them. I'm pretty sure it just calls the same APIs as mountvol, actually.

All of these commands will need to be run as Administrator, naturally.

Я не могу использовать `diskpart`, чтобы удалить его, потому что вы должны сначала` выбрать` том, с которым вы будете работать, прежде чем вы сможете 'удалить' его, а буквы не соответствуют чему-либо. Похоже, `mountvol` тоже не работает. / D говорит, что система не может найти указанный файл. / R говорит, что каталог не пустой. Wes Sayeed 8 лет назад 0
Это ... странные ошибки. Я предполагаю, что они сохраняются после перезагрузки, и эти попытки были предприняты после перезагрузки. Следующее место, которое вы можете проверить, это раздел реестра `HKLM \ SYSTEM \ MountingDevices`; если есть значения, называемые такими вещами, как `\ DosDevices \ S:`, удалите их. Тем не менее, я подозреваю, что именно это вызвало ошибку «File Not Found» из `mountvol`; он попытался удалить эти значения программно, а их там нет. Хотя стоит проверить. CBHacking 8 лет назад 0
Да, они сохраняются после перезагрузки, и нет, HKLM \ MountingDevices не имеет ссылок на них. Однако проблема исчезла сама по себе после некоторых обновлений Windows. Я написал реальный виновник в моем ответе. Wes Sayeed 8 лет назад 1
@CBHacking Спасибо, это помогло мне решить проблему с потоком файлов Google Drife. Однажды он покинул раздел G: и создал H: для использования в качестве нового. Я не мог найти способ удалить его, но ваше предложение `mountvol / R` сработало, чтобы удалить фантомный диск файлового потока google drive Cas Nouwens 6 лет назад 0
7
Wes Sayeed

This problem went away on its own after some Windows Updates forced a reboot of the computer.

This behavior appears to be a bug. I suspect that the reason the phantom drive letters persisted through a reboot was because of Windows 10's "Soft Restart" and "Fast Startup" features, which do not actually shut down or reboot anymore when you tell it to do a shutdown or reboot.

It was likely because the system never actually went through a full HW initialization (and thus never checked the presence of those drive letters) until Windows Updates forced the issue by doing a full reboot.


Brief Overview of the Soft Restart and Fast Startup Features:

In an effort to shorten startup times in Windows 8 and Windows 10, Windows no longer does a full shutdown/restart anymore. The Fast Startup feature (introduced in Windows 8) does a partial hibernation when shutting down the system. Certain core processes (but not all of them as in a full hibernate) have their states saved so that they can be resumed without going through a full initialization on the next startup. This behavior only affected shutdowns, not restarts, and you can turn it off via the Power control panel.

Windows 10 extends this behavior with the Soft Restart feature. When doing a restart, the system resets software as though it were doing a reboot, but does not reinitialize hardware or the kernel, making reboot times faster. You can't turn this feature off.


In Windows 10, the ONLY way to do a FULL reboot of the system is to issue a shutdown -r -f -t 0 from the command line.

А что если вы отключили спящий режим (`powercfg / H off`)? Я бы, конечно, ожидал, что это отключит мягкое выключение и, возможно, мягкий перезапуск. Другая вещь, которая, по-видимому, предотвращает мягкий перезапуск, - это использование расширенных параметров запуска, скажем, для загрузки BIOS / EFI SETUP. CBHacking 8 лет назад 0
Я только что подтвердил, что это работает в Windows 10 Build 10586. К вашему сведению: вам не нужно `-f`, когда вы делаете` -t 0`; `shutdown -r -t 0` тоже работает. Granger 8 лет назад 0
Кстати, вы МОЖЕТЕ отключить эту функцию из Панели управления \ Все элементы панели управления \ Параметры электропитания \ Системные настройки, также известные как «Выберите, что делают кнопки питания». Это также отключено по определению, когда гибернация полностью отключена с отключенным powercfg -h. sCiphre 7 лет назад 0