Linux'ta düşük seviyeli format flash belleği nasıl alabilirim?


13

Arkadaşım bir USB flash sürücü ile sorun yaşıyordu ve ben düşük seviyeli bir format yapmasını önerdim. Sonra Linux'ta bunu nasıl yapacağımı bile bilmiyordum. Peki ... Linux'ta düşük seviyeli format flash belleği nasıl alabilirim? Arkadaşım Windows'ta sürücüde bir "tam biçim" denedi ve başarısız oldu.

Yanıtlar:


12

"Düşük seviyeli biçimlendirme", parkurları ve sektörleri farklı şekilde düzenlemeyi seçerek farklı yoğunluklarda yazabileceğiniz disketlerde yapıldı. Ancak bu, çoğu modern medya için bir anlam ifade etmiyor. Cihazdaki verilerin nasıl düzenleneceği fikri sabit ve değiştirilemez. Manyetik alanlardan ziyade ayrık bitlere sahip olan flaş için hiçbir anlam ifade etmiyor. mkfsUnix-arazide olan daha yüksek seviyeli biçimlendirme mümkündür .


Arkadaşımın flash sürücüsündeki dosya sistemi bozulursa mkfs, tek seçeneği bu mu? Ya işe yaramazsa? Deneyebileceği başka bir şey yok mu?
bmaupin

@Bryan: o da fsckdos's eşdeğerini deneyebilir chkdsk.
wnoise

3
@wnoise mkfsbaşarısız olursa fsckyardım etmeyecektir.
derobert

2
İşyerinde tonlarca flash USB bellek test ediyorum ve kalitesi harita üzerinde, bu yüzden arkadaşınızın diski kırılmışsa ve artık çalışamazsa şaşırmam. Bu şeyler birçok farklı şekilde kırılabilir ve saygın kaynaklardan bellek satın almak ve daha sonra f3kırık olmadığından emin olmak için test etmek dışında bu konuda yapabileceğiniz çok şey yoktur.
unfa

8

Düşük seviyeli biçimlendirme, farklı insanlar ve farklı bağlamlar için birçok farklı şey anlamına gelir.

Orijinal anlam, disklerin biçimlendirilmesinde gerekli bir adımdı - disk sürücülerinin veriyi depolayabilmesi için medyada yazılı başlık, senkronizasyon ve diğer kalıplara ihtiyacı var. Bu şekilde kafa, A) bir yol üzerinde ve B) yol üzerinde olduğu yeri tespit edebilir. Bir disketin düşük seviyeli biçimlendirilmesi diski blokları okuyabilecek ve yazabilecek şekilde hazırlar. İlk MFM ve RLL PC sabit sürücüleri, genellikle sabit sürücü denetleyicisinin (ISA kartı) ROM'una yerleşik bir yardımcı program kullanılarak düşük düzeyli biçimlendirilmiş olabilir. Modern IDE ve SATA sabit diskleri de düşük düzeyde biçimlendirilmiştir, ancak yalnızca fabrikada biçimlendirilmiştir.

Diğer tüm anlamlar, tüm bloklara sıfırlar yazmak, sürücüyü HPA ve DCO gibi "gizli" alanları devre dışı bırakacak şekilde yapılandırmak ve sonra tüm blokları sıfırlamak veya biçimlendirmekten daha fazla bölümleme ile ilgili diğer şeyleri sıfırlamaktır.

Ham flaşın fabrikada farklı bir başlangıç ​​hazırlık adımı olması gerekir - her flaş "eraseblock" (disklerdeki "blok" a analogus) test edilmeli ve gerçekten kötü ise kötü olarak işaretlenmelidir. Her "eraseblock", hata düzeltme bilgilerini tutan ek bir küçük "OOB" bloğuna sahiptir - ve burada kötü olarak işaretlenir. Bu adımı tekrarlamak istemezsiniz, çünkü kötü bir bloğa yazma işlemi, onu kötü olarak tanımlayan belirli bir biti tekrar ayarlamanızı engelleyebilir.

