Чи шкодить Ubuntu USB-накопичувачі?


74

Щоразу, коли я відключаю USB-накопичувач із Nautilus та підключаю його до машини Windows, я отримую попередження про необхідність відновлення накопичувача.


(те саме повідомлення, що і на цьому скріншоті)

За 10+ років роботи з Windows у мене ніколи не було пошкодженого або пошкодженого USB-накопичувача, але протягом останніх двох років три мої USB-накопичувачі прийшли в непридатність, тому я не можу цього довести, але очевидно, що це пов'язано з поведінкою (не) монтажу Ubuntu .

Друг сказав мені, що я можу запобігти такій шкоді за допомогою udisks та синхронізації, але сподіваюся, що це не такий спосіб, монтуючи диски з командами оболонки в 2016 році.


1
Я б спробував два тести, щоб з'ясувати першопричину: 1) Чи можете ви запобігти появі помилки, якщо ви зателефонуєте syncв оболонку перед відключенням в Ubuntu? (навряд чи) 2) Спробуйте записати лише один файл одночасно, відключіть його, а потім перевірте, чи може цей файл читатись у Windows та чи вміст оновлений, не дивлячись на це попередження. 2) означає, що проблема, швидше за все, з Windows суєтливо каже: "ми знайшли помилки" про якусь нереальну проблему.
аріельф

2
Не вірте людям, коли вони скажуть вам, що Linux не зіпсує ваші диски. Це може. У Ubuntu 15 проста копія файлів з наступною перезавантаженням послідовно давала мені помилки в chkdsk, як це:Stage 2: Examining file name linkage ... Found corrupt basic file structure for "<0x32,0x1e63>" ... queued for offline repair. Found an unneeded link ($FILE_NAME: ???) in index "$I30" of directory "\ <0x5,0x5>" ... queued for offline repair. Found missing Index entry for file "<0x32,0x1e63>" from index "\??\D:\found.000" of directory "$I30" ... queued for offline repair.
Mehrdad

1
^ ... не кажучи вже, цього навіть не було на флешці, це було на моєму основному SSD. Зовсім новий SSD. І щоразу траплялося, що після копіювання файлу я не додав тони зайвого вводу / виводу. Іншими словами, впровадження NTFS в Linux порушено, наскільки його шанувальники захочуть заперечувати це та уникати віри.
Мехрдад

12
Це файлова система NTFS? FAT32? Чи можете ви відтворити це надійно?
Брайам

2
Що так поганого в монтажі накопичувачів з командними оболонками ? ¯\(o_o)/¯
ulidtko

Відповіді:


104

Не хвилюйтесь, Ubuntu не пошкодив ваш USB-накопичувач. Але ми не використовуємо погано задокументовані бітові прапори файлової системи FAT32, FAT16 або NTFS. У Windows ці прапори вказують на можливу пошкодження файлової системи, коли ми неправильно відключили накопичувач або сталася помилка вводу / виводу.

Ці біти знаходяться в зарезервованому записі таблиці розділів FAT. Згідно з внутрішнім документом Microsoft 2004 року, ці біти мають на меті:

  • ClnShutBitMask:
    Якщо біт 1, гучність "чиста". Гучність можна встановити для доступу. Якщо біт дорівнює 0, гучність "забруднена", що вказує на те, що драйвер файлової системи FAT не зміг правильно демонтувати гучність (під час попередньої операції монтажу). Вміст гучності слід сканувати на предмет пошкодження метаданих файлової системи.
  • HrdErrBitMask:
    Якщо цей біт дорівнює 1, жодних помилок читання / запису диска не виявлено. Якщо цей біт дорівнює 0, реалізація драйвера файлової системи зіткнулася з помилкою дискового вводу / виводу на гучності в останній раз, коли він був змонтований, що є індикатором того, що деякі сектори можуть зіпсуватися. Вміст гучності слід відсканувати за допомогою утиліти для відновлення диска, яка робить поверхневий аналіз на ньому, шукаючи нові погані сектори.

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

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


3
Я ніколи не мав цих помилок на цих накопичувачах, коли фактично безпечно відключаю диски - ви впевнені, що підтримка цих бітів відсутня?
Томас Уорд

5
@ThomasW. Ці біти є досить незрозумілими, але у мене періодично виникають помилки з моїми USB-накопичувачами у форматі Ubuntu на робочому місці Windows 7. Поки що я не бачив жодної корисної схеми. Я можу сказати лише те, що я завжди правильно відключаю / виймаю диски. Тестування непросте, оскільки вдома немає Windows, на роботі немає Ubuntu.
Таккат

Заголовок помилковий.
MatthewRock

@MatthewRock: краще?
Таккат

Так, краще.
MatthewRock

