Vraag Veroorzaakt Ubuntu USB-drives?


Telkens wanneer ik een USB-drive met Nautilus ontkoppel en op een Windows-machine steek, krijg ik een waarschuwing dat de schijf gerepareerd moet worden.


(hetzelfde bericht als in deze screenshot)

Voor meer dan 10 jaar werken met Windows heb ik nooit een beschadigde of beschadigde USB-schijf gehad, maar gedurende de laatste twee jaar zijn drie van mijn USB-schijven buiten werking geraakt, dus ik kan het niet bewijzen, maar het is duidelijk dat dit te maken heeft met Ubuntu's (on) mountgedrag .

Een vriend vertelde me dat ik dergelijke schade kan voorkomen met behulp van udisks en synchronisatie, maar ik hoop dat dit niet de manier is om dit te doen, het koppelen van schijven met shell-opdrachten in 2016.


73
2018-04-01 09:54


oorsprong


Ik zou twee tests proberen uit te proberen om de oorzaak te achterhalen: 1) Kunt u voorkomen dat de fout verschijnt als u belt? sync in een schaal voordat je ontkoppeld in Ubuntu? (onwaarschijnlijk) 2) Probeer slechts één bestand tegelijk te schrijven, ontkoppel en controleer of dit bestand kan worden gelezen in Windows en of de inhoud up-to-date is, ondanks het zien van deze waarschuwing. 2) betekent dat het probleem hoogstwaarschijnlijk is dat Windows kieskeurig zegt "we hebben fouten gevonden" over een niet-echt probleem. - arielf
Geloof mensen niet wanneer ze je vertellen dat Linux je schijven niet zal beschadigen. Het kan. Op Ubuntu 15 gaf een gewone bestandskopie, gevolgd door een reboot, me consequent fouten in 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
^ ... om nog te zwijgen van, dit was niet zelfs op een flitsaandrijving, het was op mijn belangrijkste SSD. Een gloednieuwe SSD. En het gebeurde elke keer dat ik na het kopiëren van het bestand geen ton extra I / O heb toegevoegd. Met andere woorden, Linux's implementatie van NTFS is gebroken, zoveel als de fans het zullen willen ontkennen en niet willen geloven. - Mehrdad
Is dit een NTFS-bestandssysteem? FAT32? Kun je het betrouwbaar reproduceren? - Braiam
Wat is er zo slecht aan montage van drives met shell-commando's ? ¯\(o_o)/¯ - ulidtko


antwoorden:


Geen zorgen Ubuntu heeft je USB-drive niet beschadigd. Maar we gebruiken geen slecht gedocumenteerde bit-flags van een FAT32, FAT16 of NTFS bestandssysteem. In Windows geven deze vlaggen een mogelijk beschadigd bestandssysteem aan als we de schijf niet goed hadden gedemonteerd of als er een I / O-fout was opgetreden.

Die bits bevinden zich in een gereserveerde vermelding van een FAT-partitietabel. Volgens een interne Microsoft-paper van 2004 het doel van deze bits zijn:

  • ClnShutBitMask:
      Als bit 1 is, is het volume "clean". Het volume kan worden gemonteerd voor   toegang. Als bit 0 is, is het volume "dirty", wat aangeeft dat er een FAT-bestand is   systeemstuurprogramma kon het volume niet goed verwijderen (tijdens een   voorafgaande montagebewerking). De inhoud van het volume moet worden gescand   enige schade aan de metadata van het bestandssysteem.
  • HrdErrBitMask:
      Als dit bit 1 is, zijn er geen lees / schrijffouten aangetroffen.   Als dit bit 0 is, is de implementatie van de bestandssysteemstuurprogramma aangetroffen a   disk I / O-fout op het volume de laatste keer dat het was gemount, wat een   indicator dat sommige sectoren mogelijk slecht zijn gegaan. Het volume   inhoud moet worden gescand met een schijfherstelprogramma dat dat wel doet   oppervlakanalyse op zoek naar nieuwe slechte sectoren.

Er was enkele jaren geleden enige discussie met de ontwikkelaars van het kernelbestandssysteem over hoe dit te overwinnen, maar ik kon de resultaten niet opvolgen. Blijkbaar heeft het de recente kernels niet gehaald.

