Показать полную графическую версию : Высвобождение букв дисков Windows
AndrewTishkin
01-04-2013, 01:48
После проблем с удалением (в том числе некорректным) из проводника добавленных в него "нестандартных" дисков (например, виртуальных приводов а-ля Virtual CloneDrive, или RAM-дисков а-ля SoftPerfect RAM Disk), диски/устройства не исчезают, но при этом уже являются нерабочими, а также занимают назначенную им букву и не дают возможности воспользоваться ей.
Существуют ли способы для высвобождения таких проблемных дисков, а значит и букв? Конечно, это должно работать без перезагрузки, иначе теряется смысл.
Если существуют какие-то программы, делающие эту процедуру лёгкой и удобной - было бы вообще прекрасно.
Задача - чтобы в программах (например, упомянутых выше) в списке выбора буквы, неудачно перед этим использованные, снова появилась.
Где вообще система хранит этот список? Наткнулся на один раздел реестра, но в него проблемные диски не попали...
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
[hr]Проблема решена с помощью консольной программы DeleteDosDevice.
Подробности и решение для добавления команды в контекстное меню дисков (http://forum.oszone.net/thread-257595.html#post2125241)
teapot08
01-04-2013, 03:14
Acronis Disk Director Suite
и еще
http://support.microsoft.com/kb/223188/ru
потому что являюсь фанатом гибернации, а после выходя из спячки нужно восстанавливать соединение.
Вы весёлый человек. Дай бог вам здоровья.
AndrewTishkin
01-04-2013, 05:04
teapot08, уж если diskpart не справляется с такими томами-фантомами, сильно сомневаюсь, что Acronis в этом плане умнее (к тому же это монстр для такой задачи, да ещё и платный), так как оба нацелены на работу с логическими томами.
fsutil volume dismount X: тоже спасовал.
Статью уже видел. В ней упоминается тот самый раздел реестра и не более того. Вдобавок там сказано "Перезагрузите компьютер" :nono:
PS: тем временем, кажется, наткнулся на волшебное зелье, хоть и с интересным побочным эффектом.
Но пока торопиться с выкладыванием не буду, всё-таки интересно услышать ещё какие-нибудь идеи от коллективного разума :)
[hr]Вы весёлый человек.
выходя из спячки»Да, действительно весело получилось. Только там я имел в виду не свой выход из спячки (хорошо хоть не из запоя...),:teeth: а выход системы (из гибернации).
Опечатка - "выходя - выхода". Спасибо за наводку. Fixed.
Ну а в желании иметь после выхода из гибернации активное PPPoE, надеюсь, ничего смешного нет
Ну а в желании иметь после выхода из гибернации активное PPPoE »Не будет такого. По сути это дамп памяти, который скидывается на винчестер и который равен объёму вашей физической памяти, установленной в компьютере. Всё питание отключается, остаётся только питание на память в случае с гибернацией.
Не пробовали включить показ скрытых и системных файлов? Сразу и увидете Pagefile.sys (http://forum.oszone.net/thread-7136.html) и hiberfil.sys (http://comp-profi.com/view_post.php?id=154) (Зависит от настроек системы)
После проблем с удалением (в том числе некорректным) из проводника добавленных в него "нестандартных" дисков (например, виртуальных приводов а-ля Virtual CloneDrive, или RAM-дисков а-ля SoftPerfect RAM Disk), диски/устройства не исчезают, но при этом уже являются нерабочими, »Ищите в службах эти остатки
AndrewTishkin
02-04-2013, 01:38
Не будет такого »Вы цепляетесь к словам. Не надо воспринимать их буквально.
Я уже боюсь ещё какое-нибудь неоднозначное слово сказать, :unsure: чтобы не увести эту спонтанную дискуссию в далёкие дебри от текущей темы.
Под "активным PPPoE" я не имею в виду фантастику с сохранением сетевых сессий/соединений и IP-адреса (а он у меня динамический).
:type:
Я имею в виду "работающий Интернет" как можно быстрее после выхода из гибернации, без лишних телодвижений - необходимости щёлкать в область уведомлений, открывая диалог/панель с кнопкой переподключения. О чём и шла речь в том сообщении (http://forum.oszone.net/post-2117247.html#post2117247), как и в самой теме (запуск с нуля или выход из сна/гибернации - суть всё равно одна).
Удивляюсь, как в наполовину облачной Windows 8 не предусмотрели какой-то механизм по подключению к Интернету в фоновом режиме, чтобы все сетевые "плюшки" были в боевом режиме. Но что-то в этом роде в будущих ОС намечается.
По сути это дамп памяти, который скидывается на винчестер и который равен объёму вашей физической памяти, установленной в компьютере. Всё питание отключается, остаётся только питание на память в случае с гибернацией.Я про это знаю, как и про зоопарк локализованных названий в различных версиях Windows, начиная с XP, в которых без подготовки очень легко запутаться (Сон/Спящий режим/Ждущий режим/Гибридный режим/Гибернация)
Не пробовали включить показ скрытых и системных файлов? Сразу и увидете Pagefile.sys и hiberfil.sys (Зависит от настроек системы) »Я затрудняюсь вспомнить, когда я его в последний раз отключал :)
Ищите в службах эти остатки?
Упомянутые программы (Virtual CloneDrive, SoftPerfect RAM Disk) реализуют свой функционал через установку драйвера. Никаких служб мной замечено не было.
[hr]
Жаль, что пополнить коробочку ничем больше не получилось.
Выкладываю свои результаты исследований, как и обещал. Последовательность хронологическая
ОС: Windows 8
Через SoftPerfect RAM Disk (SPRD) создаётся новый диск (допустим 1 МБ, FAT, не съёмный), с назначением ему буквы, например, T.
Открываем T:\ в проводнике. Остаёмся "в корне". После чего удаляем T в SPRD. Программа выдаст запрос:
Невозможно размонтировать том T: Возможно на нем имеются открытые файлы или он заблокирован. Размонтировать принудительно?
Соглашаемся, открытое окно проводника с T:\ автоматически закрывается системой, но в списке дисков он остаётся, правда при попытке его открыть заслуженно получаем "фигвам":
Расположение недоступно
T:\ ссылается на недоступное расположение. Это может быть диск этого компьютера или сетевой ресурс. Убедитесь, что диск вставлен и правильно подключен, или что вы подключены Интернету или к локальной сети и повторите попытку. Если она вновь окажется неудачной, то возможно, что данные были перемещены в другое место.
Если не оставаться в корне (создать папку и зайти в неё), а также в непонятных редких случаях диск демонтируется как положено, окончательно - исчезает из проводника.
Тогда для воспроизведения проблемы на диске создаётся и открывается файл.
DriveLetterView (http://nirsoft.net/utils/drive_letter_view.html) от Nir Sofer
Название программы говорит само за себя. В первый раз она показала не до конца удалённый диск, а при попытке с помощью этой программы его переименовать, диск исчез из проводника, высвободив занятую букву тома!
К сожалению, повторить этот трюк не удалось - больше проблемные диски в списке появляться не захотели.
DriveCleanup (http://uwe-sieber.de/drivetools_e.html#drivecleanup) от Uwe Sieber
Чистит от "мусорных" USB-устройств упомянутый ранее HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
А также:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume
Но нужной мне чистки она не производит.
AndrewTishkin
03-04-2013, 21:01
DeleteDosDevice (http://uwe-sieber.de/drivetools_e.html#deletedosdevice) от Uwe Sieber
Вот оно, чудо-средство от того же автора!:up:
>DeleteDosDevice.exe t: -y
KernelName of t: is \Device\00000060
t: removed
Было замечено странное поведение проводника, если удаляемый диск значился под буквой B. Из окна "компьютера" исчезал не только он, а вообще вся группа "жёсткие диски"! При этом в дереве папок они (жёсткие) успешно отображались. Сейчас уже повторить почему-то не удалось
Как же эта утилита работает? Оказалось, до банальности просто, с помощью старых-добрых системных функций:
QueryDosDeviceA (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365461.aspx)
DefineDosDeviceA (http://msdn.microsoft.com/en-us/library/windows/desktop/aa363904.aspx)
Так что есть возможность изготовить собственную "удалялку".
Пока же мне хватит и добавления команды удаления-демонтирования в контекстное меню дисков.
Вот готовое решение, может кому пригодится. Используется elevate.exe (http://code.kliu.org/misc/elevate/)
DDD.regWindows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Drive\shell\DDD]
@="Демонтировать"
[HKEY_CLASSES_ROOT\Drive\shell\DDD\command]
@="elevate.exe cmd /v:on /c \"set \"value=%1\" && DeleteDosDevice.exe !value:~0,2! -y\""
ИЛИ DDD.regWindows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Drive\shell\DDD]
@="Демонтировать"
[HKEY_CLASSES_ROOT\Drive\shell\DDD\command]
@="elevate.exe cmd /c \"for %%i in (%1) do DeleteDosDevice.exe %~di -y\""
ИЛИ DDD.regWindows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Drive\shell\DDD]
@="Демонтировать"
[HKEY_CLASSES_ROOT\Drive\shell\DDD\command]
@="DDD.bat %1"+ DDD.bat
elevate.exe DeleteDosDevice %~d1 -y
PS: штука опасная, так что к чему попало её применять не стоит.
Если пропавшие жёсткие диски после удаления тома-устройства B: можно вернуть перезапуском проводника, то с томом-устройством A: поможет только перезагрузка ОС. Вдобавок можно удалить даже системный диск [C:]. Удивительнее этого только то, что система не падает в BSOD, открытые окна и программы начинают крошиться медленно. Проводник становится англоязычным, все пути к файлам и папкам на исчезнувшем диске становятся недействительными, в общем, тихий ужас. Но опять же помогает перезагрузка
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.