74

Це здебільшого проблема Windows. Він вважає, що це єдина ОС у світі та діє, якщо виявить щось, чого не розуміє.

Тільки тому, що Windows каже, що ви повинні відремонтувати накопичувач, це не відповідає дійсності.

Будь-який з моїх дисків, які використовуються з Ubuntu, отримує це повідомлення від Windows, я просто кажу, noі вони добре працюють з Windows.

Коротше кажучи, у диску немає нічого поганого, Windows там просто не розуміє, і його реакція знищує його.

Не repairдиска, він буде форматувати його, не повідомляючи, і ви втратите всі дані на диску.


40
1. Ремонт не форматує, ремонт зберігає виділені дані у папку. Для мене здається, що Ubuntu не закінчив процес запису належним чином.
jan6352781

10
2. Більшість USB-накопичувачів мають формат FAT32, розроблений корпорацією Майкрософт, тому чому Windows повинна бути єдиною системою, яка "не розуміє" щось ??
jan6352781

17
-1 тому що це безпідставно і неправильно. Я бачив, як Ubuntu 15 зіпсував мій обсяг NTFS (так, я знаю, ви мені не повірите, але я бачив це на власні очі і відтворював щонайменше 3-4 рази поспіль, перш ніж в це повірити сам), і це сталося навіть незважаючи на те, що я явно синхронізував усі буфери. Я погоджуюся з @ jan6352781, що я також підозрював, що це пов'язано з тим, що процес запису не закінчується, і я все ще роблю це. Насправді, якщо ви будете чекати досить довго після запису перед перезавантаженням Ubuntu, це буде добре. У нас немає підстав вважати, що Windows тут винна, і всі підстави вважати, що Ubuntu є.
Мехрдад

7
Відновлення диска не форматує його. Він працює chkdsk. Він не більше форматує диск, ніж формат fsck на диску.
Подорож Гек

16
Ця вся відповідь - це лише зубріння Windows з нульовими доказами (крім випадкових).
Міллі Сміт

18

Як ви запропонували в коментарі, це, можливо, пов’язано з тим, що Ubuntu не завершив процес запису перед тим, як видалити флешку. Ubuntu записує файли в ОЗУ під час процесу копіювання та записує ці файли з буфера на USB-накопичувач у фоновому режимі після закриття діалогового вікна копіювання. Є ще одна відповідьЦе говорить про те, що це особливо проблема для машин з великим об'ємом пам'яті, але, ймовірно, ви виймаєте накопичувач до завершення запису на фоні. Коли ви виймаєте привід, це змушує записати буфер на диск, але важко сказати, коли запис фактично завершено. Існує спливаюче вікно в новіших версіях (15.10 для певних, можливо, 15.04), призначених для усунення цього - фіолетове попередження з’являється через деякий (як правило, короткий) час, який говорить щось за рядком "[Диск] тепер можна видалити" один раз запис закінчений.

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


Я отримую спливаюче вікно в 14.04 (Linux Mint KDE Edition) кожного разу, коли я виймаю USB-накопичувач, а також мої 15.10 машини Kubuntu. Не впевнений про 15.04, але я би припустив, що так.
Джон Бентлі

1
GUI насправді не робить це очевидним? Я використовую ejectв терміналі давно, і перед його поверненням помітна затримка, якщо я щойно скопіював великий файл.
Ізката

1
@Izkata На ванілі Ubuntu 14.04, коли ви натискаєте символ викиду в Nautilus, він зникає негайно. На відміну від внутрішніх накопичувачів, USB-накопичувачі повністю зникають з бічної панелі, коли повністю відключені (тобто запис закінчено), тому деякий час, протягом якого записується USB-накопичувач, але здається, викидається.
alex_d

5

Я бачив безліч usb-накопичувачів, особливо флеш-карт (SD тощо) в USB-адаптерах, при цьому файлові системи FAT (практично кожен USB-накопичувач поставляється заздалегідь відформатований з FAT32) пошкоджуються під час використання дистрибутивів Ubuntu та Ubuntu. Це було майже регулярним явищем кожні кілька місяців регулярного щоденного використання.

Якщо це проблема з обладнанням, то форматування розділів за допомогою ext3 (або 4) не повинно допомогти, але ext3 / 4 робить файлові системи практично бездоганними. (ext2 також була пошкодженою протягом декількох місяців, які я пробував; мав бути менше записів, тому довше життя флеш-накопичувачів, в основному з жодного журналу).

Отже, Ubuntu не повинен фізично пошкоджувати самі USB-накопичувачі, але я все одно не довіряю це 100% файловим системам FAT.

