เพื่อนของฉันมีปัญหากับแฟลชไดรฟ์ USB และฉันแนะนำให้เขาฟอร์แมตในระดับต่ำ จากนั้นฉันก็ไม่รู้ว่าจะทำยังไงใน Linux ดังนั้น ... ฉันจะฟอร์แมตหน่วยความจำแฟลชระดับต่ำใน Linux ได้อย่างไร เพื่อนของฉันลองใช้ "รูปแบบเต็ม" บนไดรฟ์ใน Windows และล้มเหลว
เพื่อนของฉันมีปัญหากับแฟลชไดรฟ์ USB และฉันแนะนำให้เขาฟอร์แมตในระดับต่ำ จากนั้นฉันก็ไม่รู้ว่าจะทำยังไงใน Linux ดังนั้น ... ฉันจะฟอร์แมตหน่วยความจำแฟลชระดับต่ำใน Linux ได้อย่างไร เพื่อนของฉันลองใช้ "รูปแบบเต็ม" บนไดรฟ์ใน Windows และล้มเหลว
คำตอบ:
"การจัดรูปแบบระดับต่ำ" เสร็จสิ้นบน floppies ซึ่งคุณสามารถเขียนที่ความหนาแน่นต่างกันโดยเลือกที่จะจัดระเบียบแทร็กและเซ็กเตอร์ต่างกัน แต่สิ่งนี้ไม่สมเหตุสมผลสำหรับสื่อที่ทันสมัยที่สุด แนวคิดในการจัดระเบียบข้อมูลบนอุปกรณ์นั้นได้รับการแก้ไขและไม่สามารถเปลี่ยนแปลงได้ มันไม่สมเหตุสมผลเลยสำหรับแฟลชที่มีบิตแยกจากกันแทนที่จะเป็นโดเมนแม่เหล็ก การจัดรูปแบบระดับที่สูงขึ้นเป็นไปได้ซึ่งอยู่mkfs
ในยูนิกซ์
fsck
chkdsk
mkfs
ไม่ทราบถ้าล้มเหลวfsck
จะไม่ช่วย
f3
เพื่อให้แน่ใจว่ามันจะไม่แตก
การจัดรูปแบบระดับต่ำหมายถึงสิ่งต่าง ๆ มากมายสำหรับผู้คนและบริบทที่แตกต่างกัน
ความหมายดั้งเดิมเป็นขั้นตอนที่จำเป็นในการจัดรูปแบบของดิสก์ - ดิสก์ไดรฟ์ต้องการส่วนหัวการซิงค์และรูปแบบอื่น ๆ ที่เขียนบนสื่อก่อนที่จะสามารถจัดเก็บข้อมูล ด้วยวิธีนี้หัวสามารถตรวจจับได้เมื่อเป็น A) บนแทร็กและ B) ซึ่งอยู่บนแทร็ก การจัดรูปแบบระดับต่ำฟลอปปี้เตรียมดิสก์เพื่อให้สามารถอ่านและเขียนบล็อกได้ ฮาร์ดไดรฟ์พีซี MFM และ RLL รุ่นแรก ๆ สามารถฟอร์แมตในระดับต่ำได้โดยใช้ยูทิลิตี้ที่อยู่ใน ROM (การ์ด ISA) ของยูทิลิตี้ ฮาร์ดไดรฟ์ IDE และ SATA สมัยใหม่จัดรูปแบบในระดับต่ำเช่นกัน แต่เฉพาะที่โรงงาน
ความหมายอื่น ๆ รวมถึงการเขียนเลขศูนย์ไปยังบล็อกทั้งหมดกำหนดค่าไดรฟ์เพื่อปิดการใช้งานพื้นที่ "ซ่อน" เช่น HPA และ DCO แล้ว zeroing บล็อคทั้งหมดหรือสิ่งอื่น ๆ ที่เกี่ยวข้องกับการแบ่งพาร์ติชันกว่าการจัดรูปแบบ
แฟลชดิบต้องการขั้นตอนการเตรียมการเบื้องต้นที่แตกต่างกันไปที่โรงงาน - แต่ละแฟลช "eraseblock" (analogus กับ "block" บนดิสก์) จะต้องมีการทดสอบและทำเครื่องหมายว่าไม่ดีถ้ามันไม่ดีจริง ๆ "eraseblock" แต่ละรายการจะมีบล็อก "OOB" ขนาดเล็กเพิ่มเติมที่เก็บข้อมูลการแก้ไขข้อผิดพลาด - และนี่คือตำแหน่งที่มีการทำเครื่องหมายว่าไม่ดี คุณไม่ต้องการทำซ้ำขั้นตอนนี้เนื่องจากการเขียนไปยังบล็อกที่ไม่ดีสามารถป้องกันคุณจากการตั้งค่าบิตนั้นอีกครั้งที่ระบุว่าไม่ดี
แต่คุณไม่ได้จัดการกับแฟลชแบบดิบ คุณกำลังติดต่อกับแฟลชไดรฟ์ USB มีชิปควบคุมในแฟลชไดรฟ์ทั้งหมดที่ยอมรับคำสั่ง USB จากโฮสต์และพูดคุยกับแฟลชดิบภายในในนามของโฮสต์ ชิปควบคุมเหล่านี้บางส่วนสามารถกำหนดค่าให้รายงานส่วนหนึ่งของแฟลชเป็นพาร์ติชันซีดีรอมแยกต่างหากหรือทำหน้าที่เหมือนอุปกรณ์เก็บข้อมูล USB สองตัวแยกกัน ขึ้นอยู่กับยี่ห้อและรุ่นของชิปควบคุมคุณอาจพบการกู้คืนหรือยูทิลิตีการกำหนดค่า (อาจเป็น Windows เท่านั้น) ที่สามารถรีเซ็ตชิปคอนโทรลเลอร์นี้ได้ คุณจะเริ่มต้นด้วยการเปิดแฟลชไดรฟ์มองหาชิปขนาดเล็ก (น่าจะ) สองอันที่อยู่บน PCB ขนาดเล็กและทำ Googling บ้าง ยี่ห้อและรุ่นที่พิมพ์อยู่ด้านนอกเคสไม่น่าจะช่วยให้คุณค้นหาผู้ที่สร้างคอนโทรลเลอร์ภายในขึ้นมาได้
นอกจากนี้ไม่มีทางที่จะทำรูปแบบระดับต่ำบนอุปกรณ์แฟลชมากที่สุดตั้งแต่พวกเขามีชั้นแปลเพิ่มเติมจาก USB / ATA / SD / ฯลฯ ถึงMTDซึ่งปิดบังอุปกรณ์ MTD ระดับต่ำ (ซึ่งสามารถจัดรูปแบบระดับต่ำหากได้รับโดยตรงซึ่งคุณไม่สามารถทำได้)
ใช้dd
คำสั่งสำหรับสิ่งนี้dd if=/dev/zero of=/dev/hda
สิ่งนี้จะทำลายข้อมูลทั้งหมดบนฮาร์ดไดรฟ์ข้อมูลบูตเซกเตอร์และข้อมูลทั้งหมดในพาร์ติชันทั้งหมด อย่างไรก็ตามมันจะไม่ทำให้ดิสก์ไม่มีประโยชน์คุณเพียงแค่มีคลีนดิสก์ที่จำเป็นต้องมีพาร์ติชันที่สร้างขึ้นและบูตเซกเตอร์ใหม่ที่ติดตั้งซึ่งจะเกิดขึ้นเมื่อคุณติดตั้งระบบปฏิบัติการใด ๆ รวมถึง Linux หรือ Windows นี่เป็นวิธีที่ดีในการล้างพาร์ติชันที่ไม่ดีไวรัสการติดตั้งที่ไม่เรียบร้อยหรือข้อมูลที่คุณไม่ต้องการให้ปรากฏ
/dev/zero
เพื่อลบอุปกรณ์หน่วยความจำแฟลช ดูรายการในบล็อกของฉัน: fakkelbrigade.eu/chris/blog/2012/01/…
badblocks -s -w -t 0xff /dev/?d??
ใช้ได้ คุณได้รับการเขียนทั้งหมดและทดสอบด้วย
mkfs.vfat /dev/hda1
จะทำเทียบเท่าคำสั่ง "format" ของ MSDOS
ฉันเคยเจออุปกรณ์ในอดีต (แม้ว่าจะไม่ใช่ซักพัก) ซึ่งใช้คำสั่ง SCSI FORMAT UNIT - จาก Linux คุณสามารถใช้:
sg_format --format / dev / sdX
เพื่อรีเซ็ตอุปกรณ์เหล่านี้เป็นสถานะโรงงาน (ข้อมูลจำเพาะหน่วยเก็บข้อมูล USB ได้มาจากมาตรฐาน SCSI รุ่นเก่า)
ผมเชื่อว่าบางที่ใหม่กว่า USB 3 อุปกรณ์ยังใช้คำสั่งการรักษาความปลอดภัย ATA เพื่อให้คุณสามารถใช้https://ata.wiki.kernel.org/index.php/ATA_Secure_Eraseซึ่งมีแนวโน้มที่จะมีผลต่อการรีเซ็ตชั้นแปลแฟลชไปที่โรงงานของตน สถานะ (ตามปกติจะทำกับ SSD)
มีสิ่งดังกล่าวในรูปแบบระดับต่ำสำหรับหน่วยความจำแฟลช แต่มันทำในโรงงานด้วยซอฟต์แวร์เฉพาะผู้จำหน่าย
ในการทำเช่นนั้นคุณต้องพูดคุยโดยตรงกับชิปคอนโทรลเลอร์หน่วยความจำ โดยไม่แจ้งล่วงหน้าฉันไม่พบโปรแกรมใด ๆ ที่สามารถทำได้บน Linux
มีเครื่องมือของผู้ผลิตที่ดำเนินการจัดรูปแบบระดับต่ำและสามารถเขียนการตั้งค่าบางอย่าง (เช่นพฤติกรรม LED ทำให้ไดรฟ์อ่านอย่างเดียว) และข้อมูล (เช่นชื่อผู้ผลิตชื่อรุ่นหมายเลขซีเรียล) ไปยังชิปเซ็ตตัวควบคุมหน่วยความจำ ทำเฉพาะสำหรับ Windows และมักจะเป็นภาษาจีน
เครื่องมือหนึ่งดังกล่าวเรียกว่า "FC MP Tools" เท่าที่ฉันสามารถบอกได้สิ่งเหล่านี้ได้รับการออกแบบโดยAlcor Microและผลิตโดย FirstChip (FC) เห็นได้ชัดว่า "MP" หมายถึง "การผลิตจำนวนมาก"
ฉันกำลังใช้รุ่นที่ฉันพบอยู่ที่นี่: http://down.upantool.com/file/software/mass/FristChip/2018/iTe_MpTools_20171130.zip
ลิงค์อื่น ๆ ที่คุณสามารถติดตามได้: https://repusb.cubava.cu/?page_id=2052 https://www.rmprepusb.com/tutorials/repair-your-usb-flash-drive http://reboot.pro/topic / 20865-alcor-micro-usb-pen-drive-repair / 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 แต่จะไม่ตรวจจับชิปเซ็ตของไดรฟ์ (อาจต้องมีการเข้าถึงโดยตรงไปยังคอนโทรลเลอร์ USB เพื่อทำสิ่งนั้น)
นอกจากนี้ - เพื่อให้สามารถใช้งานได้คุณต้องมีแฟลชไดรฟ์ที่มีชิปเซ็ต Alcor เฉพาะที่รองรับ อีกครั้ง - ผู้ขายแต่ละรายมีซอฟต์แวร์ของตนเองที่พูดคุยกับชิปคอนโทรลเลอร์ผ่าน USB
ฉันมีสิ่งนี้:
บันทึกหมายเลขชิ้นส่วนของชิปเซ็ตบนไมโครคอนโทรลเลอร์: FC1178 BC1 โปรแกรม FC MP Tools จะระบุว่าเป็นชิปเซ็ต1178BC :
และซอฟต์แวร์ที่ฉันเชื่อมโยงใช้งานได้กับ Windows XP และ 10 อย่างไรก็ตามมันจะพังถ้าคุณเปลี่ยนโปรแกรมเป็นภาษาอังกฤษ! ตั้งค่ากำหนดเป็นภาษาอังกฤษจากนั้นเริ่มโปรแกรมใหม่และไม่เปลี่ยนภาษา - ควรใช้งานได้ อาจจะได้รับการแก้ไขในเวอร์ชันที่ใหม่กว่า
อย่างไรก็ตามผู้ขายที่แตกต่างกันมีเครื่องมือที่แตกต่างกันมันเป็นโพรงกระต่ายไม่มีมาตรฐานที่นี่ AFAIK และ (อย่างน้อยเครื่องมือนี้) จะทำงานบน Windows ได้อย่างน่าเสียดาย
จากสิ่งที่ฉันสามารถบอกได้สิ่งนี้จะทดสอบชิปหน่วยความจำและเขียนแผนที่เซกเตอร์เสียไปยังชิปควบคุมเพื่อที่จะสามารถนำเสนอหน่วยความจำที่ดีกับระบบปฏิบัติการเท่านั้น วิธีนี้แม้แต่ชิปที่เสียหายบางส่วนก็สามารถใช้และขายได้ สิ่งเหล่านี้อาจถูกจัดเรียงในโรงงานด้วยคุณภาพและรูปแบบระดับต่ำไปจนถึงความสามารถที่แตกต่างกัน สิ่งนี้เรียกว่าการ binning
บางทีถ้ามีคนสามารถรวบรวมเครื่องมือเหล่านี้ได้มากมายให้ทำวิศวกรรมย้อนกลับและสร้างเครื่องมือโอเพ่นซอร์สสากลสำหรับ Linux ที่เราสามารถทำได้ - ไม่อย่างนั้นฉันไม่เห็นว่ากำลังมา
แม้ว่าการฟอร์แมตระดับต่ำในแบบที่ทำบนฮาร์ดดิสก์ไดรฟ์และฟลอปปี้ไดรฟ์ไม่สมเหตุสมผลสำหรับแฟลชไดรฟ์ แต่ก็มียูทิลิตีเฉพาะผู้ผลิตสำหรับแฟลชไดรฟ์ "ฟอร์แมตระดับต่ำ": นี่เป็นตัวอย่าง: ยูทิลิตีฟอร์แมตระดับต่ำของ Alcor
ฉันล้มลงในคำถามนี้ในขณะที่มองหาโปรแกรมอรรถประโยชน์ดังกล่าวที่จะทำงานบน Linux อย่างไรก็ตามดูเหมือนว่าผู้ผลิตแฟลชไดรฟ์ไม่สนใจที่จะทำให้เรามีความสุข
mkfs
ตัวเลือกเดียวของเขาคืออะไร? เกิดอะไรขึ้นถ้ามันไม่ทำงาน ไม่มีอะไรอีกที่เขาจะลองได้?