Làm thế nào tôi có thể bộ nhớ flash định dạng cấp thấp trong Linux?


13

Bạn tôi gặp vấn đề với ổ flash USB và tôi đề nghị anh ấy làm định dạng cấp thấp. Sau đó, tôi nhận ra rằng tôi thậm chí không biết làm thế nào trong Linux. Vậy ... làm thế nào tôi có thể bộ nhớ flash định dạng cấp thấp trong Linux? Bạn tôi đã thử "định dạng đầy đủ" trên ổ đĩa trong Windows và không thành công.

Câu trả lời:


12

"Định dạng cấp thấp" được thực hiện trên đĩa mềm, nơi bạn có thể viết ở các mật độ khác nhau bằng cách chọn tổ chức các bản nhạc và các lĩnh vực khác nhau. Nhưng điều này không có ý nghĩa đối với hầu hết các phương tiện truyền thông hiện đại. Khái niệm về cách tổ chức dữ liệu trên thiết bị là cố định và không thể thay đổi. Nó hoàn toàn không có ý nghĩa gì đối với flash, vốn có các bit rời rạc hơn là các miền từ tính. Định dạng cấp cao hơn là có thể, đó là mkfstrong đất liền.


Vì vậy, nếu hệ thống tập tin trên ổ đĩa flash của bạn tôi bị rối, mkfscó phải là lựa chọn duy nhất của anh ấy không? Nếu nó không hoạt động thì sao? Không có gì khác anh có thể thử?
bmaupin

@Bryan: tốt, anh ấy cũng có thể thử fsck, tương đương với dos chkdsk.
wnoise

3
@wnoise nếu mkfsthất bại, fscksẽ không giúp được gì.
derobert

2
Tôi đã kiểm tra hàng tấn bộ nhớ USB flash tại nơi làm việc và chất lượng của nó trên khắp bản đồ, vì vậy tôi sẽ không ngạc nhiên nếu ổ đĩa của bạn của bạn bị hỏng và không thể hoạt động được nữa. Những thứ này có thể phá vỡ theo nhiều cách khác nhau và bạn không thể làm gì nhiều về nó, ngoài việc mua bộ nhớ từ các nguồn có uy tín và sau đó có thể thử nghiệm nó f3để đảm bảo nó không bị hỏng.
unfa

8

Định dạng cấp thấp có nghĩa là nhiều thứ khác nhau cho những người khác nhau và trên các bối cảnh khác nhau.

Ý nghĩa ban đầu là một bước cần thiết trong định dạng của đĩa - ổ đĩa cần tiêu đề, đồng bộ hóa và các mẫu khác được ghi trên phương tiện truyền thông trước khi có thể lưu trữ dữ liệu vào nó. Theo cách này, người đứng đầu có thể phát hiện khi đó là A) trên một bản nhạc và B) nơi nó nằm trên bản nhạc. Định dạng cấp thấp một đĩa mềm chuẩn bị đĩa để có thể đọc và ghi các khối. Các ổ đĩa cứng PC MFM và RLL đời đầu có thể được định dạng ở mức độ thấp, thường sử dụng tiện ích được tích hợp trong ROM của bộ điều khiển ổ cứng (thẻ ISA). Các ổ đĩa cứng IDE và SATA hiện đại cũng được định dạng ở mức độ thấp, nhưng chỉ có tại nhà máy.

Nhiều ý nghĩa khác bao gồm ghi số không vào tất cả các khối, định cấu hình ổ đĩa để vô hiệu hóa các khu vực "ẩn" như HPA và DCO và sau đó hủy tất cả các khối hoặc những thứ khác liên quan đến phân vùng hơn là định dạng.

Flash thô cần một bước chuẩn bị ban đầu khác nhau tại nhà máy - mỗi đèn flash "eraseblock" (tương tự như "khối" trên đĩa) cần phải được kiểm tra và đánh dấu là xấu nếu nó thực sự xấu. Mỗi "eraseblock" có một khối "OOB" nhỏ bổ sung chứa thông tin sửa lỗi - và đây là nơi nó được đánh dấu là xấu. Bạn KHÔNG muốn lặp lại bước này vì hành động viết vào một khối xấu có thể ngăn bạn thiết lập lại bit cụ thể đó xác định nó là xấu.