Я думаю, що корупції файлової системи можна найкраще уникнути:

  • Ніколи не відключайте USB-накопичувач до тих пір, поки його не буде відключено / umount/ витягнуто. Навіть якщо на диску накопичувач нічого не пише (якщо у нього світло не блимає), і навіть якщо ви зробили syncфайлову систему,
  • Зачекайте принаймні кілька секунд після umount/ виймання, перш ніж вимкнути його. Здається, що навіть після umountактивності диска інколи може недовго блимати індикатор. Інші користувачі, як цей хлопець, кажуть, що це може тривати до хвилини.
  • Не покладайтеся лише на syncодного, як на цього хлопця, який отримав корупцію у файлі.

Пов'язані (як правило) посилання:


3

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

Цю помилку можна створити і в Windows, якщо ви просто витягніть накопичувач під час запису, не спочатку відключаючи його (у Windows "Виймання" виконує відключення).

Побачення цього повідомлення означає, що диск не був відключений належним чином.

Ви можете самостійно перевірити, чи дійсно файлова система була пошкоджена чи це просто помилково позитивний результат: якщо після запуску «Ремонт» з’явиться нова папка з назвою «found000» з деякими файлами в ній, це означає, що дійсно було незавершено написати, що перервались. Частина ваших даних була втрачена, і це викликає занепокоєння.


2

Я використовую кілька років ubuntu та Windows з подвійним завантаженням, і коли я відключаю накопичувач правильним способом, у Windows завжди з’являється повідомлення про помилку, але ніколи не було помилки на моєму USB-диску. У W10 ви можете вимкнути це спливаюче повідомлення про помилку.

введіть тут опис зображення


1

Майже немає способу, щоб жодна ОС могла пошкодити USB-накопичувач, після нормального формату (не швидкого) не повинно бути жодного сліду, щоб накопичувач ніколи не використовувався з Ubuntu.

Перевірте накопичувачі за допомогою "H2testw" або "Тестер USB-накопичувача USB" - погані сектори можуть бути джерелом багатьох дивних помилок.


4
ОП сформульовано погано, але це означає "файлова система", а не "флеш-диск".
wizzwizz4

Виявляється, що OP може означати фактичне пошкодження USB-накопичувача , вони кажуть: "У мене ніколи не було пошкоджених або пошкоджених USB-накопичувачів, але протягом останніх двох років три мої USB-накопичувачі не працювали " Якби вони мали на увазі просто пошкоджені, вони, ймовірно, сказали б пошкодженими, замість "непрацюючого" @ wizzwizz4
Xen2050

3
@ Xen2050 Тим не менш, всі інші відповіді та теми коментарів, включаючи jan6352781, мають на увазі або заявляють, що файлова система є проблемою, а "зламаний пристрій" - це екстраполяція з них, яка не працює належним чином.
wizzwizz4

@ wizzwizz4 Ну, у відповіді Марка Кірбі, ОП коментує "3. Останні роки я пропускав ремонт майже щодня, закінчуючи пошкодженими файлами та USB-накопичувачами ." Я здогадуюсь, що це просто зі старих накопичувачів, які б не вийшли з ладу, Windows чи ні, але вони все ж сказали це
Xen2050

@ Xen2050 Або, можливо, в ОП посилалося на старе повідомлення "Пристрій пошкоджено. Ви хочете, щоб Windows виправила це?" (перефразоване), що іноді виникає, коли інший dll вирішує питання. (У мене це було, як я з'явився сам, хоча я не впевнений, що останнє речення правильне.)
wizzwizz4

1

Я не можу сказати, якщо привід був "пошкоджений", можливо, це було, а може і не було. Але як хтось може сказати те саме: "Протягом 10+ років працюю з Windows ...", я можу вам сказати, що якщо ви працюєте з Windows 10, це може стати джерелом ваших нових проблем. Я зіткнувся з новою проблемою свого першого дня 10: в 10 створена база даних для зовнішніх накопичувачів (це може бути база даних індексування, я не пам’ятаю). Якщо ця база даних не відповідає диску, вона скаже вам, що ваш диск пошкоджений, іноді ви можете проігнорувати це попередження, а іноді не можете (див. Анекдот). Запуск «ремонту» виправить базу даних.

Анекдот:

Я не можу пригадати, де я знайшов цю інформацію, але дізнався про неї, коли перемістив папку "Музика". Він скаржився, що диск був зламаний, а не просто скаржився на папку, яку він шукав, що вже не існує. Перед тим, як запустити ремонт, нове місце з’явилося на Ubuntu, а старе місце - у Windows 10 ... але всі файли не вдалося відкрити 10. Після того, як я запустив ремонт, нове розташування папки «Музика» з’явилось у Windows, стара папка зник, і він знову працював на Windows.

Біг sync- теж не погана ідея.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.