ฉันจะลบข้อมูลทั้งหมดในการ์ด SD (micro) ได้อย่างไร


16

ฉันเพิ่งได้รับการ์ด micro sd ที่ฉันวางแผนที่จะใช้กับ Raspberry Pi

ฉันใช้ตัวจัดการพาร์ติชัน KDE เพื่อลบพาร์ติชันดั้งเดิมบนการ์ดและเขียนพาร์ติชัน 12GiB ext4 ใหม่ หลังจากทำเช่นนี้แล้วการ์ดยังบอกว่า 6% ของมัน 30.02 MiB กำลังถูกใช้งานอยู่

โดยทั่วไปฉันต้องการเช็ดการ์ดของเนื้อหาทั้งหมดอย่างสมบูรณ์เพื่อเตรียมสำหรับระบบปฏิบัติการใหม่ คำสั่งจะชอบshredหรือddทำอุบายหรือจะทำลายพาร์ติชั่นด้วยหรือไม่?


ฉันกำลังลำเอียง fdiskแต่ถ้าคุณต้องการควบคุมเต็มรูปแบบของพาร์ทิชันไม่ได้ใช้แบ่งพาร์ทิชันแบบกราฟิกที่ใช้ดีเก่า (ยกเว้นว่าคุณทำไม่ได้เพราะ GPT หรือข้อ จำกัด ทางเทคนิคอื่น ๆ )
CijcoSistems

RaspberryPi จะสนับสนุนการโหลดเคอร์เนลจาก ext4 โดยตรงหรือไม่? ฉันจำได้ว่าใช้ FAT สำหรับกระบวนการบู๊ตเริ่มต้น (เคอร์เนล, cmdline, การกำหนดค่า SoC และการแยกหน่วยความจำ) แล้วมีระบบไฟล์รูทบนพาร์ติชันอื่น (หรือ NFS ถ้าคุณต้องการ)
CijcoSistems

[เช็ดดิสก์อย่างปลอดภัย - archlinux.org] "การล้างดิสก์ทำได้โดยการเขียนข้อมูลใหม่บนทุก ๆ บิต" wiki.archlinux.org/index.php/SecFE_wipe_disk

คำตอบ:


24

การคาดเดาของคุณddถูกต้อง คุณสามารถล้างการ์ด SD ออกโดยคำสั่งต่อไปนี้ (สมมติว่าการ์ด SD ของคุณเป็น/dev/sdd):

อย่าขัดจังหวะคำสั่งนี้หรืออาจเป็นไปได้ว่าอาจก่อให้เกิดการ์ด SD

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

หมายเหตุ: หากคำสั่งนี้ไม่เสร็จสมบูรณ์และคุณต้องยกเลิกคำสั่งนั้นส่วนใหญ่จะสามารถกู้คืนได้ด้วยโปรแกรมการกู้คืนพาร์ทิชันดิสก์ที่ครอบคลุมในการโพสต์อื่น ๆ

อาจใช้เวลาสักครู่ขึ้นอยู่กับขนาดและความเร็วของการ์ด SD หากคุณมั่นใจว่า CIA นั้นต้องการกู้คืนไฟล์ของคุณให้เขียนทับการ์ด SD ด้วยurandomแทนที่จะเป็นzero:

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

ddคำสั่งจากตัวอย่างด้านบนจะลบการ์ด SD ทั้งหมดทิ้งโดยไม่มีพาร์ติชันใด ๆ แม้ไม่มีพาร์ติชันตาราง ดังนั้นคุณจะต้องสร้างพาร์ติชันใหม่บนการ์ด SD คุณสามารถทำได้โดยเครื่องมือแบ่งพาร์ทิชันใด ๆ เช่นcfdisk, parted(คำแนะนำของฉัน) gpartedหรือ

และสิ่งหนึ่งที่เพิ่มเติม: จะระมัดระวังอย่างมากในการเรียกddคำสั่ง การพิมพ์ผิดในof=ค่าอาร์กิวเมนต์สามารถทำให้เกิดภัยพิบัติ


2
หากคุณกังวลเกี่ยวกับ CIA คุณควรใช้/dev/randomและทำเช่น 5 ถึง 10 ครั้ง ... ไม่ต้องพูดถึงว่าคุณควรเผาในเตาเผาไหม้และฝังลึกลงไปในมหาสมุทร: P
CijcoSistems

3
@CijcoSistems: ข้อเสนอแนะในการเผาไหม้จุดหรือฝังอาจทำงานได้ อย่างไรก็ตามวิธีการเขียนข้อมูลแบบสุ่ม (5 ถึง 10 ครั้ง) จะไม่
david6

1
@ david6 คุณช่วยอธิบายได้ไหมว่าทำไมการเขียนข้อมูลหลายครั้งผ่านการเขียนทับอาจไม่ทำงาน?
เดนิส

