it-swarm-eu.dev

„Chyba vstupu / výstupu“ při přístupu do adresáře

Chci vypsat seznam a odstranit obsah adresáře na vyměnitelném pevném disku. Ale zažil jsem „Chyba vstupu/výstupu“:

$ rm  pic -R
rm: cannot remove `pic/60.jpg': Input/output error
rm: cannot remove `pic/006.jpg': Input/output error
rm: cannot remove `pic/008.jpg': Input/output error
rm: cannot remove `pic/011.jpg': Input/output error

$ ls -la pic
ls: cannot access pic/60.jpg: Input/output error
-????????? ? ?    ?         ?            ? 006.jpg
-????????? ? ?    ?         ?            ? 006.jpg
-????????? ? ?    ?         ?            ? 011.jpg

Zajímalo by mě, co je problém?

Jak mohu obnovit nebo odstranit adresář pic a veškerý jeho obsah?

Můj operační systém je Ubuntu 12.04 a vyměnitelný pevný disk má systém souborů NTFS. Ostatní adresáře, které neobsahují nebo uvnitř pic na vyměnitelném pevném disku, fungují dobře.


Přidané:

Poslední část výstupu dmesg poté, co jsem se pokusil vyjmenovat obsah adresáře:

[19000.712070] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[19000.853167] usb-storage 1-1:1.0: Quirks match for vid 05e3 pid 0702: 520
[19000.853195] scsi5 : usb-storage 1-1:1.0
[19001.856687] scsi 5:0:0:0: Direct-Access     ST316002 1A               0811 PQ: 0 ANSI: 0
[19001.858821] sd 5:0:0:0: Attached scsi generic sg2 type 0
[19001.861733] sd 5:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19001.862969] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.865223] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.865232] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.867597] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.869214] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.869218] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.891946]  sdb: sdb1
[19001.894713] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.895950] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.895953] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.895958] sd 5:0:0:0: [sdb] Attached SCSI disk
[19113.024123] usb 2-1: new high-speed USB device number 3 using ehci_hcd
[19113.218157] scsi6 : usb-storage 2-1:1.0
[19114.232249] scsi 6:0:0:0: Direct-Access     USB 2.0  Storage Device   0100 PQ: 0 ANSI: 0 CCS
[19114.233992] sd 6:0:0:0: Attached scsi generic sg3 type 0
[19114.242547] sd 6:0:0:0: [sdc] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19114.243144] sd 6:0:0:0: [sdc] Write Protect is off
[19114.243154] sd 6:0:0:0: [sdc] Mode Sense: 08 00 00 00
[19114.243770] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.243778] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.252797] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.252807] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.280407]  sdc: sdc1 < sdc5 >
[19114.289774] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.289779] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.289783] sd 6:0:0:0: [sdc] Attached SCSI disk
82
Tim

Chyby vstupu/výstupu během pokusů o přístup k souborovému systému obecně znamenají problémy s hardwarem.

Zadejte dmesg a zkontrolujte posledních několik řádků výstupu. Pokud disk nebo jeho připojení selhávají, bude to zaznamenáno.

EDITOVAT Připojujete jej přes ntfs nebo ntfs-3g? Jak si vzpomínám, starší ovladač ntfs měl ne stabilní podporu zápisu a byl z velké části opuštěn, když se ukázalo ntfs-3g byl výrazně stabilnější a bezpečnější.

36
Shadur

Jak uvádí Sadhur, je to pravděpodobně způsobeno problémy s hardwarem disku a výstup dmesg je tím správným místem k ověření.

Můžete provést kontrolu povrchu disku z Linuxu /sbin/badblocks /dev/sda.

Na stránce manuálu naleznete důkladnější testy základních oprav (přemístění bloku). Toto je agnostický souborový systém, takže je bezpečný i se souborovým systémem NTFS, protože pracuje na úrovni 'povrchu disku'.

Osobně jsem si to nechal běžet každý měsíc od crona. Samozřejmě musíte zkontrolovat, zda přijímáte cron maily ve vaší poštovní schránce (což ve výchozím nastavení často neplatí). Tyto e-maily končí v /var/mail/$USER nebo podobné.

