Pull to refresh

Comments 149

Да, в новой версии в Microsoft всё равно не догадались, что полезно бы юзеру показать, какая именно прога владеет хендлом, блокирующим флешку =\
svchost.exe

Следующий вопрос обычного юзера будет — «и чё?» :-)
Учитывая тематику блога, вполне логичный ответ: спрятать за кнопочкой «подробнее >>» которая раскроет тайну о залоченном файле и процессе, его использующем… дабы, так сказать, исключать «и чё» :).
Пользователь не дурак — он откроет, посмотри. Пойдёт в TaskManager, найдёт там этот процесс — и убьёт его… их. И будет счастье? Кому надо — набирут handle (sysinternal) имя-файла и получат ответ.
Ну да, учитывая, что переодически handle выдаёт system, при выполнении handle -c получает всем знакомый синий экранчик с буковками :).
У меня из-за него иногда возникали проблемы, но я никак не могу вспомнить какого рода… (
Но софтина мега-полезная и удобная.
У меня он обычно ни хрена не работает: винда тупо не даёт безопасно извлечь девайс, анлокер тупо продолжает говорить, что локов нету. На нескольких компах так, под ХП и Вистой.
подсмотрели в USB Safely Remove?

Не-а, додумался во время матюкания на неинформативное окошко :)
UFO just landed and posted this here
Apple у Xerox PARC, MS у Apple.

Это, разумеется, не совершенно точно.
Плюс ее еще и бесплатно дают сейчас ;)
UFO just landed and posted this here
Ээээ. Как так? а я только купил недавно
Значит уже перестали, в начале декабря дали бесплатно.
Вот continue — это очень хорошо, ибо иногда внешний хард вроде никаким процессом не занят, но все равно винда не хочет его отмонтировывать
Вот я сегодня, когда убегал из дома на сдачу курсовика, приятно удивился данной функцией =)
у меня в 100% случаев в этом оказывается виновато сныкавшееся окно Explorer'a с какой-нибудь открытой папкой на этом диске
часто бывает, что ни одного окна Проводника не открыто, да и, вообще, ни одного приложения (не считая фоновых, которым, по идее, на флешку должно быть наплевать) не запущено, но отмонтировать не даёт
Скорее всего, записывает данные из кэша
UFO just landed and posted this here
Тогда это просто затуп, имхо
Обычно если не мигает — извлекается ок
UFO just landed and posted this here
Та глюки это просто. По умолчанию в виндовсе кеширование для флешек выключено, и в большой теории должны давать отмонитироваться как только закрыты использующие флешку программы и светик мигать перестал.
Если кэширование выключено по умолчанию, то не значит, что у меня не включено =)

А разве диод не мигает во время любого обращения к флешке? Я имею ввиду, что он, по идее, должен показывать даже запись из кэша. Ну а когда погас — можно доставать.
Я о настройках с выключенным кэшем ))) По-моему для устройств, которые могут быть быстро вытащены ручками, лучше кеш не включать
Согласен, но я обычно переношу сотни мелких файлов, с выключенным кэшем можно ждать неделю, пока скопируется. Хотя в любом случае небыстро получается
Архивируйте их, если время нет, то с атрибутом «без сжатия» — быстро и получите 1 файл вместо N
Спасибо, последую совету =)
UFO just landed and posted this here
А у вас это ХР? У меня в ХР были баги, когда то не отдает флешку, то не хочет ее видеть в другом юсб-порте, отличном от ранее используемого.
UFO just landed and posted this here
На мой взгляд отстутствие необходимости каждый раз отмонтировать было бы самым удачным решением.
А как это осуществить?
Проблема в том, что неизвестно, есть ли открытые файлы в момент вытаскивания флешки.
Ну и плюс буферизация записи…
Ну, например, можно было бы показывать зелёненький значок в трее, когда можно извлекать и красненький, когда что-то открыто или буфер не записан.

