Витягти юсб. Безпечне вилучення флешки, навіщо це потрібно? Що робити, якщо з панелі завдань зник значок безпечного видалення пристрою

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

А як знайти такі програми, через які флешка безпечно не витягується? У мене на минулій роботі часто були випадки, коли начебто закінчив роботу з флешкою, закрив усі файли, а при відключенні все одно пише, що пристрій ще використовується. Нервів моїх не вистачало і просто відключав флешку від USB порту. Але знищивши в такий спосіб кілька флешок, я вирішив замислитися, як же обчислити чим саме зайнята флешка в момент відключення.

Ось власне таке повідомлення з'являється коли ви хочете відключити флешку, яка використовується якоюсь програмою, або з неї відкритий файл

Пристрій використовується. Завершіть виконання всіх програм і закрийте всі вікна, які можуть використовувати цей пристрій, а потім повторіть спробу.

Благо, добрі програмісти написали спеціальну програму, за допомогою якої можна вичіслити, що за процес або файл "тримає" флешку і не дає її відключити.

Програма ця називається Dev Eject. Суть її в тому, щоб знаходити процес, який зараз займає вашу флешку, з програми цей процес можна відключати і після цього безпечно витягувати флешку.

Після встановлення, запустіть програму та виберіть свою флешку

Тепер натисніть “ Eject” для безпечного відключення флешки, якщо флешка зайнята якоюсь програмою, з'явиться подібне вікно:

Як бачите в цьому вікні показаний процес, який зараз використовує флешку. Це програма для перегляду зображень. Забув картинку закрити, що знаходиться на флешці. Щоб не шукати десь там у вас відкрита ця картинка, просто натисніть правою кнопкою на процесі і виберіть “ Kill process

Незалежно від операційної системи, при вийманні флешки завжди рекомендується перед тим як фізично витягнути пристрій з комп'ютера, відключити його від системи програмно. Чи це так важливо і потрібно?

У цій статті ми спробуємо розібратися, навіщо потрібно безпечне вилучення флешки і чи справді воно так необхідне. Хоча стаття більш орієнтована на Linux, але це завдання спільне для всіх операційних систем, тому вона буде корисна також користувачам MacOS і Windows.

Якщо я вас попрошу витягти флешку з комп'ютера під час того, як на неї пишуться дані, то, швидше за все, ви відмовитеся це робити. Ви знаєте, що дані записуються на диск і якщо його відключити, то зі стовідсотковою ймовірністю дані на флешці будуть пошкоджені, і точно не будуть записані.

Але навіть якщо ваша флешка не знаходиться в активному стані, її непередбачене вилучення може призвести до пошкодження даних. Це відбувається через кешування, що використовується у всіх операційних системах. При копіюванні інформація не записується відразу на диск USB замість цього для прискорення роботи пристрою її частина зберігається в оперативній пам'яті і записується тоді, коли система буде вільніша або коли ви захочете витягти флешку.

Система не завжди переносить дані одразу на диск, тому якщо ви несподівано для системи витягнете флешку з роз'єму, можливо, не всі дані будуть правильно записані. Імовірність такого результату нижча, ніж при активній роботі флешки, але вона є.

Чому Linux, MacOS та Windows поводяться по-різному?

Операційні системи поводяться майже однаково під час роботи з будь-яким диском. Це стосується не тільки флешок, але і вбудованих в корпус жорстких дисків. Дані, які потрібно записати спочатку потрапляють в пам'ять і знаходяться там деякий час. Також прочитані дані кешуються в оперативній пам'яті, якщо вони ще раз будуть потрібні.

Завдяки цьому система працює швидше. Адже в один момент часу з жорстким диском або флешкою ​​може виконуватися лише одна операція запису або читання, і можливо, в даний момент система має важливіші завдання, ніж записати ваш файл.

Безпечне виймання флешки Linux і MacOS навіть більше потрібно, ніж у Windows за умовчанням. Чому так? Windows не використовує кешування для дисків, які вважає знімними. Така поведінка системи за умовчанням, але її можна змінити у бік кращої продуктивності. Для цього відкрийте Диспетчер пристроїв> Дискові пристрої> Назва диска> Властивості> Політики:

З іншого боку, Linux і Mac використовують кешування для всіх стандартних дисків, у тому числі і знімних. Точно так само поводитиметься Windows якщо ви виберіть варіант Найкраща продуктивність. Linux дає вам повний контроль над керуванням дисками, у тому числі ви можете вказати, чи потрібно кешувати дані. Для цього достатньо створити запис для монтування флешки /etc/fstab і додати опцію монтування sync. Наприклад:

/dev/sdb1 /run/media/flash users,noatime,sync 0 0

Якщо ви використовуєте опцію монтування sync, всі дані, які будуть відправлятися на диск будуть відразу ж записані. Але зверніть увагу, що опція sync не скасовує безпечне виймання USB пристрою. Правильне розмонтування гарантує, що більше жодна програма не працює з флешкою ​​і там немає не збережених даних.

Якщо пристрій не розмонтовано, а файл відкритий у будь-якій програмі, то несподіване вилучення може призвести до пошкодження на рівні файлової системи. Можливо, там залишилися незавершені операції перед тим, як файл буде закритий.

Крім того, опція sync погано позначається на термін служби флешки. Ядро виконує запис у пакетному режимі, у кожен сектор щойно це потрібно. Для дешевих флешок, які не перерозподіляють сервера сучасна журнальна файлова система може стати останньою і дуже швидко вбити пристрій.

Для файлових систем FAT можна використовувати опцію монтування flush. Вона записує дані, як тільки диск стає неактивним. Це трохи покращує ситуацію.

Завжди використовуйте безпечне вилучення

