Cygwin'den çalıştırıldığında “rm -rf /” Windows'tan her şeyi silecek mi?


5

Yani ... Kötü bir şey yaptım. Cygwin'de iki dizinde yer alan ve birinin içeriğini diğerine kopyalayan bir bash betiği yazdım. İlk olarak, ikinci dizinin içeriğini silmek için "rm -rf" denir. Yanlışlıkla ikinci bir argüman vermeden senaryoyu koştum ve Cygwin'in "rm -rf /" gibi göründüğü gibi görünüyor.

Hasarın ne olduğundan emin değilim ve değerlendirmeye çalışıyorum. Durdurmadan önce çalışıyordu, birçok "izin reddedildi" mesajı gördüm.

En göze çarpan hasar C: \ cygwin64 klasörümün engellenmiş olmasıydı. İçinde kalan tek şey bir kaç boş klasördü. Alfabetik olarak cygwin64'ün üzerinde silinmiş bazı dizinler olabileceğine inanıyorum çünkü listedeki en yüksek dizin olduğunu hatırlamıyorum.

Bilgisayarım% 100 normal çalışıyor ve henüz garip bir şey yaşamamıştım. Sadece kimsenin Cygwin'de "rm -rf /" ile ilgili herhangi bir deneyimi olup olmadığını ve bunun tüm sürücünüzü Linux'ta olduğu gibi engelleyebileceğini bilmek istiyorum.

Bulmacanın bir kısmı, Cygwin'in kökünün c-sürücünün altında olması, ancak "cygdrive" daki c-sürücüye bir referans içermesidir. Acaba "rm -rf /" aslında "/ cygdrive" içeriğinin tamamını silerek mi yoksa bir şekilde korunuyor mu, tüm yol boyunca ilerler mi diye merak ediyorum.

EDIT: Bir yandan notta, "rm -rf" nin neden "rm -rf /" ile aynı olacağını bilen var mı? Bir yol sağlamadığını ve bu parametreyi boş bıraktığımı açıkça hatırlıyorum, bu yüzden neden kök dizininde rm dendiğini bilmiyorum.


Yani sorup sormuyorsun rm -rf montaj noktalarını geçiyor mu?
Ben Voigt

2
Linux'ta cevap, "Evet, siz geçmediğiniz sürece montaj noktalarını geçer." --one-file-system "Cygwin de aynı seçeneği destekliyor gibi görünüyor.
Ben Voigt

Bir "NTFS Undelete" program tipi denediniz mi?
Ben Voigt

Bir SSD’m var. NTFS Undelete hala bir çekim yapmaya değer mi?
JDN

