Liệu rm-rf -r / xóa sẽ xóa mọi thứ khỏi Windows nếu chạy từ Cygwin?


5

Vì vậy, ... tôi đã làm một cái gì đó xấu. Trong Cygwin tôi đã viết một tập lệnh bash có hai thư mục và sao chép nội dung của một thư mục khác. Đầu tiên, nó được gọi là "rm -rf" để xóa nội dung của thư mục thứ hai. Tôi đã vô tình chạy tập lệnh mà không có đối số thứ hai được cung cấp, và có vẻ như Cygwin đã coi đó là "rm -rf /" đáng sợ.

Tôi không chắc thiệt hại là gì và tôi đang cố gắng đánh giá nó. Vì nó đang chạy trước khi tôi dừng nó, tôi thấy rất nhiều tin nhắn "bị từ chối".

Thiệt hại rõ ràng nhất là thư mục C: \ cygwin64 của tôi bị ghi đè. Tất cả những gì còn lại trong đó là một vài thư mục trống. Tôi tin rằng có thể đã có một số thư mục được xếp theo thứ tự abc trên cygwin64 đã bị xóa vì tôi không nhớ nó là thư mục cao nhất trong danh sách, mà hiện tại nó là.

Máy tính của tôi hoạt động bình thường 100% và tôi chưa trải nghiệm điều gì lạ. Tôi chỉ muốn biết liệu có ai có bất kỳ kinh nghiệm nào với "rm -rf /" trên Cygwin hay không và liệu điều này có thể chặn toàn bộ ổ đĩa của bạn như trên Linux không.

Một phần của câu đố là gốc của Cygwin nằm bên dưới ổ đĩa c, nhưng nó chứa một tham chiếu đến ổ đĩa c trong "cygdrive". Tôi tự hỏi liệu "rm -rf /" có thực sự đi hết được không bằng cách xóa tất cả nội dung của "/ cygdrive" hoặc nếu điều đó được bảo vệ bằng cách nào đó.

EDIT: Trên một ghi chú bên cạnh, có ai biết tại sao "rm -rf" sẽ giống như "rm -rf /". Tôi nhớ rõ ràng không cung cấp một đường dẫn và để trống tham số đó, vì vậy tôi không biết tại sao nó được gọi là rm trên thư mục gốc.


Vì vậy, bạn đang hỏi liệu rm -rfvượt qua điểm gắn kết?
Ben Voigt

2
Trên linux, câu trả lời sẽ là "Có, nó vượt qua các điểm gắn kết trừ khi bạn vượt qua --one-file-system" Cygwin xuất hiện để hỗ trợ cùng một tùy chọn.
Ben Voigt

Đã thử loại chương trình "NTFS Undelete"?
Ben Voigt

Tôi có một ổ SSD. Là NTFS Undelete vẫn còn giá trị một shot?
JDN