Якщо ви витягнете флешку і перед цим її не розмонтуєте, з самою флешкою ​​навряд чи станеться, вона точно не згорить. Але якщо в цей час щось записувало на неї дані, вони будуть втрачені. Тому краще взяти за правило завжди розмонтувати флешку linux перед тим, як її вийняти з комп'ютера, причому це справедливо не тільки для Linux, але і для Windows.

Тим більше, що виконується все це в пару кліків мишкою. У Ubuntu це можна зробити за допомогою провідника. У KDE є спеціальний віджет на панелі завдань, який дозволяє безпечно витягти флешку:

Якщо ви хочете виконати цю дію через термінал, все робиться теж не набагато складніше:

sudo umount /dev/sdb1

Тут sdb1 – ім'я пристрою флешки у вашій системі. Після цього флешка буде підготовлена ​​до вилучення. У Windows це потрібно робити обов'язково, тому що на відміну від Linux, ця система може сама без вашого відома почати виконувати будь-які дії з флешкою, наприклад створити папку System Volume Information з метафайлами.

Однак іноді після завершення роботи з (всі файли, папки та програми із закритими)операційна система Windows«не віддає» її, тобто якась програма продовжує у фоновому режимі працювати з, наприклад, антивірус (або вірус!), або Провідник Windows, або інший файловий менеджер.

При цьому при спробі витягти через значок (розташований в області повідомлень Панелі завдань) з'являється вікно «Проблема при вийманні «Запам'ятовуючий пристрій для USB»з відповідним повідомленням:

Існують різні , творці яких клятвенно гарантують, що з допомогою їх безсмертних творів проблема із вилученням вирішується на один клік .

На жаль, найчастіше навіть за допомогою цих неможливо витягти. WindowsА тим часом, найпростіший спосіб вилучення, яку «не хоче віддавати» , завжди знаходиться під рукою (зазначений алгоритм дій для , для операційних систем

і + будуть незначні відмінності):

– закрийте всі програми та файли, які ви запускали та відкривали; - ЗапустітьДиспетчер завдань Windows (у будь-який спосіб, наприклад, за допомогою Ctrl+Alt+Delete , або за допомогою Пуск –> Виконати… –> taskmgr);

-> OK - Запустіть- у вікні відкрийте вкладку;

Процеси - Виділіть explorer.exe , натисніть кнопку;

Завершити процес – санкціонуйте завершення процесу – у вікніПопередження диспетчера завдань з повідомленням"УВАГА! Завершення процесу може призвести до небажаних результатів, у тому числі втрати даних або нестабільної роботи системи. Ви дійсно хочете завершити процес? натисніть;

-> OK - ЗапустітьТак виберіть меню;

Файл –> Нове завдання (Виконати…) – у текстове полеВідкрити вікнаСтворити нове завдання введіть taskmgr;

explorer Провідник Windows;

- Запуститься – спробуйте витягти значок.

Безпечне виймання пристрою

Примітки1. Не рекомендується працювати зі своїми файлами лише на .Ідеальний випадок – працювати з файлами на . Закінчивши роботу, скопіюйте їх на . Підключивши флешку до іншогоІдеальний випадок – працювати з файлами на . Закінчивши роботу, скопіюйте їх на . (на якому потрібно працювати), скопіюйтефайли на . Закінчивши роботу, знову

файли на . Тобто використовуйте за призначенням – для перенесення та тимчасовогозберігання файлів.

2. Якщо всі файли, що відкривалися, папки і програми закриті, але витягти її через значок

Найчастіше з цим немає проблем: достатньо натиснути на значку «Безпечне виймання пристроїв та дисків» (Safely Remove Hardware) в області сповіщень (системному лотку) та вибрати потрібний диск. Як тільки з'явиться повідомлення про те, що пристрій може бути безпечно вилучений (Safe To Remove Hardware), диск можна вимкнути.

Але іноді Windows натомість оголошує, що пристрій ще використовується (This device is currently in use) – не уточнюючи, щоправда, яким саме процесом. Без цієї інформації вирішити проблему непросто.

Для початку можна спробувати діяти навмання. Закрийте всі вікна Провідника (Windows Explorer) та будь-які програми, які можуть використовувати файли з диска, а потім знову спробуйте безпечно його витягти.

Якщо не допомогло, можна просто вимкнути комп'ютер – не приспати, а повністю вимкнути. Це завжди допомагає, але забирає багато часу та порушує робочий процес.

Є й простіший шлях: вийти із системи, знову увійти і знову спробувати безпечне вилучення пристрою. Це швидше повного вимкнення та включення, а проблемний процес при виході із системи напевно завершиться. Однак часу на такі маніпуляції теж йде чимало.

Саме тому я віддаю перевагу. Утиліта дозволяє не лише видаляти файли, які не видаляються засобами Windows, але й звільняє підключені до комп'ютера накопичувачі. Програма абсолютно безкоштовна, хоча користувачам пропонується пожертвувати 5 доларів на її розвиток.

Завантажте та встановіть утиліту, а коли Windows наступного разу оголосить, що "пристрій ще використовується", натисніть на диску правою кнопкою миші та виберіть пункт "Unlocker". Програма повідомить, які процеси викликають проблему, та запропонує варіанти її вирішення. Unlocker може перервати всі процеси, але є ризик порушити нормальну роботу Windows. Крім того, утиліта може спробувати звільнити файли, не перериваючи процесів, що їх використовують.

Я, проте, волію обходитися самотужки. З'ясувавши, який процес викликає проблему, легко здогадатися, що за програму потрібно закрити – імена процесу та програми зазвичай збігаються. Так що можна просто завершити роботу проблемної програми вручну, зберігши всі файли, а потім скористатися функцією безпечного видалення пристрою.