Omdat het alleen om een ​​kleine vlag gaat, maar over het algemeen zouden onze gegevens in perfecte staat moeten zijn, kunnen we de waarschuwende Windows-problemen negeren op die schijven die we eerder in Ubuntu hadden gebruikt.


103
2018-04-01 14:38



Ik heb nog nooit deze fouten in deze schijven gehad toen ik de stations daadwerkelijk veilig ontkoppelde. Weet u zeker dat de ondersteuning voor deze bits ontbreekt? - Thomas Ward♦
@ThomasW. Deze stukjes zijn nogal obscuur, maar ik heb af en toe deze fouten met mijn Ubuntu-geformatteerde USB-drives op mijn werkplek Windows 7. Tot nu toe heb ik nog geen handig patroon gezien. Het enige dat ik kan zeggen is dat ik de schijven altijd correct ontkoppel / uitwerp. Testen is niet eenvoudig, want thuis geen Windows, op het werk geen Ubuntu. - Takkat
De kop is onjuist. - MatthewRock
@MatthewRock: beter? - Takkat
Ja, het is beter. - MatthewRock


Dit is meestal een probleem met Windows. Het denkt dat het het enige OS ter wereld is en handelt als het iets detecteert dat het niet begrijpt.

Alleen omdat Windows zegt dat je de drive moet repareren, wordt het niet waar.

Al mijn drives die met Ubuntu worden gebruikt, krijgen dit bericht van Windows, zeg ik maar no en ze werken prima met Windows.

In het kort is er niets mis met de schijf, het is gewoon iets daar dat Windows niet begrijpt en de reactie ervan is het vernietigen.

doe niet repair het station, zal het het formatteren zonder het u te vertellen en zult u alle gegevens op het station kwijtraken.


73
2018-04-01 09:59



1. Reparatie formatteert niet, reparatie slaat toegewezen gegevens op in een map. Voor mij lijkt het alsof Ubuntu het schrijfproces niet goed afmaakt. - jan6352781
2. De meeste USB-drives hebben een FAT32-indeling, die is ontwikkeld door Microsoft, dus waarom zou Windows het enige systeem zijn dat "niet begrijpt" iets? - jan6352781
-1 omdat het ongegrond en fout is. Ik heb Ubuntu 15 mijn NTFS-volume beschadigd (ja, ik weet dat je me niet zult geloven, maar ik heb het met mijn eigen ogen gezien en minstens 3-4 keer achter elkaar gereproduceerd voordat ik het zelf geloofde), en het is gebeurd, ondanks dat ik alle buffers expliciet heb gesynchroniseerd. Ik ben het eens met @ jan6352781 dat ik ook vermoedde dat dit het gevolg was van het niet voltooien van het schrijfproces en dat doe ik nog steeds. In feite, als je lang genoeg wacht na het schrijven voordat je Ubuntu reboot, werkt het prima. We hebben geen reden om te geloven dat Windows hier schuldig is, en alle reden om te geloven dat Ubuntu dat is. - Mehrdad
Repareren van de drive formatteert deze niet. Het draait chkdsk. Het formatteert niet langer de schijf dan fsck formatteert een schijf. - Journeyman Geek
Dit volledige antwoord is slechts een Windows-rant zonder enig bewijs (behalve anekdotisch). - Millie Smith


Zoals u in een opmerking hebt gesuggereerd, houdt dit mogelijk verband met het feit dat Ubuntu het schrijfproces niet voltooit voordat u de flashdrive verwijdert. Ubuntu schrijft de bestanden naar het RAM-geheugen tijdens het kopieerproces en schrijft deze bestanden vanaf de buffer naar de USB-schijf op de achtergrond nadat het kopieervenster is gesloten. er is nog een antwoord dat suggereert dat dit vooral een probleem is voor machines met grote hoeveelheden geheugen, maar het is waarschijnlijk dat u de schijf verwijdert voordat de achtergrondschrijven is voltooid. Wanneer u een schijf uitwerpt, dwingt dit ertoe dat de buffer naar de schijf wordt geschreven, maar het is moeilijk te zeggen wanneer het schrijven daadwerkelijk is voltooid. Er is een pop-up in nieuwere versies (15.10 voor zeker, mogelijk 15.04) die bedoeld is om dit te verhelpen - een paarse waarschuwing verschijnt na een (meestal korte) tijd die iets zegt in de trant van "[Drive] kan nu worden verwijderd" eenmaal de schrijf is voltooid.