Ama ham flaşla uğraşmıyorsunuz. Bir USB flash sürücü ile uğraşıyorsunuz. Tüm flash sürücülerde, ana bilgisayardan USB komutlarını kabul eden ve ana bilgisayar adına ham flaşla konuşan bir denetleyici yongası vardır. Bu denetleyici yongalarının bazıları, flaşın bir bölümünü ayrı bir CD-ROM bölümü olarak bildirecek veya iki ayrı USB depolama aygıtı gibi çalışacak şekilde yapılandırılabilir. Denetleyici yongasının markası ve modeline bağlı olarak, bu denetleyici yongasını sıfırlayabilecek bir kurtarma veya yapılandırma yardımcı programı (yalnızca Windows) bulabilirsiniz. Flash sürücüyü açarak, küçük PCB'de bulunan daha küçük (muhtemelen) iki çipi arayarak ve biraz Googling yaparak başlayacaksınız. Kasanın dışına yazdırılan marka ve modelin, denetleyiciyi içinde kimin yaptığını bulmanıza yardımcı olması muhtemel değildir.


7

Orada hiçbir şekilde onlar USB / ATA / SD / vb ek bir çeviri katmanı yana en flaş cihazlarda düşük düzeyli bir biçimini yapmak. için MTD düşük seviyesi MTD cihazları gizlemektedir ( olabilir doğrudan kazanılmış halinde biçimlendirilmiş düşük seviyede olması [hangi olamaz]).


6

bunun için ddkomut kullandd if=/dev/zero of=/dev/hda

Bu, sabit diskteki TÜM verileri, tüm önyükleme sektörü bilgilerini ve tüm bölümlerdeki tüm verileri yok edecektir. Ancak diski işe yaramaz hale getirmez, sadece bölümlerin oluşturulması ve yeni bir önyükleme sektörünün yüklenmesi gereken temiz bir diskiniz vardır, bu da Linux veya Windows da dahil olmak üzere herhangi bir işletim sistemi yüklediğinizde gerçekleşir. Bu, görülmesini istemediğiniz tüm kötü bölümleri, virüsleri, yedek yüklemeleri veya verileri temizlemenin iyi bir yoludur.


4
Sen do not kullanmak istediğiniz /dev/zerobir flaş bellek cihazını silmek için. Blogumdaki girişe bakın: fakkelbrigade.eu/chris/blog/2012/01/…
Chris Down

1
Bir flash aygıta / dev / zero yazmak olağanüstü yanlış değildir. Cihaza 1'ler yazmanın tek avantajı, diske bir dahaki sefere yazdığınızda biraz daha hızlı yazma süreleri elde edebilmenizdir, çünkü önce silinmesi gerekmez - ve bu, flaş çeviri katmanının akıllı olmasına bağlıdır.
Shawn J. Goff

2
@ChrisDown, Performans açısından nasıl karşılaştırıldığından emin değilsiniz, ancak kullanabilirsiniz badblocks -s -w -t 0xff /dev/?d??. Tüm 1 yazılı ve test olsun.
Zoredache

2
@ChrisDown blog girişiniz 404 uyumlu hale geldi.
derobert

1
Flaş dahili olarak tüm olanlara siler, sonra çeviri katmanı gerektiğini hepsi sıfır ile biçim diskleri adettendir beri bitleri eviriyoruz olmak.
psusi


2

Geçmişte (bir süre olmasa da) SCSI FORMAT UNIT komutunu uygulayan cihazlarla karşılaştım - Linux'tan şunları kullanabilirsiniz:

sg_format --format / dev / sdX

bu cihazları fabrika durumuna sıfırlamak için (USB depolama birimi eski SCSI standartlarından türetilir).