А лично я бы предпочёл, чтобы всякие буферы сразу записывались. Потому что времени и усилий на отмонтирование я трачу больше, чем на копирование. Пусть лучше дольше копируется, чем заставляет меня совершать лишние телодвижения.
по традиции, он бы вечно был красным
После нажатия «Безопасное извлечение» мне никогда не приходилось ждать дольше двух секунд. Тогда можно было бы через какое-то время после копирования на флешку автоматически сбрасывать буфер и окрашивать значок в зелёный.
Сейчас посмотрел у себя в Диспетчере устройств свойства драйвера флешки. Вот что обнаружил:
Untitled.png - image uploaded to Picamatic
По-умолчанию выбрана опция «Быстрое извлечение», которая как раз отключает буферизацию записи. =)
это сильно сказывается на скорости работы с флешкой?
значок в трее всё равно появляется?
Значок появляется.
На тему скорости — сейчас проведу маленькое исследование)
У меня довольно старая флешка, скорость записи при обоих параметрах составила 1.5МБ/с…
Возможно буферизация ускоряет работу скоростных устройств типа внешних HDD.
Безопасное извлечение очень важно для внешних хардов, так как они иммеют внутренний кэш. Соответственно, может быть ситуация, когда передавать ничего не надо и все файлы уже закрыты, но надо банально сбросить кэш на диск. Так что харды лучше извлекать правильно.
По идее, буферизация ускоряет запись множества быстрых файлов, один большой файл будет писаться «минуя» буфер.
Так всегда было со времен XP, я почти всегда извлекаю флешку без «безопасного извлечения» надо лишь закрыть активные окна с содержимым этой флешки
а потом какой-нибудь линукс говорит тебе что-то типа «том не закрыт», точного текста не помню, и отказывается монтировать флешку или внешний диск, приходится подключать его к винде и безопасно извлекать — много раз сталкивался с таким.

из последних фич — при подключении «опасно извлечённой» флешки к ХР винда не может её прочитать, если подключить к висте, то та предлагает «исправить» что-то на флешке, после исправления ХР снова может флешку читать
Насколько я знаю, такое бывает только с NTFS.
И лечится консольными утилитками ntfsfix.
Это называется «проблемы файловой системы». Она не монтируется для безопасности, разумеется, ее всегда можно починить.
Как уже сказали, «всеобщая» буферезация и так отключена, но проблема несколько в другом месте. Во-первых, в любых более-менее нормальных программах используется «внутренняя» буферизация, которой по барабану на эту галочку в свойствах тома. Во-вторых, когда выбрана оптимизация тома для быстрого извлечения, то автоматически исключается возможность использовать NTFS — остаётся только FAT32, который страдает отсутсвием журналирования что как раз и приводит ко всяким scan & fix и прочей требухе, а при неудачном расположении звёзд над экватором вы вообще теряете FAT и вам предлагается отформатировать том(придётся воспользоваться easy recovery или аналогом при необходимости восстановить данные).
Хм. Когда я нажимаю «Безопасно извлечь», вроде много ресурсов не задействуются, и почти сразу можно доставать устройство.

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

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

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

Но опять же повторюсь: я бы предпочёл лишних пять секунд подождать, чем эти же пять секунд целиться в трей.
Ты, видимо, далек от программирования… по крайней мере системного :).
> ОС могла бы сама производить эту процедуру, как только я перестаю работать с флешкой
Хм, ну давай посмотрим на эту ситуацию с другой стороны: ты перестал работать с флешкой, жмёшь «извлечь» и винда выдаёт тебе «не могу отмонтировать, кто-то использует том». Чуешь разницу? Ты перестал работать с флешкой, но флешка ещё используется каким-то процессом. Т.е. определить когда работа с флешкой прекратилась винда может(раз она выдаёт ошибку — значит она как-то определяет, тебе так не кажется? :)), но ты определить этого не можешь(потому что «закрытая» программа ещё не означает что работа с флешкой прекращена, а соответсвенно, все дальнейшии рассуждения — от лукавого ;).
Другими словами: если ты прекратил работать с флешкой и уверен на миллион процентов, что все программы прекратили это делать, то можешь смело вытаскивать флешку. Есть, правда один ньанс: пока ты будешь тянуться за флешкой какая-нибудь программа может снова начать работать с флешкой, поэтому никакой красно-зеленый индикатор здесь не поможет(а, скорее — даже будет злом). И какой бы «мифичной» не казалась бы вероятность того, что какая-нибудь программа начнёт в этот момент что-либо писать на флешку — она есть, а при наличии разного рода вирусов, так сильно любящих создавать autorun.inf/folder.htt и делать прочие гадости аля «папка.exe», эта вероятность становится очень даже реальной.
От системного — точно далёк.