Vytvořil jsem /etc/cron.d/badblocks:

30 4 * * 3 root [ -x /sbin/badblocks ] && [ $(date +\%d) -le 7 ] && /sbin/badblocks /dev/sda
20
jippie

Váš souborový systém je poškozen, pro svazky NTFS byste měli spustit systém chkdsk v systému Windows, ale je téměř nemožné obnovit. Někdy budete možná muset disk naformátovat.

9
daisy

Řešení, které pro mě funguje, je downgradovat ntfs-3g verze od vydání 2014 do vydání 2012. To by mělo vyřešit váš problém s přístupem k oddílu NTFS. V dlouhodobém horizontu to není řešení, protože nakonec budete muset spustit nejnovější verzi.

Více informací zde

7
user50037

Chtěl jsem jen přidat své řešení do tohoto vlákna ve prospěch ostatních - v systému jsem udělal nějakou práci, když jsem selhal napájení - musel jsem znovu připojit kabely SATA v nesprávném pořadí, protože když jsem je přepnul, všechno znovu fungovalo - netuší, proč by spouštěcí disk musel být na konkrétním portu SATA, může být odpovědí i pro někoho jiného.

2
Alan Campbell

Nikdo se nezmínil o tom, co dělat, pokud nefungují Linuxové nástroje a je k dispozici pouze Mac, ale nikoli Windows.

Lze opravit na OS X pomocí Paragon NTFS

V mém případě gparted řekl, aby šel najít Windows PC, které nebylo nikde k nalezení. Byl tu ale Mac, pro který je tento skvělý kus softwaru k dispozici. Nainstalovala zkušební verzi, provedla ověření , poté opravu - a voilà!

2
BVengerov

Chtěl jsem se jen podělit o své zkušenosti: na FreeBSD 10.3 jsem připojil svůj externí pevný disk

$ Sudo ntfs-3g /dev/da0s1 /media

Na pevném disku jsem udělal mkdir k vytvoření adresáře a pak jsem do něj přesunul některé soubory, samozřejmě příkazem mv. Nakonec jsem udělal následující příkaz:

$ Sudo sync

Pak jsem připojil pevný disk na počítač se systémem Linux s generickým jádrem 4.4.0-78. Když nyní uvedu obsah pevného disku, zobrazí se následující adresář vytvořený na FreeBSD s názvem Jeff:

$ ls -lhrtci
ls: cannot access 'Jeff': Input/output error
total 20K
  ? d????????? ? ?    ?       ?            ? Jeff

enter image description here

Také při pokusu o odstranění adresáře Jeff se zobrazí následující chybová zpráva:

$ Sudo rm -f -R Jeff
rm: cannot remove 'Jeff': Input/output error

enter image description here

Nemohl jsem se zbavit adresáře Jeff na počítači se systémem Linux, proto jsem použil stroj FreeBSD a znovu namontoval pevný disk na FreeBSD. Ale příkazy ls, cd a rm na FreeBSD generují stejné Input/output error. Vypadá to, že na FreeBSD došlo k chybě ntfs-3g balíček.


AKTUALIZACE

Přesunul jsem všechna svá data z externího pevného disku na počítač se systémem Linux. Poškozený soubor Jeff samozřejmě nemohl být přesunut kvůli chybě I/O. Pak jsem přeformátoval externí pevný disk, a to jak vynulováním svazku, tak kontrolou špatného sektoru takto:

$ Sudo mkfs.ntfs /dev/sdb1

A pak všechna data přesunula zpět na externí svazek. Tímto způsobem jsem ztratil poškozený soubor s názvem Jeff, můj externí pevný disk je však bez jakýchkoli chyb I/O.

2
user3405291

Uvolnil jsem, že když se pokusím o přístup na disk, ke kterému dojde tato chyba, pokusil jsem se zapsat poslední zkopírované soubory, které byly přepsány do posledního souboru, pak se pokus o přístup nezdaří, protože již zapsaný záznam neodpovídá posledním zkopírovaným položkám, takže selže. Nejzdravějším způsobem záchrany disku je odebrání poslední položky nebo položek zkopírovaných v systému Windows.

0
cagcak