Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Высвобождение букв дисков Windows (http://forum.oszone.net/showthread.php?t=257595)

AndrewTishkin 01-04-2013 01:48 2123201

Высвобождение букв дисков Windows
 
После проблем с удалением (в том числе некорректным) из проводника добавленных в него "нестандартных" дисков (например, виртуальных приводов а-ля Virtual CloneDrive, или RAM-дисков а-ля SoftPerfect RAM Disk), диски/устройства не исчезают, но при этом уже являются нерабочими, а также занимают назначенную им букву и не дают возможности воспользоваться ей.

Существуют ли способы для высвобождения таких проблемных дисков, а значит и букв? Конечно, это должно работать без перезагрузки, иначе теряется смысл.
Если существуют какие-то программы, делающие эту процедуру лёгкой и удобной - было бы вообще прекрасно.

Задача - чтобы в программах (например, упомянутых выше) в списке выбора буквы, неудачно перед этим использованные, снова появилась.
Где вообще система хранит этот список? Наткнулся на один раздел реестра, но в него проблемные диски не попали...
Цитата:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Проблема решена с помощью консольной программы DeleteDosDevice.
Подробности и решение для добавления команды в контекстное меню дисков

teapot08 01-04-2013 03:14 2123215

Acronis Disk Director Suite
и еще
http://support.microsoft.com/kb/223188/ru

yurfed 01-04-2013 03:39 2123219

Цитата:

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

AndrewTishkin 01-04-2013 05:04 2123225

teapot08, уж если diskpart не справляется с такими томами-фантомами, сильно сомневаюсь, что Acronis в этом плане умнее (к тому же это монстр для такой задачи, да ещё и платный), так как оба нацелены на работу с логическими томами.

fsutil volume dismount X: тоже спасовал.

Статью уже видел. В ней упоминается тот самый раздел реестра и не более того. Вдобавок там сказано "Перезагрузите компьютер" :nono:

PS: тем временем, кажется, наткнулся на волшебное зелье, хоть и с интересным побочным эффектом.
Но пока торопиться с выкладыванием не буду, всё-таки интересно услышать ещё какие-нибудь идеи от коллективного разума :)

Цитата:

Цитата yurfed
Вы весёлый человек.
выходя из спячки»

Да, действительно весело получилось. Только там я имел в виду не свой выход из спячки (хорошо хоть не из запоя...),:teeth: а выход системы (из гибернации).
Опечатка - "выходя - выхода". Спасибо за наводку. Fixed.
Ну а в желании иметь после выхода из гибернации активное PPPoE, надеюсь, ничего смешного нет

yurfed 01-04-2013 12:09 2123345

Цитата:

Цитата AndrewTishkin
Ну а в желании иметь после выхода из гибернации активное PPPoE »

Не будет такого. По сути это дамп памяти, который скидывается на винчестер и который равен объёму вашей физической памяти, установленной в компьютере. Всё питание отключается, остаётся только питание на память в случае с гибернацией.
Не пробовали включить показ скрытых и системных файлов? Сразу и увидете Pagefile.sys и hiberfil.sys (Зависит от настроек системы)

yurfed 01-04-2013 12:27 2123357

Цитата:

Цитата AndrewTishkin
После проблем с удалением (в том числе некорректным) из проводника добавленных в него "нестандартных" дисков (например, виртуальных приводов а-ля Virtual CloneDrive, или RAM-дисков а-ля SoftPerfect RAM Disk), диски/устройства не исчезают, но при этом уже являются нерабочими, »

Ищите в службах эти остатки

AndrewTishkin 02-04-2013 01:38 2124012

Цитата:

Цитата yurfed
Не будет такого »

Вы цепляетесь к словам. Не надо воспринимать их буквально.
Я уже боюсь ещё какое-нибудь неоднозначное слово сказать, :unsure: чтобы не увести эту спонтанную дискуссию в далёкие дебри от текущей темы.
читать дальше »

Под "активным PPPoE" я не имею в виду фантастику с сохранением сетевых сессий/соединений и IP-адреса (а он у меня динамический).
:type:
Я имею в виду "работающий Интернет" как можно быстрее после выхода из гибернации, без лишних телодвижений - необходимости щёлкать в область уведомлений, открывая диалог/панель с кнопкой переподключения. О чём и шла речь в том сообщении, как и в самой теме (запуск с нуля или выход из сна/гибернации - суть всё равно одна).