Dit is waarschijnlijk de reden dat je vriend gesuggereerd heeft om te synchroniseren. hardlopen sync in terminal dwingt alle gebufferde gegevens om naar schijf te worden geschreven en zou alleen moeten terugkeren als de schrijfopdrachten zijn voltooid (Zie dit antwoord). Zien dit antwoord voor een hulpprogramma dat u zal helpen bepalen of dit het probleem is.


17
2018-04-01 13:09



Ik krijg de pop-up in 14.04 (Linux Mint KDE-editie) telkens wanneer ik een USB-station uitwerp, en ook mijn 15.10 Kubuntu-machines. Ik weet het niet zeker over 15.04, maar ik denk het wel. - Jon Bentley
De GUI maakt het echt niet duidelijk? Ik heb gebruikt eject in de terminal voor een lange tijd, en er is een merkbare vertraging voordat het terugkeert als ik zojuist een groot bestand heb gekopieerd. - Izkata
@Izkata Op vanilla Ubuntu 14.04 verdwijnt het symbool onmiddellijk wanneer je op het uitwerpsymbool in Nautilus klikt. In tegenstelling tot interne schijven verdwijnen USB-drives echter volledig uit de zijbalk wanneer ze volledig zijn ontkoppeld (dat wil zeggen dat het schrijven is voltooid), dus er is enige tijd gedurende welke het USB-station wordt geschreven maar lijkt te worden uitgeworpen. - alex_d
dit zou het geaccepteerde antwoord moeten zijn. - CptEric


Ik heb veel usb-drives gezien, vooral flash-kaarten (SD, enz.) In USB-adapters, met FAT-bestandssystemen (vrijwel elke USB-drive die vooraf is geformatteerd met FAT32) beschadigd raakt tijdens het gebruik van Ubuntu & Ubuntu-afgeleide distributies. Het was bijna een regelmatig verschijnsel om de paar maanden van regelmatig dagelijks gebruik.

Als het een hardwareprobleem zou zijn, zou het formatteren van de partities met ext3 (of 4) niet moeten helpen, maar ext3 / 4 maakt de bestandssystemen vrijwel kogelvrij. (ext2 was ook gecorrumpeerd gedurende de paar maanden dat ik het probeerde, er werd verondersteld dat het minder schrijft, dus een langere levensduur voor flashdrives, voornamelijk uit geen journaal).

Dus, Ubuntu zou dat moeten doen niet fysiek USB-drives zelf beschadigen, maar ik vertrouw het nog steeds niet 100% met FAT-bestandssystemen.

Ik denk dat corruptie van het bestandssysteem het beste kan worden vermeden door:

  • Koppel nooit een USB-drive los totdat deze is gedeactiveerd /umount/ Uitgeworpen. Zelfs als de drive momenteel niets schrijft (als hij een lampje heeft, knippert hij niet) en zelfs als je een hebt gedaan sync het bestandssysteem kan nog steeds
  • Wacht tenminste een paar seconden later umount/ uitwerpen voordat u het loskoppelt. Het lijkt erop dat zelfs na umount het activiteitslampje van de omvormer kan soms nog een tijdje blijven knipperen. Andere gebruikers zoals deze vent stel dat het zo lang kan duren.
  • Vertrouw niet alleen op alleen sync een van beide, zoals deze vent wie heeft bestand corruptie.

Gerelateerde (algemeen) links:


5
2018-04-02 16:45





Dit heeft weinig te maken met een besturingssysteem. Dit is een fout in het bestandssysteem, wat in de meeste gevallen aangeeft dat het station niet correct is gedemonteerd (gebruikersfout). Het is geen absolute indicatie van schade, het geeft slechts een a aan mogelijkheid van een schade. Indien aanwezig, is de schade meestal beperkt tot de laatste geschreven bestand (en). Windows "Repair" -opdracht scant in dit geval de schijf naar sectoren die zijn gemarkeerd als "bezet", maar is niet toegewezen aan een bestand en wijst deze fragmenten en stukjes toe aan nieuwe bestanden.

Deze fout kan ook in Windows worden gemaakt, als je tijdens het schrijven de schijf eruit rukt zonder eerst de schijf te ontkoppelen (in Windows "Uitwerpen" wordt de ontkoppeling uitgevoerd).