Мылсь тут такая появилась. Дискеты отмонтировать не нужно. Как же можно было бы сблизить поведение флешек и дискет?

Дискету во время записи тоже нельзя вынимать. Однако, никто, находясь в трезвом уме, не будет вынимать дискету из жужжащего дисковода. Значит, можно/нужно сделать подобный индикатор на флешке (и на многих он есть). Чтобы избежать случаев, когда пользователь посмотрел на лампочку и начал вынимать, а тут — бац — какой-то процесс начал запись, можно лампочку включать за секунду до записи (делать небольшую задержку перед записью), а чтобы избежать постоянного мигания, когда пишется много маленьких блоков, можно выключать только через секунду после прекращения записи.

Впрочем, это решение тоже корявое. Вопрос на кого ложится ответственность за задержки и лампочку — на ос или на само устройство, да и вообще такие задержки не есть хорошо. Создание всяких опций типа «простая (с задержками)/сложная(с размонтированием) работа с флешкой» тоже будет лишний раз путать.

Буду дальше думать. Спасибо за такой развёрный диалог!
> Вопрос на кого ложится ответственность
Вот-вот. Под словами «безопасно реализовать» я понимаю именно «ответственность на ОС», т.е. ОС должна в таком случае гарантировать безопасность моих данных, а, так как я отлично понимаю, что гарантировать она мне ничего не может, я особо на этот счёт не переживаю :).
Дискеты размонтировать нужно.
Как раз индикатор был бы полезен! А то хрен определишь использует кто флешку или нет.

Автомантическое размонтирование есть в Линуксе: habrahabr.ru/blogs/ui_design_and_usability/48124/#comment_1242069

И кстати. сколько я не вытаскивалол флешку — ничего страшного не было. максимум — пройтись chkdsk и все ОК.
Вам везло. Я встречался с такими случаями много раз.
UFO just landed and posted this here
Вот если буферизацию убрать — то можно и просто так вытаскивать. Но скорость работы с флешкой значительно падает.
как время ее жизни…
Флешки которые сейчас распространены имеют достаточно ограниченый ресурс записи, фат(в котором отформатирована большая часть) не оптимизирован под флешки. Например вы копируете 10к файлов, если сектора в которых находятся данные перезапишутся по 1 разу, но какие то сектора относящиеся к таблице файлов будут переписаны те самые 10к раз… если учесть что ресурс например 200к то вспомянаются дискетки которые имеют свойство умирать, в этом буфер спасает.
Представил себе концепцию мигрирующей по флешке таблицы разделов :)
1) Система всегда прекрасно знает, ест ли открытые файлы и не пуст ли системный кеш
2) Проводник и подобные могли бы и не держать хендл директории открытым. необходимости в этом нет

Я слышыл что извращенцы-линуксоиды придумали такую штуку  — система периодически пытается отмонтировать устройство. если оно не используется > 30 секунд, а при обращении к нему монтирует назад. таким образом, флешк отмонтируется сама.

