Cách nhanh nhất để xóa sạch một ổ SSD khỏi tất cả các phân vùng của nó để phân vùng lại trong Linux?


21

Tôi muốn xóa sạch một ổ SSD khỏi tất cả các phân vùng và dữ liệu của nó, vì vậy tôi có thể phân vùng lại nó (điều này không nhằm mục đích bảo mật).

Tôi đã xem xét sudo dd if=/dev/zero of=/dev/sdb bs=1Mnhưng nếu điều này chỉ lấp đầy mỗi phân vùng bằng số không, tôi không chắc đây là điều tôi muốn làm.

Tôi dự định chạy lệnh này khá thường xuyên và tôi không muốn làm cạn kiệt ghi của SSD. Bất cứ ai có thể cho tôi lời khuyên về việc giải quyết vấn đề này?


1
Nghiên cứu điều này: Xóa an toàn ATA . Tôi không có kinh nghiệm về quy trình, vì vậy đây không phải là một câu trả lời, chỉ là một gợi ý. Bất cứ ai cũng cảm thấy thoải mái để viết câu trả lời của riêng bạn về điều này nếu bạn biết đây là cách đúng đắn.
Kamil Maciorowski

18
Vì mục đích bảo mật, hay chỉ đơn giản là vì bạn cần phân vùng lại?
grawity

chủ yếu chỉ để phân chia lại
IgDV

14
Bơm 12 hành động. Và bạn biết ai đó sẽ sớm nói điều đó!
ssimm

1
@ssimm - Sở thích của tôi là thịt nướng than.
Daniel R Hicks

Câu trả lời:


41

Trên ổ SSD: Bạn có thể TRIM toàn bộ đĩa hoặc phân vùng bằng cách sử dụng blkdiscard. Nó không an toàn lắm, nhưng thực tế là ngay lập tức (đĩa chỉ đánh dấu tất cả các ô là không sử dụng).

Để bảo mật: Sử dụng mã hóa toàn bộ đĩa. Đừng bận tâm xóa toàn bộ đĩa nếu nó được mã hóa - bạn chỉ cần xóa vùng chứa các khóa của mình (ví dụ: 1 Mi2 MiB đầu tiên của mỗi phân vùng được mã hóa).

Đối với phân vùng lại: Một lần nữa, đừng bận tâm xóa tất cả dữ liệu. Bạn chỉ cần phá hủy các hệ thống tập tin bằng cách sử dụng wipefs, sau đó xóa 1 MiB đầu tiên của đĩa để xóa bộ tải khởi động còn sót lại. Sau khi bạn định dạng phân vùng bằng cách sử dụng mkfs, HĐH sẽ đơn giản cho rằng nó hoàn toàn trống.

(Trên thực tế, trên Linux, mkfs.ext4 sẽ tự động TRIM toàn bộ phân vùng trước khi định dạng nó.)


6
Để phân vùng lại, tại sao không xóa các phân vùng cũ và tạo các phân vùng mới?
el.pescado

5
Bởi vì nếu bạn tạo các phân vùng mới tại cùng một vị trí (vị trí bắt đầu), bạn sẽ chỉ tìm thấy cùng một dữ liệu cũ trong đó! (Tất nhiên đó là thường không phải là một vấn đề, vì format với mkfssẽ thùng rác nó anyway Nhưng tình huống kỳ quặc khác nhau. Làm xảy ra - wipefstồn tại bởi vì nó là cần thiết.)
grawity

4
@IgDV - man wipefsnói gì? (Gợi ý: xem ví dụ đầu tiên trong phần ví dụ của trang man)
Timo

2
"bạn chỉ cần xóa vùng chứa các phím của mình" - trên SSD, các phím cũng có khả năng được phục hồi. TPM hoặc khóa bảo vệ mật khẩu mạnh có thể là lựa chọn tốt hơn. blkdiscardcũng sẽ rất tuyệt vì nó sẽ tạo ra một câu đố từ phần còn lại của đĩa ngay cả khi kẻ tấn công biết khóa (giả sử ánh xạ cũ cũng không thể được phục hồi). "sau đó xóa 1 MiB đầu tiên của đĩa của bạn để xóa bộ tải khởi động còn sót lại" - phần bổ sung chỉ được sử dụng làm tràn 512B đầu tiên. Nếu bạn xóa 512B đầu tiên, bạn sẽ không bị tổn hại bởi phần còn lại của 1M.
Maciej Piechotka

1
@MaciejPiechotka: Thật không may, một số bộ tải khởi động (đặc biệt là grub) cũng sử dụng khoảng trắng sau MBR.
grawity

14