7
หน่วยความจำโซลิดสเตตแบบไม่ลบเลือนที่ทันสมัยใช้การปรับระดับการสึกหรอเพื่อหยุดการอ่าน / เขียนซ้ำ ๆ โดยใช้ส่วนใดส่วนหนึ่งของหน่วยความจำ (ดู: searchsolidstatestorage.techtarget.com/definition/wear-leveling ) ซึ่งหมายความว่าข้อมูลที่เขียนว่ามีเจตนาจะ 'เขียนทับ' อาจถูกบันทึกไว้ที่อื่น นอกจากนี้ยังหมายถึงความจุหน่วยความจำที่แท้จริงนั้นมากกว่าที่ระบุไว้ 100 เท่าเพื่อให้สามารถจัดสรรใหม่ได้อย่างต่อเนื่อง ตามที่ระบุไว้ในคำตอบของฉันคุณต้องเรียกใช้ฟังก์ชั่นการลบอย่างปลอดภัยของผู้ผลิตเพื่อหลีกเลี่ยงผลกระทบ 'การปรับระดับการสึกหรอ' ใด ๆ
david6

1
ฉันไม่คิดว่าการปรับระดับการสึกหรอเป็นปัญหาเมื่อคุณเติมไดรฟ์ด้วยเลขศูนย์อย่างสมบูรณ์ ปัญหาที่แท้จริงจะเป็นเซกเตอร์เสียและไม่ถูกเขียนทับ
HilarieAK

4

หากคุณเพิ่งสร้างพาร์ติชันใหม่ไม่ควรมีไฟล์จริง ๆ อยู่ 30MB นั้นอาจเป็นเพียงระบบไฟล์เท่านั้น พาร์ติชั่นต้องการตารางที่แตกต่างกันสองสามอย่าง

คุณสามารถตรวจสอบอีกครั้งว่าไม่มีสิ่งใดอยู่ในนั้นโดยค้นหาไฟล์ที่ซ่อนอยู่ls -alphจากบรรทัดคำสั่งหรือเปิดใช้งานไฟล์ที่ซ่อนอยู่ในเมนู "มุมมอง" ของ Nautilus

ขึ้นอยู่กับวิธีที่คุณเรียกใช้คำสั่งเป็นไปได้ว่าการใช้shredหรือddจะเขียนทับตารางพาร์ทิชันและ / หรือระบบไฟล์


4

คุณพยายามทำอะไรให้สำเร็จ


(A. ) ลบพาร์ติชันปัจจุบันทั้งหมดเพื่อนำการ์ดกลับมาใช้ใหม่:

ในการลบพาร์ติชั่นและ / หรือฟอร์แมตการ์ด SD (micro) อีกครั้งเพียงใช้gnome-disk-utility (aka 'Disks')

หรือ

(B. ) ลบเนื้อหาปัจจุบัน (หรือก่อนหน้า) บนการ์ดดังนั้นจึงไม่สามารถกู้คืนได้:

ในการลบการ์ดอย่างปลอดภัยคุณต้องEITHERทำลายการ์ด (แสดงเป็นอนุภาคย่อย 2 มม. ²) หรือใช้ยูทิลิตี้ (จากผู้ขาย) เพื่อเรียกใช้ฟังก์ชั่นการลบที่ปลอดภัย

การเขียนหลายครั้ง (จากข้อมูลสุ่ม) หรือการฟอร์แมตใหม่ไม่จำเป็นต้องลบข้อมูล


sfillเครื่องมือที่สามารถนำมาใช้เพื่อการนี้ ดูsuperuser.com/questions/319262/…
Jim Garrison

1
@Jim Garrison : นั่นไม่ได้กำหนดระดับการสึกหรอ (ดูความคิดเห็นก่อนหน้าของฉัน) และการแมปข้อมูลบล็อกใหม่โดยตัวควบคุมหน่วยความจำแฟลช inbuilt ข้อมูลนั้นยังคงสามารถกู้คืนได้
david6

1
อ่านเพิ่มเติม: dslreports.com/forum/r27719820-Securedly-erase-memory-cards
david6

2

คุณสามารถทำลายไฟล์ก่อนที่จะลบออก:

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

shred params หมายถึง: verbose, บังคับให้ลบไฟล์ที่ไม่สามารถเขียนได้, ไม่เขียนไบต์แบบสุ่ม (เร่งความเร็ว), เขียนเลขศูนย์ (เร็วกว่ามาก), ตัดและลบไฟล์หลังจากเขียนเลขศูนย์

นี่จะเป็นการกำจัดข้อมูลในแบบที่แอปไม่สามารถกู้คืนphotorecได้

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


1
น่าเสียดายที่วิธีนี้ใช้ไม่ได้กับการ์ด SD หากคุณเขียนทับไฟล์บนพวกเขาแสดงว่าคุณกำลังเขียนไปยังส่วนอื่น ๆ ของ SD ดังนั้นเพื่อให้มีประสิทธิภาพคุณควรเขียนการ์ด SD ทั้งหมดตามคำตอบ
luca76
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.