Но у них это сделано каким-то мягко говоря непрямым путем, мне не нравится реализация.
Это невозможно безопасно реализовать. В принципе невозможно.
Но очень хочется! :) Поэтому нужно думать в два раза сильнее, чтобы найти решение этой проблемы. Хоть я и не системный программист, но чесслово не верю, что это абсолютно невозможно. (Впрочем, сомневаюсь, что разработчики — обычно умные люди — не задумывались об этом раньше)
См. выше, я объяснил почему это невозможно(даже если подумать в три раза сильнее :)).
UFO just landed and posted this here
А еще есть Мой Компьютер — *девайс* — пкм — извлечь
тоже работает :)
Хотя сам извлекаю так же, из трея :) (В ХР)
семерку еще не ставил, пока в раздумьях :)
удобнее просто вывести все диски на паель задач и в случае чего:
правой кнопкой — извлечь
левой кнопкой, чтобы открыть проводник
А я выдираю прямо так, по живому. Наверно дурак, но очень уж ленивый
Я так тоже выдирал, пока нечаянно не угробил память в плеере. Теперь всегда «извлекаю» =)
Ну я готов к этим жертвам ) На рабочем и домашнем компе настроено фоновое резервоне копирование данных с флешки, а сама она не так дорога мне, чтобы каждый день минимум по 3-4 раза тыкать в это безопасное извлечение
Теперь всегда «извлекаю»

ох как звучит.
Я тоже практически никогда не пользовался этой функцией. Правда всегда старался закрыть все, что бы открыто с флешки.
Аналогично, проблемы с потерей данных случались на win2000, но на версиях новее никогда.
вот так же 4 года…
ни разу ни чего, не потерялось, не удалилось, не сгорело, а эти действия просто бесят…
На майкрософт.ком читал как-то что оно (отключение) опасно только когда есть обращение к диску. Легенды всё это, как и про QoS службу напридумывали.
А лучше сделать кнопочку отмонтирования прямо на флэшке.
Несколько дней назад мне тоже приходила такая идея. Но нужен специфичный драйвер…
А это не проблема. Да, сначала надо будет ставить драйвер на каждый используемый компьютер, а через некоторое время эти драйвера будут идти вместе с ОС.
Зачем на флешке? У меня на ноуте есть бесполезная кнопка — запуск медиацентра.
С радостью бы её заюзал под функцию сброса кешей сменных накопителей.
Всю жизнь выдергиваю флешки, и не имею проблем, за сим мне пофигу)
Аналогично, никаких проблем нет (только лет пять назад WinXp перезагрузился)
никогда не пользуюсь «безопасным извлечением» и никогда проблем не было.
главное не вытаскивать девайс в момент передачи данных.
хотя может кто-то думает иначе…
неужели кто-то до сих пор пользуется «safely removal»?
в ОС по дефолту стоит Quick Removal чтобы мона было просто дергать
Я в случае с флэшками смотрю на индикатор на самой флэшке, если перестает моргать секунд 5, то выдергиваю без всяких отмонтирований. USB как и флэшки (нормальные, не Noname) предусматривают горячее подклчюение/отключение. Уже 2 (или 3) года так поступаю, флэшки SanDisk, Apacer, Transcend. Ни одного мертвого порта или флэшки, и да, всегда данные все запсиывались правильно )
все равно в Mac для этого один клик нужен.
ой сколько я уже флешек угробил так выдергивая :(. надо что-то делать
урааа! на жопе винды проступает лицо… хотя, скорее это рожа))
каждый минус показывает не мою глупость, а напротив)
наивные манагеры! ручка так и тянется минусовать… но вы такие смешные- да мне пофигу на эти рейтинги! как же вам не понять- я банально пользуюсь своим логином и вращал я остальных на… а каждый минус- это плюс, для меня.
Не парьтесь, это уже давно не действует.
Не вы превый, не вы последний.
на вас? так и не надо) я ж не шутил
В висте вроде ничего угадывать не надо, левой кнопкой по значку в трее и выбираешь устройство которое надо извлечь, всего два клика.
йо, йа тебя поздравляю!
Кто нибудь, вставьте скриншоты извлечения диска в Ubuntu (а то у меня ее под рукой нет)…
UFO just landed and posted this here
UFO just landed and posted this here
А я всегда выдергивал и не парился, еще ниче не загубил, но что то теперь насторожился…
ЗЫ: А для Windows 7 beta 1 там софт, игры и тому подобное идет от Vista? Что лучше ставить Vista иди её, где то читал что лучше сразу 7 ставить и не парится :D
Загубить, конечно, не загубишь, но можешь запросто оказаться в ситуации, когда архив, который ты писал на флешку, не открывается, потому как поврежден. Просто ты оказался быстрее и Windows не успела записать на флешку закешированные данные. Иногда бывает обидно.
В KDE 4 давно есть удобный апплет. правда без иерархии, но тоже с метками диска. и не надо там правой кнопкой жмякать.
Ужасный дизайн. Как в XP был, так и тут. Правильно cashby говорит — кнопку на флешке надо, либо какие-то решения с более быстрым доступом к этой функции. Хотя бы onmouseover'ом что-бы в один клик можно было это сделать.
Ради холивара:

