Повреждает ли Ubuntu USB-накопители?

74

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


(то же сообщение, что и на этом скриншоте)

За 10 с лишним лет работы с окнами у меня никогда не было поврежденного или поврежденного USB-накопителя, но в течение последних двух лет три моих USB-накопителя перестали работать, поэтому я не могу этого доказать, но очевидно, что это связано с поведением Ubuntu (не) монтирования ,

Мой друг сказал мне, что я могу предотвратить такой ущерб, используя udisks и синхронизацию, но я надеюсь, что это не способ сделать это, подключая диски с помощью команд оболочки в 2016 году.

jan6352781
источник
1
Я бы попробовал два теста, чтобы выяснить первопричину: 1) Можете ли вы предотвратить появление ошибки, если вы вызываете syncв оболочке перед размонтированием в Ubuntu? (маловероятно) 2) Попробуйте записать только один файл за раз, размонтируйте, а затем проверьте, можно ли читать этот файл в Windows, и его содержимое обновлено, несмотря на появление этого предупреждения. 2) означает, что проблема, скорее всего, связана с тем, что Windows суетливо говорит «мы нашли ошибки» по поводу некоторой не реальной проблемы.
arielf
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.

Takkat
источник
3
У меня никогда не было этих ошибок в этих дисках, когда я действительно безопасно размонтировал диски - вы уверены, что поддержка этих битов отсутствует?
Томас Уорд
5
@ThomasW. Эти биты довольно неясны, но у меня иногда бывают такие ошибки с моими USB-накопителями в формате Ubuntu на моем рабочем месте Windows 7. До сих пор я не видел никаких полезных шаблонов. Единственное, что я могу сказать, это то, что я всегда правильно отключаю / извлекаю диски. Тестировать непросто, потому что дома нет Windows, на работе нет Ubuntu.
Таккат
Заголовок ложный.
MatthewRock
@MatthewRock: лучше?
Таккат
Да, так лучше
MatthewRock
74

Это в основном проблема с Windows. Он думает, что это единственная ОС в мире и действует, если обнаруживает что-то, чего не понимает.

Только потому, что Windows говорит, что вы должны восстановить диск, это не значит, что это правда.

Любой из моих дисков, используемых с Ubuntu, получает это сообщение от Windows, я просто говорю, noи они прекрасно работают с Windows.

Короче говоря, с диском все в порядке, просто есть что-то, чего не понимает Windows, и ее ответ - уничтожить его.

Не repairиспользуйте диск, он отформатирует его, не сказав вам, и вы потеряете все данные на диске.

Марк Кирби
источник
40
1. Восстановление не форматирует, восстановление сохраняет выделенные данные в папку. Мне кажется, что Ubuntu не заканчивает процесс записи должным образом.
января
10
2. Большинство USB-накопителей имеют формат FAT32, разработанный Microsoft, так почему Windows должна быть единственной системой, которая «не понимает» что-то ??
января
17
-1 потому что это необоснованно и неправильно. Я видел, как Ubuntu 15 испортил мой том NTFS (да, я знаю, что вы мне не поверите, но я видел это собственными глазами и воспроизводил по крайней мере 3-4 раза подряд, прежде чем поверить в это сам), и это произошло даже несмотря на то, что я явно синхронизировал все буферы. Я согласен с @ jan6352781, что я также подозревал, что это произошло из-за того, что процесс записи не был завершен, и я все еще делаю это. На самом деле, если вы подождете достаточно долго после записи перед перезагрузкой Ubuntu, все будет работать нормально. У нас нет оснований полагать, что в этом виновата Windows, и есть все основания полагать, что в этом виновата Ubuntu.
Mehrdad
7
Ремонт диска не форматирует его. Работает чкдск. Он форматирует диск не более, чем fsck.
Подмастерье Компьютерщик
16
Весь этот ответ - просто разглагольствование Windows с нулевыми доказательствами (кроме анекдотических).
Милли Смит
18

Как вы предложили в комментарии, это, возможно, связано с тем, что Ubuntu не завершает процесс записи перед удалением флэш-накопителя. Ubuntu записывает файлы в ОЗУ во время процесса копирования и записывает эти файлы из буфера на USB-накопитель в фоновом режиме после закрытия диалогового окна копирования. Есть другой ответэто говорит о том, что это особенно проблема для машин с большим объемом памяти, но вполне вероятно, что вы извлекаете диск до завершения фоновой записи. Когда вы извлекаете диск, это заставляет буфер записываться на диск, но трудно сказать, когда запись фактически завершена. Существует всплывающее окно в более новых версиях (наверняка 15.10, возможно, 15.04), предназначенное для исправления этого - через некоторое (обычно короткое) время появляется пурпурное предупреждение, в котором говорится, что однажды что-то вроде «[Диск] теперь можно удалить» один раз запись закончена