Nhưng bạn không đối phó với đèn flash thô. Bạn đang đối phó với một ổ đĩa flash USB. Có một chip điều khiển trong tất cả các ổ đĩa flash chấp nhận các lệnh USB từ máy chủ và nói chuyện với đèn flash thô bên trong thay mặt máy chủ. Một số chip điều khiển này có thể được cấu hình để báo cáo một phần của đèn flash dưới dạng phân vùng CD-ROM riêng biệt hoặc hoạt động như hai thiết bị lưu trữ USB riêng biệt. Tùy thuộc vào kiểu dáng và kiểu của chip điều khiển, bạn có thể tìm thấy tiện ích phục hồi hoặc cấu hình (chỉ có thể là Windows) có thể đặt lại chip điều khiển này. Bạn sẽ bắt đầu bằng cách mở ổ đĩa flash, tìm kiếm hai con chip nhỏ hơn (có khả năng) nằm trên PCB nhỏ và thực hiện một số Google. Kiểu và mẫu được in ở bên ngoài vỏ máy không có khả năng giúp bạn tìm ra ai đã tạo bộ điều khiển bên trong nó.


6

sử dụng ddlệnh cho việc nàydd if=/dev/zero of=/dev/hda

Điều này sẽ phá hủy TẤT CẢ dữ liệu trên ổ cứng, tất cả thông tin khu vực khởi động và tất cả dữ liệu trên tất cả các phân vùng. Tuy nhiên, nó sẽ không làm cho đĩa trở nên vô dụng, bạn chỉ cần có một đĩa sạch chỉ cần có các phân vùng được tạo và một phần khởi động mới được cài đặt, điều này sẽ xảy ra khi bạn cài đặt bất kỳ HĐH nào kể cả Linux hoặc Windows. Đây là một cách tốt để dọn sạch mọi phân vùng xấu, vi rút, cài đặt bị lỗi hoặc dữ liệu mà bạn không muốn nhìn thấy.


4
Bạn không muốn sử dụng /dev/zerođể xóa một thiết bị bộ nhớ flash. Xem mục trên blog của tôi: fakkelbrigade.eu/chris/blog/2012/01/ trên
Chris Down

1
Việc ghi / dev / zero cho thiết bị flash không phải là cực kỳ sai. Ưu điểm duy nhất mà việc ghi 1s vào thiết bị mang lại là bạn có thể nhận được thời gian ghi nhanh hơn một chút vào lần tiếp theo bạn ghi vào đĩa vì nó không phải bị xóa trước - và điều đó phụ thuộc vào lớp dịch flash là thông minh.
Shawn J. Goff

2
@ChrisDown, Không chắc nó so sánh hiệu năng như thế nào, nhưng bạn có thể sử dụng badblocks -s -w -t 0xff /dev/?d??. Bạn nhận được tất cả 1 bằng văn bản, và kiểm tra quá.
Zoredache

2
@ChrisDown mục blog của bạn đã tuân thủ 404.
derobert

1
Nếu đèn flash bên trong xóa tất cả các lớp, thì lớp dịch sẽ đảo ngược các bit vì nó được định dạng theo định dạng đĩa với tất cả các số 0.
psusi

6

Không có cách nào để thực hiện định dạng cấp thấp trên hầu hết các thiết bị flash, vì chúng có lớp dịch bổ sung từ USB / ATA / SD / vv. đến MTD che khuất các thiết bị MTD cấp thấp ( có thể được định dạng ở cấp độ thấp nếu được chuyển trực tiếp [mà bạn không thể]).


4

mkfs.vfat /dev/hda1 sẽ thực hiện tương đương với lệnh "định dạng" MSDOS.


2

Trước đây tôi đã bắt gặp các thiết bị (mặc dù không lâu) thực hiện lệnh SCSI FORMAT UNIT - từ Linux mà bạn có thể sử dụng:

sg_format --format / dev / sdX

để đặt lại các thiết bị này về trạng thái xuất xưởng (thông số lưu trữ USB được lấy từ các tiêu chuẩn SCSI cũ hơn).

Tôi tin rằng một số thiết bị USB 3 mới hơn cũng thực hiện các lệnh bảo mật ATA, vì vậy bạn có thể sử dụng https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase có khả năng đặt lại lớp dịch flash cho nhà máy của nó trạng thái (như thường làm với SSD).


1