а в Mac OS X надо всего-лишь перетащить значек диска на корзину :-)
В Маке для этого одна кнопка, а в Уиндоус тыща.
1. зато в маке одна кнопка и работает как положено, а в винде их тысяча и все работают через одно место
2. рядом в каментах предложили 2 альтернативных варианта
я правой кнопкой нажимаю, потом нажимаю «Извлечь»
перетаскивать на 24-дюймовнике закалебывает
Это ужасная метафора, которая ни раз сбивала пользователей с толку. Так что плохой пример.
вообще-то когда начинаешь перетаскивать, то значек корзины меняется на значек извлечения
Пользователь пуглив;) Особенно новичок… К тому же все привыкли, что drag & drop используется для перемкщения элементов.
В Мак ОС Х можно кроме того при фокусе тома нажать CMD+E и будет еджект диска, что таки удобнее чем тащить в корзину
Улыбнуло:
«Результат положительный — … — копирование завершилось с ошибкой...»
=)
А флешки все же нельзя просто вынимать после завершение копирования или чтения? Мне ни разу ничему это не навредило.

Мне просто уж очень лень тянутся в мелкий трей, чего-то там нажимать. Еще раздражает, что на правой кнопке мыша еще какой-то другой способ извлечения.
но самой удобноу утилитой навсегда останется umount — и никаких значков в трее!: о)
:) А самый удобный WM — это CDE:)
Лучше добавить к обзору вин7, по каждому изменению топик это жесть
Можно было просто в правокликовом меню сделать пункт «Сейфли ремув». Воистину властелины кликов.
а может у них покликовая оплата программистов?
чем больше пользователь сделал кликов — тем больше кодер из микрософт получил к зарплате ;)
А что сложного чтобы нажать два раза кнопку, затратив на это около 5 секунд? Поверьте, это лучше чем остаться, например, без курсача :(.
Именно… Эти грабли были наступлены на практике, только, к счастью, не с курсачом…
Я как-то задолбался целиться в значок трея, поэтому просто добавил в nncron следующую задачу:

#( -EjectDrive:H:
AsLoggedUser
WatchHotKey: "^@+{0x48}"
# Хоткей Ctrl+Shift+Alt+H
Action:
SWHide NormalPriority
START-APP: c:\Путь\DevEject\DevEject.exe -EjectDrive:H:
)#


На Ctrl+Shift+Alt+буква диска, сделал соответствующие записи. Еще для удобства добавил Ctrl+Shift+Alt+вверх и Ctrl+Shift+Alt+вниз, для открытия и закрытия CD, соответственно.

Разумеется, можно было все сделать и проще, например в виде значков на рабочем столе с теми же хоткеями и понятно, что не всем весело вспоминать на какой букве нужный девайс, но меня это не мучает. Я видел и другие предложения например на форуме nncron было решение отключением через Num Lock, путем последовательного перебирания дисков на предмет removable.

