fsck fsck yapmaz (süper blok bayrakları ayarlanamaz)


12

SD kart tabanlı bir cihazda kirli bir kapanışın ardından, SD kartı fsckkök dosya sistemine aldım . Bu, aşağıdakilerde değişikliklere yol açtı:

e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2

Burada her iki kez "hayır" cevabını verdim ama hemen aynı sonuca götürmeyen bir evet / hayır dizisi yok.

Dosya sistemi monte edilebilir ve geçici denetimde iyi görünür; cihazda da iyi çalışıyor ve bu kök dosya sistemi (aslında oldukça iyi olmadığı ortaya çıktı, yorumlara bakın; geri döndürülemez bazı bozuk dizinleri tldr).

Ben ddbir dosyaya bölümü (8 GB) ve bu konuda fsck çalıştı. İlginçtir:

e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, gid=0, mode=0100644, size=293108)
Setting free inodes count to 406127 (was 408580)
Setting free blocks count to 1305622 (was 1347486)
plush.rootfs: clean, 60209/466336 files, 604906/1910528 blocks (check after next mount)

Sonradan fscktemizlendi, görüntü monte edilebilir ve fsck -fbundan sonra da geçebilir .

Ancak ham blok kopya görüntüsünün oluşturulduğu karttaki dosya sistemi hala aynı soruna sahiptir - ancak systemd-fsckönyükleme sırasında gerçekleşen dosya sistemi "temiz" olarak günlüğe kaydedilir. Daha sonra, düzgün bir kapatma, kartı çıkarma ve fsckbaşka bir kutudan tekrar denemek aynı hatayı sunar.

Orijinal başka bir makineye monte edildiğinde, sistem günlüğü şunları not eder:

kernel: EXT4-fs (sdc2): 4 orphan inodes deleted
kernel: EXT4-fs (sdc2): recovery complete

Her şeyi yedeklediğim için burada bir şey denemeye açıkım. Bunu unutabilir ve görünüşte sabit görüntüden bölümü yeniden yakabilirim, ancak bu çok tatmin edici bir çözüm gibi görünmüyor, çünkü fsck'in küçük bir problemi çözmede şifreli olarak başarısız olduğu varsayılıyor.