Như Kamil Maciorowski đề cập , cách tốt nhất, với việc ghi ít nhất, xóa toàn bộ đĩa, là sử dụng lệnh 'xóa an toàn' ATA. Điều này sẽ hướng dẫn phần cứng thực hiện xóa toàn bộ một lần, thay vì ghi đè lên các ô nhiều lần như với các công cụ như shred. Điều này chỉ có thể được thực hiện cho toàn bộ đĩa, nếu bạn cần xóa có chọn lọc các phân vùng, hãy xem câu trả lời của grawity ( blkdiscard)

Việc thực hiện chính xác của lệnh phụ thuộc vào phần cứng.

  • Hầu hết các ổ SSD sẽ sử dụng tín hiệu điện số lượng lớn để quét toàn bộ chip theo cách hoàn toàn hoặc không có gì. Điều này không phát sinh (viết bình thường), nhưng chỉ trong phạm vi tối thiểu có thể (~ chu kỳ viết đơn).

  • SSD tự mã hóa thường sẽ chỉ xóa sạch khóa mã hóa bên trong chip điều khiển (thực sự tức thời). Các ổ đĩa tự mã hóa luôn mã hóa, ngay cả ngoài hộp (với khóa mặc định của nhà máy). Vì vậy, việc xóa khóa chỉ để lại sự lộn xộn không thể giải mã trên các chip flash, ngay cả khi không có khóa người dùng nào được đặt.

  • Đĩa cứng Rust-Rust sẽ thực hiện ghi không dựa trên phần cứng của tất cả các lĩnh vực, tương đương (và tốn thời gian) như đang làm dd if=/dev/zero.

Quá trình này được ghi lại khá tốt ở đây: https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase (Cá nhân tôi đã sử dụng quy trình này nhiều lần trên ổ SSD của chính mình khi cài đặt lại hệ điều hành)

Chỉnh sửa: nếu bạn quan tâm đến ý nghĩa bảo mật: kiểm tra câu hỏi Bảo mật này.


Xóa an toàn có được hỗ trợ bởi hầu hết các đĩa ATA không? Tôi đã có ấn tượng rằng sự hỗ trợ của nó là không phổ biến.
Ruslan

1
Tôi chưa tìm thấy đĩa (hiện đại, SATA) nào không hỗ trợ, nhưng tôi thừa nhận trải nghiệm của tôi chỉ giới hạn ở các ổ cứng mà tôi sở hữu. Dường như cũng có một sự khác biệt giữa "xóa an toàn" và "xóa an toàn nâng cao", với cái sau được hỗ trợ ít hơn.
Jules Kerssemakers

3
@Ruslan Tôi chưa bao giờ thấy (hoặc nghe nói) một đĩa đặc tả SATA-2 không hỗ trợ nó. Chỉ cần bất kỳ đĩa SATA được thực hiện trong 10 năm qua hoặc lâu hơn nên có nó.
Tonny

Điều này cũng có nghĩa là trên các ổ SSD tự mã hóa, lệnh TRIM là không có tác dụng? (Nếu không, nó không phải lúc nào cũng được mã hóa, phải không?)
Mehrdad

1
@Mehrdad: Có, sử dụng TRIM trên SSD được mã hóa rò rỉ thông tin về khối nào là miễn phí. Cho dù đó là chấp nhận được tùy thuộc vào nhu cầu bảo mật của bạn. Xem ví dụ: Askubfox.com/questions/399211/ khăn để thảo luận.
sleske

4

Hãy nhớ rằng bạn đã yêu cầu một giải pháp về cách nhanh chóng xóa đĩa Thay thế / dev / sdx bằng đĩa của bạn, rất có thể là / dev / sda

Điều này sẽ xóa bảng phân vùng.

dd if=/dev/zero of=/dev/sdx bs=1024 count=50

Điều này sẽ xóa toàn bộ đĩa, nó sẽ mất một lúc.

cat /dev/zero > /dev/sdx

4
Không sử dụng cat. Sử dụng ddđể cải thiện hiệu suất.
Micheal Johnson

6
@Micheal Bạn nói vậy, nhưng theo mặc định ddsử dụng bộ đệm 512 byte, điều này sẽ làm hỏng hiệu năng ... Coreutils ( cpvà có lẽ cũng vậy cat) có kích thước bộ đệm hợp lý hơn. Không có gì về ddđiều đó làm cho nó bằng cách nào đó vốn đã nhanh hơn, dù sao.
grawity

3
@grawity Bạn có thể thay đổi kích thước bộ đệm với dd. Lần trước tôi đã cố gắng sử dụng catđể ghi hình ảnh vào đĩa, nó chậm hơn đáng kể so với việc sử dụng ddvới kích thước bộ đệm phù hợp.
Micheal Johnson
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.