Bu, TRIM desteğinin olup olmadığına bağlı olabilir :(
Ben Voigt

Yanıtlar:


9

DÜZENLE : Komut tamamlandı ve ardından VM'yi yeniden başlattım, bu yüzden daha fazla fotoğraf ekledim. Ayrıca makinenin olmadığı gerçeğini de içerecek şekilde cevabımı değiştirdim. bütünüyle clobbered.

EDIT 2 : Hala VM var. Merak etmeden denememi istediğin bir şey varsa yorumlarda bana bildirin.

EDIT 3 : Biraz daha denemeye karar verdim. Komutu çalıştırmadan hemen önce çektiğim bir anlık görüntüye geri yükledim C:\cygwin ve aşağıdaki bir klasör. Sonra emri yerine getirdim ve yaptım ctrl-c çok çabuk. Cygwin klasörü hala mevcuttu (içinde çoğunlukla boştu), fakat üzerindeki klasör silindi. Kullanıcı altındaki klasörü oluşturdu. Sonra devleti geri yükledim ve komutu tekrar çalıştırdım, bu sefer biraz daha önce ctrl-c. Şimdi hem cygwin'in üzerindeki klasörü, hem de cygwin'in altındaki klasörünü sildi.

Bunu bilgisayarıma koyduğumda gerçek hayatta C:\cygwin64 klasör sağlamdı, altındaki her şeyin alfabetik olarak güvenli olduğunu ima ediyordu. Bu, şimdi patlamış olan tek klasörlerin yukarıdakiler olduğunu kesin olarak bilen bir miktar huzur veriyor. C:\cygwin64, genellikle sadece geçici klasörler veya zaten bazı diğer gerekli olmayan klasörlerdir.

TLDR: Koşma rm -rf /* veya rm -rf / HİÇ.

TLDR2: Bir Windows 10 VM oluşturdum, Cygwin'i yükledim ve çalıştırdım rm -rf /*. VM oldukça berbatlaştı. Kendi soruma cevap vermek için: Evet, sabit sürücünüze erişme izni olan her şeyi siler. Eğer gerçek makinemde bu gerçekleştiğinde komutum kadar hızlı iptal etmeseydim, tüm kişisel dosyalarımı silerdi. Genel işletim sistemi yine de sağlam olurdu.

Böylece, bir Windows 10 VM oluşturmaya karar verdim ve bunu en baştan denemeye karar verdim. İşte olanlar. Cygwin yapmanıza izin vermiyor rm -rf / güvenlik nedeniyle (geçersiz kılma seçeneği var) ... ama rm -rf /* hiçbir uyarı olmadan görünüşte gayet iyi.

Orijinal betiğimde, sağlanan bir dizindeki tüm dosyaları sildiğimi fark ettim. rm -rf $1/*eğer öyleyse $1 boştur ... korkunç, sabit sürücü komutunuzu yok eder ve Cygwin sizi uyarmaz bile!

Girmek üzeresiniz ...

enter image description here

cygwin64 clobbered için ilk

enter image description here

Windows Gezgini bağlantısı gitti

enter image description here

Başlat Menüsü hala burada

enter image description here

Masaüstü görüntüsüne gidiyor!

enter image description here

Bildirim merkezi hala iyi

enter image description here

Cortana da!

enter image description here

Geri dönüşüm kutusu bozuldu, ancak şimdi Windows Gezgini'ne erişebilirim!

enter image description here

C: Sürücü İçeriği, burada pek bir şey değişmedi

enter image description here

Genel kullanıcı arayüzü hala iyi çalışıyor

enter image description here

Başlat Menüsü artık yanıt vermiyor

enter image description here

Müzik yaşıyor! Ayakta kalan tek kütüphane

enter image description here

Komut tamamlandı!

enter image description here

C’de pek yeni değil:

enter image description here

Uygulamalar, çalıştırılabilir dosyadan başlatılırsa çalışır, uygulama verileri hala bozulmaz

enter image description here

Makineyi yeniden başlattım. Yeniden başlatma ve giriş yapmada sorun yok. Doğrudan çalıştırılabilirlerine tıklarsanız, programlar hala çalışır. Yine de internet erişimi var. Kalıcı hasarı değerlendirmek zor. Başla hala açılmıyor.

enter image description here


Raporlanan sonuçlar en azından şaşırtıcı değil. Cygwin, alfabetik sıraya göre ilk önce silinmiş olabilir. Aktif olarak kullanılan dosyaların, aktif olarak kullanılan dosyaları koruyan korumalar nedeniyle kolayca silinmesi daha az olasıdır. Bununla birlikte, birçok yazılımın geçici olarak verileri kullanması olasıdır ve bu verileri depolayan dosyalar kolayca silinir ve ardından yazılım sorunla karşılaşır. Bazı programların iyi çalıştığını ancak bazı şeyleri yapamayacağını görebilirsiniz (bir dosyayı kaydetmek veya yeniden başlatmak gibi). Yeniden başlatma muhtemelen daha fazla felakete neden olacaktır.
TOOGAM

Yeniden başlatırken, bir "PC'nizin / Cihazınızın onarılması gerekiyor" ekranı ile mi açılıyorsunuz?
bwDraco

Hayır, yeniden başlatma iyi geçti! Yeniden başlatmayı açıklayan daha fazla resim ile güncellendi.
JDN

Tahminim sadece kullanıcılara zarar vermeyecek bir şey olurdu - eğer yeni bir kullanıcı oluşturduysanız, iyi olabilir.
Journeyman Geek

@JourneymanGeek böyle görünüyor. Çekirdek işletim sistemi genellikle kararlıdır. İşletim sistemi için başlat menüsünü açamamanızın ne anlama geldiğinden emin değilsiniz ...
JDN
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.