Bunun, recovery_flag (ya da sadece "Bu ne anlama geliyor?" Sorusu gibi şeyler hakkında "resmi dokümantasyon talebi" sorusuna dönüşeceğinden şüpheleniyorum , bu nedenle bu satırlar boyunca herhangi bir öneriniz takdir edilmektedir.


Çekirdekteki herhangi bir şey cihaz hataları hakkında mı? SD kart ilk defa aniden salt okunur hale gelmezdi.
Mark Plotnick

@MarkPlotnick Hayır ve yazılabilir. Günlükte sorundan önceki son şey sistemd yeniden başlatıldı (cihaz başsız ve uzun bir süre sonra yanıt vermedi apt upgrade). Bundan sonra normal bir önyükleme kaydeder - ve systemd-fsck "temiz" (bunu düzenleyeceğim) der, ancak bu bağlamın dışında fsck'i denemek hala başarısız olur.
goldilocks

Kopyadaki fsck'iniz 4 inodu temizledi, ancak ücretsiz inode sayısını 2453 inot azaltarak sabitledi! Bu muazzam. Aygıtın yeterli güç alıp almadığını kontrol edin.
meuh

@meuh Büyük kutuya monte edildiğinde fark ettim syslog, bu 4 inode (yukarıda düzenlenmiştir) anlamına gelir. FS'deki bazı şeyler berbat hale geldi (güncellenmiş çekirdek modülleri! \ O /) Bu yüzden yeni bir kart yaktım ve daha fazlasını kazma şansım olduğunda eski kartta asılı kalacağım. Tam olarak yeni değil - markasız bir pazarlık bin sınıf 10 kart, (hafif hizmet) içinde birkaç yıl boyunca 7/24 kullanın, bu yüzden ... Bir SD kartın kesinlikle geçersiz olduğunu doğrulamanın herhangi bir yolu olduğunu düşünmüyorum , ama sanırım bu olabilir. Güç iyi olmalı, ancak belirli koşullar altında iffy olabilir.
goldilocks

2
Sorununuzu düzeltmesi gereken araç, sorunun doğası nedeniyle çalışmadığında gerçekten berbat değil mi? Sonuç: Araç kötüdür ve düzeltilmesi gerekir.
Marc.2377

Yanıtlar:


11

Ben de aynı problemle karşılaştım. Koruyucu ile ilgili sorunu giderdikten sonra e2fsckSD kartın bozulduğunu fark ettik. Yazmaları hatasız olarak kabul ediyordu, ama aslında verileri karta yazmıyordu. SD kart sadece etkili bir şekilde okundu.

Kart, verilerin hala okunabileceği, ancak hiçbir şey yazılmayan bir tür güvenli moda girmiş gibi görünüyor.

e2fsckMesajı unable to set superblock flagso denedik aracı hatasız oldu işlenmiş olarak dergi, işaretlemek için süper blok yazma, ancak tekrar süperbloğu okumaya gittiğinde hala gerekli dergi dinlemek üzere belirtti için. Başka bir deyişle, süper bloğa yazılan değişiklikler depolama ortamına kaydedilmedi.

Bu problemi kullandığım kart, bu kartlarda yaygın bir sorun olması durumunda bahsettiğim bir Samsung Evo 16GB microSD.

0 bloğundaki karta dd4096 bayt yazmak için bunu test edebildim /dev/zero, sonra karttan geri okudum ve tüm sıfırları olması gerektiği gibi almak yerine, orijinal değişmemiş ext4 süper bloğuna sahibim.

Şimdi verileri yeni bir karta taşıma ve daha sonra SD kartlarda 10 yıl garanti veriyor gibi görünen Samsung'dan bir yedek alıp alamayacağımı görüyorum.

GÜNCELLEME: Samsung 16GB kartı aynı Evo serisinde 32GB'lık bir kartla değiştirdi, bu yüzden sanırım çok fazla şikayet edemiyorum!


"nerede veri hala okunabilir, ancak hiçbir şey yazılı" -> fs yazılabilir oldu.
goldilocks

@goldilocks: Fs süper bloğunuz gibi sesler yazılabilir olmayabilir. Ayrıca, benim fs önbellekleme sayesinde yazılabilir görünüyordu, sadece sökme ve yeniden montaj sonra herhangi bir değişiklik kayboldu fark ettim.
Malvineous

Önbellek nedeniyle bir yanılsama değildi.
goldilocks

7

Bunun eski bir konu olduğunu biliyorum, ama bazı fikirler sunacağımı düşündüm.

SD kartların doğal bir ölümle ölmesi böyle görünüyor. SD kartların dayanabileceği okuma / yazma döngüsü sayısı, 'okuma / yazma' olarak kabul edilen diğer ortamların çoğundan önemli ölçüde düşüktür. Kart tükendiğinde, kart salt okunur moduna girer, ancak sizi bu durumdan haberdar etmez. OS önbellekleme, vb. Sayesinde bir çok şey karta yazdıklarını düşünecek, ancak hiçbir şey yapışmıyor.

SD kartı öldürmenin harika bir yolu, bir takas bölümü veya çok okuma / yazma yoğun bir şey olarak takmaktır. Bir kartı bu şekilde ne kadar çabuk öldürebileceğinize şaşıracaksınız. Knoppix'in bir sd karttan veya usb başparmak sürücüsünden çalıştırılmasının, kartın kalitesine ve knoppix kullanım yoğunluğuna bağlı olarak sadece bir veya iki ay süreceğini öğrendim. (O zamandan beri birkaç yıl süren bir usb SSD sürücüsünden knoppix'i çalıştırmaya başladım).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.