Это, вероятно, причина, по которой ваш друг предложил синхронизировать. Запуск syncв терминале заставляет все буферизованные данные записываться на диск и должен возвращаться только после завершения записи (см. Этот ответ ). Посмотрите этот ответ для утилиты, которая поможет вам определить, действительно ли это проблема.

alex_d
источник
Я получаю всплывающее окно в 14.04 (издание Linux Mint KDE) всякий раз, когда я извлекаю 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одного, как этот парень, который получил повреждение файла.

Связанные (как правило) ссылки:

Xen2050
источник
3

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

Эта ошибка также может быть создана в Windows, если вы просто извлекаете диск во время записи, не отключая его сначала (в Windows «Eject» выполняет размонтирование).

Это сообщение означает, что диск не был размонтирован должным образом.

Вы можете самостоятельно проверить, действительно ли файловая система была повреждена или это просто ложное срабатывание: если после запуска «Восстановить» появляется новая папка с именем «found000» с некоторыми файлами в ней, это означает, что действительно была незаконченная запись, которая был прерван. Некоторые из ваших данных были потеряны, и это вызывает беспокойство.

Agent_L
источник
2

Я использую несколько лет Ubuntu и Windows с двойной загрузкой, и когда я размонтирую диск правильным способом, в Windows всегда появляется сообщение об ошибке, но никогда не было ошибки на моем USB-диске. В W10 вы можете отключить это всплывающее сообщение об ошибке.

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

tviragh
источник
1

Практически невозможно, чтобы любая ОС могла повредить USB-накопитель, после нормального формата (не быстрого) не должно быть никаких следов того, что диск когда-либо использовался с Ubuntu.

Проверьте диски с помощью «H2testw» или «USB Flash Drive Tester» - плохие сектора могут быть источником многих странных ошибок.

user158037
источник
4
ОП плохо сформулирован, но означает «файловая система», а не «флэш-ПЗУ».
wizzwizz4
Похоже, что OP может означать фактическое повреждение USB-накопителя , они говорят: «У меня никогда не было поврежденного или поврежденного USB-накопителя, но за последние два года три из моих USB-накопителей перестали работать ». Если бы они имели в виду просто поврежденные, они, вероятно, сказали бы, что повреждены, вместо «не работает» @ wizzwizz4
Xen2050
3
@ Xen2050 Тем не менее, все остальные ответы и потоки комментариев, включая jan6352781, подразумевают или указывают на то, что файловая система является проблемой, а «сломанное устройство» - это экстраполяция, которая не работает должным образом.
wizzwizz4
@ wizzwizz4 Ну, в ответе Марка Кирби комментирует OP «3. Последние годы я пропускал ремонт почти каждый день, заканчиваясь поврежденными файлами и USB-накопителями» . Я предполагаю, что это просто из-за старых дисков, которые могли выйти из строя, Windows или нет, но они ОП все еще сказали это
Xen2050
@ Xen2050 Или, возможно, OP ссылался на старое сообщение «Устройство повреждено. Хотите, чтобы Windows это исправила?» (перефразировано), которое иногда возникает, когда другой dll решает проблему. (У меня было это, кажется, сам, хотя я не уверен, что последнее предложение правильно.)
wizzwizz4
1

Я не могу сказать, был ли диск "поврежден", возможно это было и возможно это не было. Но как человек, который может сказать то же самое: «Более 10 лет работаю с Windows ...», я могу вам сказать, что если вы работаете с Windows 10, это может стать источником ваших новых проблем. В первый день 10 декабря я столкнулся с новой проблемой: в 10 создается база данных для внешних накопителей (это может быть база данных индексации, я не помню). Если эта база данных не соответствует диску, она сообщит вам, что ваш диск поврежден, иногда вы можете игнорировать это предупреждение, а иногда нет (см. Анекдот). Запуск «ремонт» будет исправить базу данных.

Анекдот:

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

Бег syncтоже не плохая идея.

черный
источник