Khi dữ liệu bị xóa khỏi Thùng rác của bạn, điều gì xảy ra với nó?


48

Sửa lỗi cho tôi nếu tôi sai ở đây, nhưng khi bạn "xóa" thứ gì đó khỏi PC, tất cả máy tính của bạn sẽ ghi vào một số nhị phân bằng 0 thay thế 1. (Hoặc một cái gì đó cho hiệu ứng đó) Vì vậy, khi bạn gửi một cái gì đó vào thùng rác, nó sẽ ghi lên một phần của tệp và khi bạn xóa khỏi thùng rác, nó sẽ ghi nhiều hơn?


11
Bảo mật, các tập tin bị xóa thông thường có thể phục hồi một phần hoặc toàn bộ tùy thuộc vào mức độ ghi đè. Nếu bạn cần xóa tập tin dữ liệu sao cho không thể khôi phục được, bạn sẽ cần sử dụng các công cụ của bên thứ ba để "xóa an toàn" tệp và / hoặc "xóa an toàn" không gian trống của đĩa. Điều này liên quan đến việc ghi số không hoặc dữ liệu ngẫu nhiên một lần hoặc nhiều lần trên không gian và nó tốn thời gian (đó là lý do tại sao xóa thông thường không làm điều đó).
ADTC

@JaDogg Ý bạn là gì?
BPP

@JaDogg hầu hết 0/1 và đó là gì? A / F? Không chắc chắn, một chút gỉ. Nhưng tất cả đều liên quan đến mạng. Phần lớn của nó dù sao đi nữa. Tôi mới ở đây vì vậy tôi không thể nhận xét về những người khác đăng câu hỏi về nó vì tôi chưa thấy ai khác, nhưng tôi không nghi ngờ gì.
Shea A.

Bạn sai rồi. Khi bạn "xóa" một cái gì đó, Windows chỉ di chuyển nó vào Thùng rác, về cơ bản, chỉ là một thư mục đặc biệt. Ngay cả khi bạn xóa thứ gì đó khỏi Thùng rác, nó thường không bị ghi đè ngay lập tức. (Nhưng các khối trở nên miễn phí khi được phân bổ cho các tệp khác và sau đó dữ liệu có thể được ghi đè.)
G-Man

@ADTC, đó chỉ là một bài viết bình thường phải không? Vậy tại sao bạn cần chương trình của bên thứ ba? Nếu tôi lưu lại tệp như 000000000000 hoặc là random_garbage_data_repeat_random_garbage_dat trước khi xóa, điều đó có ảnh hưởng tương tự không?
Pacerier

Câu trả lời:


87

Không hoạt động viết trên các tập tin.

Di chuyển tệp vào Thùng rác thực hiện công việc đó - di chuyển tệp và nó cũng giống như mọi thao tác "di chuyển" khác khi thư mục mới nằm trên cùng một đĩa: mục nhập tên tệp được chuyển từ thư mục gốc sang thư mục khác, nhưng Tập tài liệu Nội dung vẫn còn trên đĩa và không được di chuyển, sửa đổi hoặc thậm chí nhìn vào.

Xóa tệp khỏi Thùng rác (hoặc xóa trực tiếp tệp bằng cách sử dụng Ca + Xóa bỏ ) xóa mục nhập tên tệp khỏi thư mục của nó. Phần đĩa bị chiếm giữ trước đó bởi tệp vẫn không được sửa đổi hoặc ghi đè và vẫn chứa tất cả dữ liệu tệp, nhưng dữ liệu đó không còn được liên kết với tên tệp. Tuy nhiên, vị trí đó của đĩa được ghi là "miễn phí", do đó, việc ghi vào đĩa trong tương lai có thể sử dụng lại không gian đó và nếu bạn tiếp tục sử dụng đĩa, không gian đó gần như chắc chắn sẽ bị ghi đè cuối cùng .

Trong trường hợp bạn cần ngăn chặn việc khôi phục dữ liệu đã xóa, các công cụ đặc biệt tồn tại để ghi đè dữ liệu một cách an toàn. Điều đó không được thực hiện theo mặc định vì nó chậm và làm tăng sự hao mòn trên đĩa.


33
Để mở rộng trên bit "di chuyển tệp", Thùng rác chỉ là một thư mục thông thường trên ổ cứng mà Windows hiển thị cho bạn theo một cách đặc biệt.
Mark

9
@Mark không hoàn toàn, tôi tin rằng - có một thư mục 'thùng rác' trên mỗi ổ đĩa (phải không .$TRASHES? không thể nhớ) và Windows kết hợp tất cả chúng khi bạn mở Thùng rác. Vì vậy, ổ C: và ổ E: của bạn đều có một thư mục, vì Windows không muốn sao chép mọi thứ khi bạn xóa nó (đó là toàn bộ vấn đề!).
Riking

7
Windows Vista, 7 và 8 (và 8.1) sử dụng $RECYCLE.BIN. @Riking Bạn đang nghĩ về Nautilus cho Linux; nó sử dụng .Trashes.
Cole Johnson

3
Mặc dù phụ thuộc vào hệ thống tệp, tên tệp thường không bị xóa khỏi thư mục khi xóa. ví dụ. trong FAT / FAT32, ký tự đầu tiên của tên tệp trong dirent được thay thế bằng byte 0xE0 làm cho toàn bộ tệp bao gồm tất cả trừ ký tự đầu tiên của tên có thể phục hồi hoàn toàn nếu không có ghi nào sử dụng lại chuỗi cụm được phân bổ trước đó vào tập tin bị xóa.
Andy Brown

