Làm cách nào tôi có thể xóa hoàn toàn tất cả dữ liệu trên thẻ SD (micro)?


16

Tôi vừa nhận được một thẻ micro sd mà tôi dự định sử dụng với Raspberry Pi.

Tôi đã sử dụng trình quản lý phân vùng KDE để xóa phân vùng gốc trên thẻ và để viết phân vùng ext4 12GiB mới. Sau khi làm điều này, thẻ vẫn nói rằng 6% của nó, 30,02 MiB, đang được sử dụng.

Về cơ bản, tôi muốn xóa hoàn toàn thẻ của tất cả các nội dung để chuẩn bị cho hệ điều hành mới. Liệu một lệnh như shredhoặc ddthực hiện các mẹo hoặc cũng sẽ phá hủy phân vùng?


Tôi thiên vị, nhưng nếu bạn muốn kiểm soát hoàn toàn các phân vùng, đừng sử dụng phân vùng đồ họa, hãy sử dụng cái cũ fdisk. (Trừ khi bạn không thể vì GPT hoặc các hạn chế kỹ thuật khác.)
CijcoSistems

Nhân tiện ... RaspberryPi có hỗ trợ tải kernel từ ext4 không? Tôi nhớ sử dụng FAT cho quá trình khởi động sớm (kernel, cmdline, cấu hình SoC và phân tách bộ nhớ), sau đó có hệ thống tập tin gốc trên một phân vùng khác (hoặc NFS nếu bạn muốn)
CijcoSistems

[Xóa đĩa an toàn - archlinux.org] "Việc xóa đĩa được thực hiện bằng cách ghi dữ liệu mới trên mỗi bit." wiki.archlinux.org/index.php/Seciously_wipe_disk

Câu trả lời:


24

Suy đoán của bạn ddlà đúng. Bạn có thể xóa thẻ SD bằng lệnh sau (giả sử rằng thẻ SD của bạn là /dev/sdd):

Không làm gián đoạn lệnh này hoặc nó có thể gạch thẻ SD.

$ sudo dd if=/dev/zero of=/dev/sdd bs=8192

Lưu ý: Nếu lệnh này không hoàn thành thành công và bạn phải hủy bỏ nó, thì rất có thể nó có thể phục hồi được với các chương trình khôi phục phân vùng đĩa được đề cập trong các bài đăng khác.

Nó có thể mất một thời gian tùy thuộc vào kích thước và tốc độ của thẻ SD. Nếu bạn bị thuyết phục, CIA muốn khôi phục các tệp của bạn, sau đó ghi đè lên thẻ SD urandomthay vì zero:

$ sudo dd if=/dev/urandom of=/dev/sdd bs=8192

ddlệnh từ các ví dụ trên sẽ xóa toàn bộ thẻ SD, để lại mà không có bất kỳ phân vùng nào, thậm chí không có bảng phân vùng. Vì vậy, bạn sẽ cần phải tạo lại phân vùng trên thẻ SD. Bạn có thể làm điều này bằng bất kỳ công cụ phân vùng nào như cfdisk, parted(khuyến nghị của tôi) hoặc gparted.

Và một điều nữa: cực kỳ cẩn thận khi gọi ddlệnh . Một lỗi đánh máy trong of=giá trị đối số có thể gây ra thảm họa.


2
Nếu bạn lo lắng về CIA, bạn nên sử dụng /dev/randomvà thực hiện như vậy từ 5 đến 10 lần ... chưa kể rằng bạn cũng nên đốt nó trong lò nướng, bắt lửa và chôn sâu dưới đại dương: P
CijcoSistems

3
@CijcoSistems: Gợi ý đốt, đốt hoặc chôn có thể có tác dụng. Tuy nhiên, phương pháp ghi dữ liệu ngẫu nhiên (5 đến 10 lần) sẽ KHÔNG.
david6

1
@ david6 Bạn có thể giải thích tại sao việc ghi dữ liệu nhiều lần thông qua ghi đè có thể không hoạt động?
Denis