Bazı yeni USB 3 cihazlarının da ATA güvenlik komutları uyguladığına inanıyorum, bu yüzden flash çeviri katmanını fabrika ayarlarına sıfırlama etkisi olabilecek https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase kullanabilirsiniz. (SSD'lerde olduğu gibi).


1

Flash bellek için düşük seviyeli bir format gibi bir şey var, ancak satıcıya özel yazılım içeren fabrikalarda yapılır.

Bunu yapmak için - doğrudan bellek denetleyicisi yongasıyla konuşmanız gerekir. Neyse ki Linux'ta bunu yapabilen hiçbir program bulamadım.

Düşük düzeyli biçimlendirme gerçekleştiren ve bellek denetleyicisi yonga kümesine bazı ayarlar (LED davranışı, sürücüyü salt okunur yapma gibi) ve veriler (üretici adı, model adı, seri numarası gibi) yazabilen üretici araçları vardır, ancak bu araçlar genellikle yalnızca Windows için yapılır ve genellikle Çince'dir.

Böyle bir araca "FC MP Araçları" denir. Anlayabildiğim kadarıyla, bunlar Alcor Micro tarafından tasarlandı ve FirstChip (FC) tarafından üretildi. Görünüşe göre "MP", "Seri Üretim" anlamına gelir.

Burada bulduğum sürümü kullanıyorum: http://down.upantool.com/file/software/mass/FristChip/2018/iTe_MpTools_20171130.zip

Takip edebileceğiniz diğer bağlantılar: https://repusb.cubava.cu/?page_id=2052 https://www.rmprepusb.com/tutorials/repair-your-usb-flash-drive http://reboot.pro/topic / 20865-alcor-mikro-usb-kalem-sürücü-onarım / http://reboot.pro/topic/19901-no-alcor-mptool-is-recognizing-my-usb/ https://www.elektroda.pl /rtvforum/topic3145335.html http://flashboot.ru/files/file/30/ http://www.flashdrive-repair.com/2014/05/download-fc-mptool-v402-for-fixing.html https : //www.cdrinfo.pl/download/356133849

Wine'da çalışır, ancak sürücü yonga setlerini algılamaz (muhtemelen bir şey yapmak için USB denetleyicisine doğrudan erişmesi gerekir).

Ayrıca - bunun çalışması için desteklenen belirli bir Alcor yonga setine sahip bir flash sürücünüz olması gerekir. Yine - her satıcının USB üzerinden denetleyici yongalarıyla konuşan kendi yazılımı vardır.

Bu bende var:

resim açıklamasını buraya girin

Mikrodenetleyicideki yonga seti parça numarasını not edin: FC1178 BC1 FC MP Tools programı bunu 1178BC yonga seti olarak tanımlayacaktır :

resim açıklamasını buraya girin

Ve bağladığım yazılım Windows XP ve 10 altında çalışıyor. Ancak - programı İngilizce diline çevirirseniz çökecek! Tercihlerinizi İngilizce olarak ayarlayın, ardından programı yeniden başlatın ve dili değiştirmeyin - çalışmalıdır. Belki daha yeni bir sürümde düzeltilecektir.

Her neyse - farklı satıcıların farklı araçları var, bu bir tavşan deliği, burada standart yok AFAIK ve (en azından bu araç) maalesef sadece Windows üzerinde çalışacak.

Söyleyebileceğimden, bu bellek yongasını test edecek ve kontrol cihazı yongasına kötü bir sektör haritası yazacak, böylece işletim sistemine sadece iyi bir bellek sunabilecektir. Bu şekilde kısmen hasar görmüş talaşlar bile kullanılabilir ve satılabilir. Bunlar muhtemelen fabrikada kaliteye ve farklı kapasitelere göre biçimlendirilmiş düşük seviyeye göre sıralanır. Buna binning denir.

Belki birisi bu araçların birçoğunu toplayabilir, tersine mühendislik yapabilir ve Linux için evrensel bir açık kaynaklı araç yapabilirse bunu yapabiliriz - aksi takdirde bunun geldiğini görmüyorum.


1

Sabit disk sürücülerinde ve disket sürücülerinde yapıldığı gibi düşük düzeyli biçimlendirme bir flash sürücü için anlamlı olmasa da, "düşük düzeyli biçim" flash sürücüler için üreticiye özgü yardımcı programlar vardır: Bu bir örnek: Alcor düşük düzeyli biçim yardımcı programı

Linux üzerinde çalışacak böyle bir yardımcı program ararken bu soruya düştüm. Ancak, flash sürücü üreticilerinin bizi mutlu etmeyi umursamadıkları görülmektedir.

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.