Có một định dạng như định dạng cấp thấp cho bộ nhớ Flash, nhưng nó được thực hiện trong các nhà máy có phần mềm dành riêng cho nhà cung cấp.

Để làm điều đó - bạn cần nói chuyện trực tiếp với chip điều khiển bộ nhớ. Thật không may, tôi không thể tìm thấy bất kỳ chương trình nào có thể làm điều đó trên Linux.

Có các công cụ của nhà sản xuất thực hiện định dạng cấp thấp và có thể ghi một số cài đặt (như hành vi LED, làm cho ổ đĩa chỉ đọc) và dữ liệu (như tên nhà sản xuất, tên kiểu, số sê-ri) vào chipset bộ điều khiển bộ nhớ, nhưng các công cụ này thường chỉ được tạo cho Windows và thường bằng tiếng Trung Quốc.

Một công cụ như vậy được gọi là "FC MP Tools". Theo như tôi có thể nói, những thứ này được Alcor Micro thiết kế và được FirstChip (FC) sản xuất. Rõ ràng "MP" là viết tắt của "Sản xuất hàng loạt".

Tôi đang sử dụng phiên bản tôi đã tìm thấy ở đây: http://down.upantool.com/file/software/mass/FristChip/2018/iTe_MpTools_20171130.zip

Các liên kết khác bạn có thể theo dõi: 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/doad-fc-mptool-v402-for-fixing.html https : //www.cdrinfo.pl/doad3536133849

Nó chạy trong Wine, nhưng sẽ không phát hiện các chipset ổ đĩa (có lẽ nó cần truy cập trực tiếp vào bộ điều khiển USB để thực hiện điều đó).

Ngoài ra - để làm việc này, bạn cần có một ổ đĩa flash với chipset Alcor cụ thể được hỗ trợ. Một lần nữa - mỗi nhà cung cấp có phần mềm riêng nói chuyện với các chip điều khiển thông qua USB.

Tôi có cái này:

nhập mô tả hình ảnh ở đây

Lưu ý số phần của chipset trên vi điều khiển: FC1178 BC1 Chương trình FC MP Tools sẽ xác định đây là chipset 1178BC :

nhập mô tả hình ảnh ở đây

Và phần mềm tôi liên kết hoạt động với nó trong Windows XP và 10. Tuy nhiên - nó sẽ bị sập nếu bạn chuyển chương trình sang ngôn ngữ tiếng Anh! Đặt tùy chọn của bạn bằng tiếng Anh, sau đó khởi động lại chương trình và không thay đổi ngôn ngữ - nó sẽ hoạt động. Có lẽ nó sẽ được sửa trong một phiên bản mới hơn.

Dù sao - các nhà cung cấp khác nhau có các công cụ khác nhau, đó là một lỗ thỏ, không có tiêu chuẩn nào ở đây AFAIK và (ít nhất là công cụ này) sẽ chỉ hoạt động trên Windows một cách đáng tiếc.

Từ những gì tôi có thể nói, điều này sẽ kiểm tra chip bộ nhớ và viết sơ đồ cung cấp xấu cho chip điều khiển để nó chỉ có thể hiển thị bộ nhớ tốt cho HĐH. Cách này thậm chí một phần chip bị hư hỏng có thể được sử dụng và bán. Chúng có thể được sắp xếp trong nhà máy theo chất lượng và mức độ thấp được định dạng theo các năng lực khác nhau. Điều này được gọi là binning.

Có lẽ nếu ai đó có thể thu thập rất nhiều các công cụ này, hãy thiết kế lại chúng và tạo ra một công cụ nguồn mở phổ biến cho Linux, chúng ta có thể làm điều đó - vì vậy tôi không thấy điều đó sẽ đến.


1

Mặc dù định dạng cấp thấp như cách nó được thực hiện trên ổ đĩa cứng và ổ đĩa mềm không có ý nghĩa đối với ổ đĩa flash, nhưng vẫn tồn tại các tiện ích cụ thể của nhà sản xuất đối với ổ flash "định dạng cấp thấp": Đây là một ví dụ: Tiện ích định dạng cấp thấp Alcor

Tôi đã rơi vào câu hỏi này trong khi tìm kiếm tiện ích như vậy sẽ hoạt động trên Linux. Tuy nhiên, dường như các nhà sản xuất ổ đĩa flash không quan tâm đến việc làm cho chúng tôi hạnh phúc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.