6
@Yaitzme di chuyển một tệp thường không di chuyển nội dung của tệp. Nếu nguồn và đích nằm trên cùng một phân vùng, chỉ tên của tệp được di chuyển (nghĩa là một con trỏ tới tệp được thêm vào thư mục mới và bị xóa khỏi thư mục cũ). Các dữ liệu có thể ở cùng một nơi. Chỉ khi bạn di chuyển một tập tin qua các phân vùng, bạn mới cần sao chép tất cả nội dung.
amon

36

Một tập tin gồm hai phần:

  1. Một mục nhập thư mục ghi lại tên tệp và cũng chứa một danh sách các khối trên đĩa chứa nội dung dữ liệu của tệp. Hệ điều hành sau đó "biết" rằng các khối này đang được sử dụng.
  2. Các khối thực tế chứa nội dung dữ liệu của tệp

Khi một tập tin bị xóa:

  1. Danh sách các khối trong mục nhập thư mục được trả về hệ điều hành được đánh dấu là miễn phí. Mục nhập thư mục bị xóa, vì vậy tệp "biến mất" khỏi hệ thống tệp.
  2. Các khối thực tế không được chạm vào, vì vậy nội dung dữ liệu của tệp vẫn chưa được xử lý cho đến khi một số tệp mới khác ghi đè lên chúng. Đây là lý do mà phần mềm khôi phục tệp thường có thể xây dựng lại các tệp đã bị xóa (nhưng chỉ khi nó được sử dụng ngay sau khi xóa).

10

Bạn cần làm rõ nếu bạn đang hỏi điều gì xảy ra trên ổ đĩa vật lý, hoặc ở cấp độ phần mềm.

Về mặt vật lý, nó phụ thuộc vào ổ đĩa:

  • Trên các ổ đĩa từ, ghi đè bit hoặc ghi chúng, là hoạt động tương tự, vì vậy các tệp thông thường không bị xóa vật lý (hệ điều hành chỉ thay đổi bảng nội dung của phân vùng và đánh dấu không gian là miễn phí).

  • Trên các ổ SSD, không thể ghi lên dữ liệu hiện có để các tệp thông thường bị xóa vật lý (Xem http://en.wikipedia.org/wiki/Trim_(computing) )

Trên phần mềm, phụ thuộc vào hệ thống tệp bạn đang sử dụng, hầu hết thời gian, chỉ có bảng nội dung của phân vùng được thay đổi.


4
"Di chuyển đến Thùng rác di chuyển tệp." Không hẳn vậy. Các tập tin không di chuyển; nó vẫn chiếm cùng các LBA trên đĩa như trước đây. Ngay cả hồ sơ hồ sơ là như nhau. Điều duy nhất "được di chuyển" là mục nhập thư mục, từ thư mục gốc của tệp đến thư mục cho "Thùng rác".
Jamie Hanrahan

Điều đó về SSD là điều tôi không mong đợi. Tôi nghĩ rằng tất cả các hoạt động ghi trong một ổ SSD gây ra sự hao mòn. Không cắt tỉa gây ra mặc? Bạn có thể muốn đề cập rằng đó không phải là HĐH tích cực ghi số không vào không gian mà chỉ gửi một lệnh cắt tới ổ SSD, từ đó xóa dữ liệu khỏi các khu vực lưu giữ tệp.
ADTC

Điều tôi muốn nói, nhưng không dành thời gian để giải thích là khi hỏi loại câu hỏi này, bạn thực sự cần thu hẹp nó xuống về phía phần mềm hoặc phần cứng. "Tệp", "thư mục", "phân vùng", "bảng nội dung", v.v ... tất cả đều là khái niệm phần mềm. Về phần cứng, nó giống như "đọc 80 byte tại địa chỉ 0x2384923", ghi 24 byte tại địa chỉ 0x123123 "hoặc" cắt 292 byte tại địa chỉ 0x82478923 "
Eloims

6
AFAIK, Lệnh Trim không xóa tệp vật lý (như ADTC đã đề cập, đây sẽ là một thao tác tốn kém. Nó chỉ cho phép phần sụn của ổ đĩa biết rằng nó không phải bảo quản dữ liệu nữa. xảy ra ở hệ thống tập tin, chỉ ở cấp độ phần sụn.
oefe

2
Khi số lượng trang trống đủ thấp, SSD sẽ tìm kiếm một khối không chứa gì ngoài các trang "lỗi thời". Nếu một khối như vậy được tìm thấy, nó sẽ bị xóa. Nếu không, nó sẽ tìm thấy khối chứa các trang lỗi thời nhất, sao chép một trang không lỗi thời sang một trang trống còn lại và đánh dấu trang là lỗi thời. Khi điều này được thực hiện cho tất cả các khối trên một trang, trang đó sẽ không còn chứa bất kỳ khối không lỗi thời nào và do đó có thể được thu hồi. Lưu ý rằng nếu một hệ thống tệp cho rằng một trang là vô dụng, nhưng ổ đĩa không biết điều đó, nó có thể lãng phí thời gian sao chép dữ liệu vô dụng.
supercat
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.