Удивляюсь, как в наполовину облачной Windows 8 не предусмотрели какой-то механизм по подключению к Интернету в фоновом режиме, чтобы все сетевые "плюшки" были в боевом режиме. Но что-то в этом роде в будущих ОС намечается.
Цитата:

Цитата yurfed
По сути это дамп памяти, который скидывается на винчестер и который равен объёму вашей физической памяти, установленной в компьютере. Всё питание отключается, остаётся только питание на память в случае с гибернацией.

Я про это знаю, как и про зоопарк локализованных названий в различных версиях Windows, начиная с XP, в которых без подготовки очень легко запутаться (Сон/Спящий режим/Ждущий режим/Гибридный режим/Гибернация)
Цитата:

Цитата yurfed
Не пробовали включить показ скрытых и системных файлов? Сразу и увидете Pagefile.sys и hiberfil.sys (Зависит от настроек системы) »

Я затрудняюсь вспомнить, когда я его в последний раз отключал :)

Цитата:

Цитата yurfed
Ищите в службах эти остатки

?
Упомянутые программы (Virtual CloneDrive, SoftPerfect RAM Disk) реализуют свой функционал через установку драйвера. Никаких служб мной замечено не было.


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

Алгоритм воспроизведения проблемы
ОС: Windows 8
Через SoftPerfect RAM Disk (SPRD) создаётся новый диск (допустим 1 МБ, FAT, не съёмный), с назначением ему буквы, например, T.
Открываем T:\ в проводнике. Остаёмся "в корне". После чего удаляем T в SPRD. Программа выдаст запрос:
Цитата:

Невозможно размонтировать том T: Возможно на нем имеются открытые файлы или он заблокирован. Размонтировать принудительно?
Соглашаемся, открытое окно проводника с T:\ автоматически закрывается системой, но в списке дисков он остаётся, правда при попытке его открыть заслуженно получаем "фигвам":
Цитата:

Расположение недоступно
T:\ ссылается на недоступное расположение. Это может быть диск этого компьютера или сетевой ресурс. Убедитесь, что диск вставлен и правильно подключен, или что вы подключены Интернету или к локальной сети и повторите попытку. Если она вновь окажется неудачной, то возможно, что данные были перемещены в другое место.
Если не оставаться в корне (создать папку и зайти в неё), а также в непонятных редких случаях диск демонтируется как положено, окончательно - исчезает из проводника.
Тогда для воспроизведения проблемы на диске создаётся и открывается файл.


DriveLetterView от Nir Sofer
Название программы говорит само за себя. В первый раз она показала не до конца удалённый диск, а при попытке с помощью этой программы его переименовать, диск исчез из проводника, высвободив занятую букву тома!
К сожалению, повторить этот трюк не удалось - больше проблемные диски в списке появляться не захотели.

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 2125241

DeleteDosDevice от Uwe Sieber
Вот оно, чудо-средство от того же автора!:up:
>DeleteDosDevice.exe t: -y
KernelName of t: is \Device\00000060
t: removed

Было замечено странное поведение проводника, если удаляемый диск значился под буквой B. Из окна "компьютера" исчезал не только он, а вообще вся группа "жёсткие диски"! При этом в дереве папок они (жёсткие) успешно отображались. Сейчас уже повторить почему-то не удалось

Как же эта утилита работает? Оказалось, до банальности просто, с помощью старых-добрых системных функций:
Так что есть возможность изготовить собственную "удалялку".

Пока же мне хватит и добавления команды удаления-демонтирования в контекстное меню дисков.
Вот готовое решение, может кому пригодится. Используется elevate.exe

DDD.reg
Код:

Windows 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.reg
Код:

Windows 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.reg
Код:

Windows 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, открытые окна и программы начинают крошиться медленно. Проводник становится англоязычным, все пути к файлам и папкам на исчезнувшем диске становятся недействительными, в общем, тихий ужас. Но опять же помогает перезагрузка


Время: 22:27.

Время: 22:27.
© OSzone.net 2001-