Android içindeki SD kart hatalarını kontrol et ve düzelt.


42

Bazen SD kartım "bozulur" ve bu da birçok okuma / yazma hatasına neden oluyor. Genellikle, SD kartını Windows 7'ye bağlamak ve "Hata Denetimi" ni seçmek (sürücüyü sağ tıklatın> Araçlar> Hata Denetimi) seçeneğini seçerek bozulmayı bulur ve düzeltir.

Sürücü hataları için SD kartlarını kontrol etmek ve aynı şeyi androidin içinden sabitlemek için herhangi bir araç veya uygulama var mı ?

Ayrıca busybox yüklü bir froyo olduğumu da belirtmek isterim.


Eğer bir yapıyor, bir terminal uygulaması ile denediniz suve çalışıyor /system/bin/fsck.exfat?
Izzy

@Izzy Bana VerirNo such file or directory
Irfan

Farklı yerleri kontrol et, belki onun /system/xbinyerine? cdRehbere girmeyi ve ls fsc*ne olup bittiğini kontrol etmeyi deneyin . Bir yerde olmalı :)
Izzy

1
Kesinlikle. Busybox mümkün olduğunca ince olmaya çalışır. Google’da "man mount" ile çalışmayı deneyin, iyi çalışıyor :) Ve cevabımı aşağıda bulabilirsiniz. Bir şey net değilse, oraya yorum yapın (veya beni sohbette görün - önümüzdeki birkaç saat boyunca orada olmamama rağmen, yine de size yardımcı olacak başka bilen üyeler var :)
Izzy

2
SD kartınızda art arda hatalar yaşıyorsanız, H2testw kullanarak gerçekten belirtilen kapasitede olduğundan emin olmalısınız (yalnızca Almanca, Almanca ve İngilizce olarak verilen bağlantı. Bunun aksine görünmesine rağmen buranın resmi ev olduğuna inanıyorum). Kötü SD kartlar otomatik olarak bozulur.
Kod

Yanıtlar:


17

Bunu root ve bir terminal emülatörü yardımıyla düzeltebilirsiniz (örn. Android Terminal Emulator (veya alternatif olarak kullanma adb shell). İşi yapmak için ikili olarak adlandırılır fsckve genellikle /system/xbinveya ikisinde bulunur /system/bin. Bazen özel bir varyasyona ihtiyacınız vardır. Örneğin, aranabilir fsck.exfatya da benzeri olabilir .. İlk önce doğru ikiliyi bulacağımızdan emin olalım:

cd /system/xbin
ls fsc*

Bulunamadıysa, ile tekrarlayın /system/bin. Burada ilk etapta bulunduğunu ve basitçe çağrıldığını varsayacağım fsck(durum böyle değilse, aşağıdakileri uygun şekilde ayarlayın).

As fsck"Linux çekirdeği" dan gelir, biz onun danışabilirsiniz adam sayfasını sözdizimi için. Android'de çalışmayan bazı seçenekler olsa da, en temel olanı olmalıdır. Ayrıntılar için bağlantılı kılavuz sayfasına bakın (veya bir Linux VM çalıştırın ve man fscksayfanın kaybolması durumunda kullanın ) - Burada temellere bağlı kalacağım:

Öncelikle SD kartınızın bağlı olduğu cihazı bulmamız gerekiyor. Eğer monte edilmişse, mountkomut bize yardımcı olacaktır:

mount

İşte bu, temel olarak: Çıktıyı kontrol edin ve SD kartınızın nerede oturduğunu görün. Genellikle bu kullanan bir şey vold, ancak cihazlar arasında farklı. Çıktı, şöyle bir şey içerebilir /dev/block/vold/179:17 on /mnt/storage/sdcard- bu durumda, teklifimin ilk kısmı bizim cihazımızdır. "Sürücüyü" onarmak için önce sökmeniz gerekir. Bu ayarlar menüsünden yapılabilir, ya da sadece terminalde olduğumuz gibi

umount /dev/block/vold/179:17

Şimdi tamir işine gidebiliriz. Temel sözdizimi:

fsck [options] [-t fstype] <filesystem> [fsoptions]

Bu yüzden ilk önce en basit yaklaşımı deneriz ve fsckher şeyin kendisini çözmesini umarız :

fsck -C -r /dev/block/vold/179:17

Temel olarak şu anlama gelir: İlerlemeyi göster (-C) ve daima kullanıcıdan (-r) üzerindeki hataları onarmasını isteyin /dev/block/vold/179:17. Bu işe yaramazsa, daha fazla seçenek için bağlantılı kılavuz sayfasına bakın.


4
Geçerli çalışma dizininizden herhangi birini cdkullanarak ls /system/bin/fsc*ve kullanarak, isterseniz adımları da kaydedebilirsiniz ls /system/xbin/fsc*. İkisini bir komutla bile birleştirebilirsiniz ls /system/xbin/fsc* /system/bin/fsc*.
eldarerathis

1
Hayır, kafamı karıştırmıyorum, bilmediğim şey bu sorunun SD kart ile ilgili olduğudur. Yani evet, aslında bazı şeyleri karıştırdım. Açıkçası, SD kartınızı dahili olarak da biçimlendirebilirsiniz, böylece bunu yapan insanlar için de geçerlidir.
Yalan Ryan

1
Alınan nokta. "Ortalama kullanıcı" (veya "şüpheli" kişi) en azından birlikte çalışabilirlik için FAT'e daha iyi yapışsa da. ExtFS işletim çoğunluğu desteklenir En azından kadar kolay ve varsayılan olarak (Windows ve her zamanki gibi burada bir tuzak kalacaktır tahmin) gerekli ek sürücüler olmadan.
Izzy

1
Bu cevap için teşekkürler, ihtiyacım olan şey bu galiba. Bir hatam var umount, kök olmak zorunda mısın?
Organik Mermer

1
@OrganicMarble evet, elbette - yukarıdaki komutların tümü için, ya da cihazlara (her şeyden başlayarak /dev) bu şekilde erişemezsiniz .
Izzy

3

Bunun için teşekkür ederim, günümü koruyor :)