Điều đó có thể phụ thuộc vào việc bạn có hỗ trợ TRIM hay không :(
Ben Voigt

Câu trả lời:


9

EDIT : Lệnh đã hoàn thành và sau đó tôi khởi động lại VM, vì vậy tôi đã thêm nhiều ảnh hơn. Cũng thay đổi câu trả lời của tôi để bao gồm thực tế là máy không bị tắc nghẽn hoàn toàn .

EDIT 2 : Tôi vẫn còn VM. Hãy cho tôi biết trong các ý kiến ​​nếu bạn có bất cứ điều gì bạn muốn tôi thử nó vì tò mò.

EDIT 3 : Tôi quyết định thử nghiệm thêm một chút. Tôi đã khôi phục lại một ảnh chụp nhanh mà tôi đã chụp ngay trước khi chạy lệnh, tôi đặt một thư mục ở trên C:\cygwinvà một thư mục bên dưới. Sau đó tôi chạy lệnh và làm ctrl-crất nhanh. Thư mục cygwin vẫn tồn tại (bên trong nó hầu như trống rỗng) nhưng thư mục phía trên nó đã bị xóa. Thư mục người dùng tạo bên dưới nó vẫn còn nguyên vẹn. Sau đó, tôi khôi phục lại trạng thái và chạy lại lệnh, lần này lâu hơn một chút ctrl-c. Bây giờ nó đã xóa cả thư mục trên cygwin, cygwin và thư mục bên dưới.

Khi tôi chạy nó trên máy tính của tôi trong cuộc sống thực, C:\cygwin64thư mục vẫn còn nguyên vẹn, ngụ ý rằng mọi thứ bên dưới nó theo thứ tự abc đều an toàn. Điều này mang lại cho tôi sự an tâm khi biết chắc chắn rằng các thư mục duy nhất bị thổi ra là những thư mục ở trên C:\cygwin64, thường chỉ là các thư mục tạm thời hoặc một số thư mục không cần thiết khác.

TLDR: Đừng chạy rm -rf /*hoặc rm -rf /EVER.

TLDR2: Tôi đã tạo Windows 10 VM, cài đặt Cygwin và chạy rm -rf /*. VM đã khá rối. Để trả lời câu hỏi của riêng tôi: Có, nó sẽ xóa mọi thứ mà nó có quyền truy cập trên ổ cứng của bạn. Nếu tôi đã hủy lệnh nhanh như tôi đã làm khi điều này xảy ra trên máy thật của tôi thì nó sẽ xóa tất cả các tệp cá nhân của tôi. Hệ điều hành chung vẫn sẽ còn nguyên vẹn.

Vì vậy, tôi quyết định tạo một máy ảo Windows 10 và thử nó từ đầu. Đây là những gì đã xảy ra. Cygwin không cho phép bạn làm rm -rf /vì lý do an toàn (có tùy chọn ghi đè) ... nhưng rm -rf /*rõ ràng là hoàn toàn ổn mà không có cảnh báo.

Tôi nhận ra rằng trong kịch bản gốc của mình, tôi đã xóa tất cả các tệp trong một thư mục được cung cấp, vì vậy tôi đã sử dụng rm -rf $1/*, vì vậy nếu $1trống ... lệnh hủy ổ đĩa cứng của bạn sẽ được thực thi và Cygwin thậm chí không cảnh báo bạn!

Sắp sửa nhập ...

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

cygwin64 là người đầu tiên bị mắc kẹt

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

Liên kết Windows Explorer không còn nữa

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

Menu bắt đầu vẫn ở đây

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

Có hình ảnh máy tính để bàn!

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

Trung tâm thông báo vẫn ổn

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

Cortana cũng vậy!

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

Thùng rác tái chế bị hỏng, nhưng bây giờ tôi có thể truy cập Windows Explorer!

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

C: Nội dung ổ đĩa, không có nhiều thay đổi ở đây

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

UI chung vẫn hoạt động tốt

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

Menu bắt đầu không còn đáp ứng

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

Cuộc sống âm nhạc! Đó là thư viện duy nhất còn lại

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

Lệnh đã hoàn thành!

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

Không có nhiều mới ở C:

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

Các ứng dụng vẫn hoạt động nếu được khởi chạy từ tệp thực thi, dữ liệu ứng dụng vẫn còn nguyên

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

Tôi khởi động lại máy. Không có vấn đề khởi động và đăng nhập. Các chương trình vẫn hoạt động nếu bạn nhấp vào thực thi trực tiếp của họ. Vẫn có truy cập internet. Thật khó để đánh giá thiệt hại vĩnh viễn. Bắt đầu vẫn không mở.

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


Các kết quả được báo cáo không gây ngạc nhiên trong ít nhất. Cygwin có thể đã bị xóa đầu tiên do thứ tự bảng chữ cái. Những thứ đang được sử dụng tích cực ít có khả năng bị xóa một cách dễ dàng, vì các biện pháp bảo vệ các tệp đang được sử dụng tích cực. Tuy nhiên, rất nhiều phần mềm có khả năng sử dụng dữ liệu tạm thời và do đó, các tệp lưu trữ dữ liệu đó sẽ dễ dàng bị xóa và sau đó phần mềm sẽ gặp sự cố. Bạn có thể thấy rằng một số chương trình chạy ổn, nhưng không thể thực hiện một số việc nhất định (như lưu tệp hoặc khởi động lại). Khởi động lại có khả năng sẽ phơi bày nhiều thảm họa.
TUYỆT ĐỐI NGÀY 5/10/2015

Khi khởi động lại, bạn có kết thúc với màn hình "PC / Thiết bị của bạn cần được sửa chữa" không?
bwDraco

Không, khởi động lại đã tốt! Cập nhật với nhiều hình ảnh mô tả khởi động lại.
JDN

Tôi đoán nó sẽ chỉ bị ghi đè lên công cụ người dùng - nếu bạn tạo một người dùng mới, nó có thể ổn.
Journeyman Geek

@JTHERmanGeek đó là những gì nó có vẻ như. Hệ điều hành lõi nói chung là ổn định. Không chắc chắn về ý nghĩa của hệ điều hành mà bạn không thể mở menu bắt đầu mặc dù ...
JDN
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.