Als u dit bericht ziet, betekent dit dat de schijf niet juist is gedemonteerd.

U kunt zelf controleren of het bestandssysteem echt beschadigd is of is het gewoon vals-positief: als na het uitvoeren van "Repair" een nieuwe map met de naam "found000" verschijnt met een aantal bestanden erin, betekent dit dat er echt een onvoltooide write was werd onderbroken. Sommige gegevens zijn verloren gegaan en dat is een punt van zorg.


3
2018-04-04 14:07





Ik gebruik verschillende jaren ubuntu en windows met dual-boot, en wanneer ik de drive op de juiste manier ontkoppel, verschijnt in Windows altijd de foutmelding, maar er was nooit een fout op mijn usb-drive. In W10 kunt u dit pop-up-foutbericht uitschakelen.

enter image description here


2
2018-04-05 09:53





Er is bijna geen enkele manier om OS te beschadigen USB drive, na een normaal formaat (niet snel), er zou geen spoor meer moeten zijn dat station ooit met Ubuntu is gebruikt.

Controleer de schijven met "H2testw" of "USB Flash Drive Tester" - slechte sectoren kunnen een bron zijn van veel rare fouten.


1
2018-04-01 13:55



Het OP is slecht geformuleerd, maar het betekent "bestandssysteem", niet "flash ROM". - wizzwizz4
Het lijkt erop dat de OP een echte USB-drive kan betekenen schade, ze zeggen "Ik had nooit een beschadigde of beschadigde USB-drive, maar de afgelopen twee jaar zijn drie van mijn USB-drives geworden buiten werking" Als ze gewoon gecorrumpeerd bedoelden zouden ze waarschijnlijk gecorrumpeerd hebben gezegd, in plaats van "inoperatief" @ wizzwizz4 - Xen2050
@ Xen2050 Maar alle andere antwoorden en opmerkingen, inclusief jan6352781, impliceren dat het bestandssysteem het probleem is en dat het "kapotte apparaat" een extrapolatie is van het feit dat ze niet goed werken. - wizzwizz4
@ wizzwizz4 Nou, in Mark Kirby's antwoord geeft het OP commentaar "3. De laatste jaren heb ik bijna elke dag de reparatie overgeslagen beschadigde bestanden en USB-drives. " Ik vermoed dat het alleen maar van oude schijven is die gefaald hebben, ramen of nee, maar ze hebben het nog steeds gezegd - Xen2050
@ Xen2050 Of misschien refereerde het OP aan het oude bericht "Het apparaat is beschadigd. Wilt u dat Windows het probleem oplost?" (geparafraseerd) wat soms naar boven komt als een andere dll het probleem aanpakt. (Ik heb het zelf gezien, hoewel ik niet zeker weet of de laatste zin klopt.) - wizzwizz4


Ik kan niet zeggen of de schijf "beschadigd" was, misschien was het en misschien ook niet. Maar als iemand die hetzelfde kan zeggen: "Voor meer dan tien jaar werken met Windows ...", kan ik u zeggen dat als u Windows 10 gebruikt, dit de oorzaak kan zijn van uw nieuwe problemen. Ik kwam tegen mijn eerste dag op 10 een nieuw probleem aan: in 10 wordt een database gemaakt voor externe schijven (misschien is dit de indexeringsdatabase, ik weet het niet meer). Als die database niet overeenkomt met de schijf, zal deze u vertellen dat uw schijf beschadigd is, soms kunt u deze waarschuwing negeren en soms niet (zie anekdote). Het uitvoeren van "reparatie" zal de database repareren.

Anekdote:

Ik kan me niet herinneren waar ik deze informatie heb gevonden, maar ben erachter gekomen toen ik mijn muziekmap verplaatste. Het klaagde dat de rit was verbroken in plaats van alleen maar te klagen over de map waar hij naar op zoek was om niet meer te bestaan. Voordat ik een reparatie uitvoerde, verscheen de nieuwe locatie op Ubuntu en de oude locatie op Windows 10 ... maar alle bestanden konden niet op 10 worden geopend. Nadat ik de reparatie had uitgevoerd, verscheen de nieuwe locatie van de map Music in Windows, de oude map verdwenen en het werkte weer op Windows.

hardlopen sync is ook geen slecht idee.


1
2018-04-06 09:17