7
Bộ nhớ trạng thái rắn không bay hơi hiện đại sử dụng cân bằng hao mòn để dừng đọc / ghi lặp lại lạm dụng bất kỳ phần cụ thể nào của bộ nhớ. (Xem: searchsolidstatest Storage.techtarget.com/defTHER/wear-leveling ) Điều này có nghĩa là dữ liệu ghi có ý định 'ghi đè' thực sự có thể được lưu ở nơi khác. Điều đó cũng có nghĩa là dung lượng bộ nhớ thực cao hơn gấp 100 lần so với quy định, để cho phép tái phân bổ liên tục. Như đã lưu ý trong câu trả lời của tôi, bạn phải gọi chức năng xóa an toàn của nhà sản xuất , để bỏ qua mọi hiệu ứng 'cân bằng hao mòn'.
david6

1
Tôi không nghĩ việc cân bằng hao mòn là một vấn đề khi bạn lấp đầy ổ đĩa bằng số không. Vấn đề thực sự sẽ là các lĩnh vực xấu rơi ra và không bị ghi đè.
HilarieAK

4

Nếu bạn vừa tạo một phân vùng mới, sẽ không có bất kỳ tệp thực tế nào trên đó. 30 MB đó có lẽ chỉ là hệ thống tập tin. Phân vùng cần một vài bảng khác nhau và không có gì để thực sự theo dõi các tệp.

Bạn có thể kiểm tra kỹ xem có thực sự không có gì trên đó không bằng cách tìm các tệp ẩn ls -alphtừ dòng lệnh hoặc bật các tệp ẩn trong menu "Xem" của Nautilus.

Tùy thuộc vào chính xác cách bạn gọi các lệnh, có khả năng sử dụng shredhoặc ddthực sự sẽ ghi đè lên bảng phân vùng và / hoặc hệ thống tệp.


4

Bạn đang cố gắng để đạt được điều gì?


(A.) Xóa tất cả các phân vùng hiện tại, để sử dụng lại thẻ:

Để xóa phân vùng và / hoặc định dạng lại thẻ SD (micro), chỉ cần sử dụng tiện ích gnome-đĩa (hay còn gọi là 'Đĩa').

HOẶC LÀ

(B.) Xóa mọi nội dung hiện tại (hoặc trước đó) trên thẻ, vì vậy nó KHÔNG thể được phục hồi:

Để xóa một cách an toàn các thẻ, bạn cần phải chất phá hủy các thẻ (render thành các hạt tiểu 2mm²) HOẶC sử dụng một tiện ích (từ các nhà cung cấp) để kích hoạt an toàn-erase chức năng.

Nhiều lần ghi (dữ liệu ngẫu nhiên) hoặc định dạng lại sẽ KHÔNG nhất thiết phải xóa dữ liệu.


Các sfillcông cụ có thể được sử dụng cho mục đích này. Xem superuser.com/questions/319262/ Mạnh
Jim Garrison

1
@Jim Garrison : Điều đó không giải quyết việc cân bằng hao mòn (xem nhận xét trước đó của tôi) và ánh xạ lại các khối dữ liệu, được thực hiện bởi bộ điều khiển bộ nhớ flash sẵn có. Dữ liệu đó vẫn có khả năng phục hồi.
david6


2

Bạn có thể cắt nhỏ các tập tin trước khi xóa chúng:

find /media/user/SD32/ -type f -exec shred -v -f -n0 -z -u   {} \;

shred params có nghĩa là: Verbose, buộc xóa các tệp không thể ghi, không ghi các byte ngẫu nhiên (tăng tốc), ghi các số 0 (nhanh hơn nhiều), cắt bớt và xóa tệp sau khi viết số không.

Điều này sẽ loại bỏ dữ liệu theo cách mà chúng sẽ không được phục hồi bởi các ứng dụng như photorec.

Xem /unix/27027/how-do-i-recursively-shred-an-entire-directory-tree


1
Thật không may, điều này sẽ không hoạt động trên thẻ SD. Nếu bạn ghi đè lên tệp trên chúng, bạn đang ghi vào các khu vực khác của SD. Vì vậy, để có hiệu quả, bạn nên viết trên toàn bộ thẻ SD, như trong câu trả lời.
luca76
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.