Мне абсолютно непонятно, почему нельзя было, к примеру, для каждой флешки создавать свой значок в трее, с однокликовым отключением последнего.
Или на десктопе, как в Маке… Хотя хотки удобнее, например, в USB Safely Remove
Это, наверное, фишка беты или сборки 6590, потому что в 6801 нету =(
А что если так?

1. Человек вытаскивает флешку не задумываясь ни о чём, когда это ему надо
2. Система проверяет, не остались ли нескинутые данные в кэше
3. В случае если осталось, мгновенно предлагает засунуть флеш обратно
4. По всовывании сама скидывает кэш на флэш

Из плюсов:
+ очень интуитивно: просто вынимаешь флэшку и всё; в случае форс-мажора просто следуешь инструкции
+ покрывает 90% случаев без всяких терзаний мыши
Кстати вопрос знатокам — отчего так бывает (бывает же?) что при выемке USB-устройства то разъём сгорит, то флэш-память испортится? о_О
Инвалиды — вместо глупого сообщения об ошибке писали бы конкретно какая программа держит открытые файлы!
UFO just landed and posted this here
в лине поставил автомоунт — теперь, если к флешке никто не обращается, она сама отмонтируется. Если есть некая неуверенность, то df (выводит список примонтированных устройств)+umount, но пока проблем не было.
Странно что никто не упомянул (или упомянул?) что небезопасное извлечение еще чревато не только из-за процесса записи/чтения но и перепадов напряжения
Хм, а «безопасное отключение» убирает напряжение с USB?
Если зайти в «Мой компьютер» и кликнуть правой кнопкой мышки по флэшке, среди всех пунктов, есть пункт «Извлечь». Если бы он работал — было бы намного удобней.
Там же ясным языком написано:

Оптимизация для быстрого удаления
— Данная настройка отменяет кеширование в Windows, поэтому можно отключить устройство без значка «безопастное удаление».

Я вот и не понимаю, что все «писаются» когда вытаскивают свои флешки. Единственно если флешка чужая, то хозяин мог сменить эту опцию, вот тогда лучше извлекать безопасно.
Меню стало древовидным. Дисковые тома являются дочерними элементами своих физических устройств.

По моему в XP так и было. i41.tinypic.com/2viqzwg.jpg — вставленно две влешки,( два usb mass storage device, в одном еще карточка microsd и card reader).
… Я, если честно, вообще не понимаю нафига нужно это безопастное отключение…
… Ниразу в жизни им не пользовался и никаких проблем никогда не было, ни с фотиками, ни с флэшками, ни с юзб дисками, никогда…
… Я, если честно, вообще не понимаю нафига нужно это безопастное отключение…
… Ниразу в жизни им не пользовался и никаких проблем никогда не было, ни с фотиками, ни с флэшками, ни с юзб дисками, никогда…
А мы Флешки выдираем из компьютера :) Без всяких «извлечений».
Хочу поделиться отличной программкой USB Disk Ejector
Пользуюсь уже долгое время, очень нравится.
Тестовое сообщение!
Опять сделали слишком муторно. В Gnome правый клик на устройстве, отсоединить том. Если идет запись, то всплывающим сообщением попросит подождать и следующим всплывающим сообщением разрешит вытаскивать.
Никуда больше не надо целиться мышкой, думать какая у диска буква и жать «Try Again»!
Вам не кажется, что странно, что такой кусок системных кишок, вообще имеет право на существование. Обычные люди вообще не понимают для чего все это надо. Пока им не объяснят, что так надо делать, потому что это правильно. Надо просто скидывать не потоком байтов, а грубо говоря одной транзакцией. Это кажется решит проблему скидывания буфферов.
в продукте windows начиная не помню с какой по умолчанию стоят настройки которые позволяют просто доставать флешку из устройства без безопасного отключения.

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

Я например не понимаю смысл использования сторонних утилит для безопасного извлечения. Зачем засорять ось программами которые представляют стандартные возможности OS только в более (что спорно) юзер френдли интерфейсе.

то в каком виде это в Windows 7 меня устроит чуть больше чем полностью

PS с наступающим старым новым хабралюди=)
Sign up to leave a comment.

Articles