root@android:/ # mount | grep -i sdcard
/dev/block/nandk /mnt/sdcard vfat rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

root@android:/ # /system/bin/fsck_msdos -y /dev/block/nandk

Bu cevabı gönderdiğiniz için teşekkür ederim, bana çok yardımcı oldu. Kabul edilen yanıttan vfat dosya sistemini nasıl çözeceğimi bilemedim. Upvoted.
Organik Mermer

2

SD kartınızda art arda hatalar yaşıyorsanız, H2testw kullanarak gerçekten belirtilen kapasitede olduğundan emin olmalısınız (yalnızca Almanca, Almanca ve İngilizce olarak verilen bağlantı. Bunun aksine görünmesine rağmen buranın resmi ev olduğuna inanıyorum). Kötü SD kartlar otomatik olarak bozulur.


Uzun zamandır unutulmuş bu cevabın artısı için teşekkürler. Muhtemelen bir yorum olmalı, ama muhtemelen o zaman bunun için itibarı yoktu. Yorum oylanıp görünene kadar bunu şimdilik burada bırakacağım.
Kod Bling

Yorumunuzu iptal ettim.
unutulmaz

@ unforgettableid Teşekkürler, herkesin bu riski bildiğinden emin olmak istiyorum. Gerçekten veri kaybetmek berbat.
Kod Bling

Tamam, şimdi yorum reddedildi, bu cevabı silebilirsiniz. :)
unutulmaz

@ unforgettableid görünürlük için her ikisi için de ayrılacak
Code Bling


0

Yanılmıyorsam Android'i rom'unuza bağlı olarak aşağıdakileri yaparak yeniden başlatırken hem dahili hem de harici depolamayı fsck etmeye zorlayabilirsiniz.

terminal uygulamasını çalıştırın ve yazın

su
touch /forcefsck

Ardından yeniden başlatın.

Telefonunuz köklü değilse, bu kesinlikle başarısız olur.

kaynak: http://forum.xda-developers.com/showpost.php?p=57027579&postcount=20


"ROM'unuza bağlı olarak" ile neyi kastediyorsunuz?
unutulmaz

Bu numara tüm telefonlarda çalışmayabilir. farklı telefonlar bir şey yapamayabilir. Ayrıca telefonunuzun köklü olması gerekiyor.
Trekeyus

Yeniden başlattıktan sonra, fsckgerçekten çalışıp çalışmadığını nasıl bilebilirim ?
unutulmaz

1
-1. Görevini reddettim. İşte nedeni: Daha fazla zaman harcadım. Önerilen teknik muhtemelen% 100 yanlıştır. Okuyucuları yardımcı olacağını düşünerek aldatabilir, ancak teknik aslında hiçbir şey yapmaz.
unutulmaz

2
touch /forcefscksadece /forcefsckdosyanın varlığını kontrol eden init betiğine sahip bir cihaz üzerinde çalışacaktır . Böyle bir init betiğine sahip tek bir Android cihaz bilmiyorum. Bu nedenle, tekniğiniz muhtemelen Debian, Ubuntu ve Mint cihazlarında çalışacak olsa da, herhangi bir Android cihazında çalışacağından şüpheliyim. Herhangi biri bir denetleme init betiği olan tek bir Android cihazını bile bulursa /forcefsck, lütfen bana bildirin! Sadece bu yorumu yanıtlayın.
unutulmaz
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.