Linux, macOS किंवा Windows वर अपघाती rm -rf किंवा Shift-Delete: तात्काळ केवळ-वाचनीय रीमाउंट¶
आपत्कालीन क्रमांक देशानुसार भिन्न आहेत. हे पृष्ठ 911 वापरते, युनायटेड स्टेट्स आणि कॅनडा साठी क्रमांक. इतर अनेक देश 112, 999 किंवा अन्य नंबर वापरतात. तुमच्या देशासाठी नंबर शोधा.
अपघाती पाहणे rm -rf, find -delete, git clean -fdx, किंवा विंडोज Shift+Delete क्रिटिकल प्रोडक्शन डेटाबेस, सोर्स कोड किंवा वैयक्तिक फाइल्स रीसायकल बिन किंवा ट्रॅश फोल्डरमध्ये न पाठवता पुसून टाका, त्यामुळे तात्काळ दहशत निर्माण होते. तथापि, नाही rm -rf किंवा Shift+Delete कमांड पूर्ण होण्याच्या क्षणी तुमच्या अंतर्निहित स्टोरेज क्षेत्रांना प्रत्यक्षात शून्य करते: त्याऐवजी, ऑपरेटिंग सिस्टम फक्त डिरेक्टरी एंट्री अनलिंक करते, त्याचे मेटाडेटा जर्नल अपडेट करते आणि त्या आयनोड पॉइंटर्स किंवा मास्टर फाइल टेबल (MFT) पुनर्वापरासाठी उपलब्ध बिटमॅप रेकॉर्ड आणि ब्लॉक करा. तुमच्या हटवलेल्या फाइल्स कायमस्वरूपी नष्ट करणारी गोष्ट म्हणजे प्रत्येक सेकंदाला फाइल सिस्टम रीड-राईटमध्ये बसलेली राहते (rw) मोड हटविल्यानंतर, पार्श्वभूमी सिस्टम लॉगर म्हणून (systemd-journald, rsyslog), ब्राउझर कॅशे, स्वॅप क्रियाकलाप आणि SSD TRIM / discard कमांड नवीन मुक्त केलेले ब्लॉक्स वेगाने अधिलिखित करतात. जर तुमच्या सिस्टमला फिजिकल क्लिकिंग, खराब सेक्टर किंवा डेड कंट्रोलरचा त्रास होत असेल, तर थांबा आणि आमच्या मार्गदर्शकावर स्विच करा हार्ड ड्राइव्ह अपयश आणि डेटा पुनर्प्राप्ती, किंवा तुमची सॉलिड-स्टेट ड्राइव्ह कंट्रोलर पोशाखमुळे लॉक झाली असल्यास, पहा SSD आणि NVMe अचानक वाचनीय मोड आणि TRIM अक्षम करत आहे बचाव; विस्तृत स्वरूपन चुका किंवा कॅमेरा कार्ड समस्यांसाठी, सल्ला घ्या अपघाती फाइल हटवणे, स्वरूपित ड्राइव्ह आणि फोटो पुनर्प्राप्ती. या घटनेत गुन्हेगारी तोडफोड, खंडणी किंवा जीवन-सुरक्षा प्रणाली आउटेजचा समावेश असल्यास, आपल्या स्थानिक आपत्कालीन क्रमांकावर कॉल करा (911 युनायटेड स्टेट्स आणि कॅनडा मध्ये, 112 युरोपियन युनियन ओलांडून, 999 युनायटेड किंगडममध्ये) किंवा आमची आंतरराष्ट्रीय निर्देशिका तपासा आपत्कालीन क्रमांक.
आता हे करा¶
- ** दाबा
Ctrl+Cहटवण्याचा आदेश अद्याप चालू असल्यास ताबडतोब, आणि कोणत्याही उघड्या टर्मिनल विंडो, मजकूर संपादक, मीडिया प्लेयर्स किंवा डेटाबेस डिमन बंद करू नका**: जर कोणताही चालू असलेला प्रोग्राम (nginx,postgres,mysqld,vim,code,python,tail, किंवा व्हिडिओ प्लेयर) मेमरीमध्ये अद्याप हटवलेली फाइल उघडली आहे, Linux किंवा macOS कर्नल फाइलचे डेटा ब्लॉक्स डिस्कवर अखंड ठेवते जोपर्यंत ती प्रक्रिया फाइल डिस्क्रिप्टर बंद करत नाही. अनुप्रयोग बंद केल्याने किंवा आत्ताच मशीन रीबूट केल्याने संदर्भ संख्या त्वरित रिलीझ होईल (i_nlink == 0) आणि वास्तविक ब्लॉक डीलोकेशन ट्रिगर करा. - **लिनक्सवर रीमाउंट करण्यापूर्वी किंवा पॉवर ऑफ करण्यापूर्वी, तपासा
/proc/<pid>/fd/सध्या चालू असलेल्या प्रक्रियेद्वारे उघडलेल्या कोणत्याही हटविलेल्या फाइल्स सोडवण्यासाठी **: चालवाsudo lsof +L1(ज्यामध्ये 1 पेक्षा कमी दुव्याची संख्या असलेल्या सर्व खुल्या फायलींची यादी केली जाते, याचा अर्थ त्या द्वारे अनलिंक केल्या गेल्या होत्याrmअजूनही उघडलेले असताना) आणि RAM/कर्नल कॅशेमधून त्यांची कच्ची सामग्री त्वरित वेगळ्या ड्राइव्हवर कॉपी करा किंवा/dev/shm(tmpfsरॅम डिस्क) वापरत आहेcp /proc/<pid>/fd/<fd_number> /dev/shm/rescued_file. - प्रभावित विभाजन रिमाउंट फक्त वाचनीय (
ro) ताबडतोब त्यामुळे OS कर्नल जर्नल लॉगचा दुसरा एकल बाइट किंवा तात्पुरते फाइल्स न वाटलेल्या ब्लॉक्सवर लिहू शकत नाही: - ** लिनक्स वर (
ext4,XFS,Btrfs)**: धावाsudo mount -o remount,ro /path/to/mountpoint(उदाहरणार्थ,sudo mount -o remount,ro /homeकिंवाsudo mount -o remount,ro /). - जर
mount -o remount,roसह अयशस्वीmount point is busyतुमच्या मुळावर (/) विभाजन: चालू करून मॅजिक SysRq द्वारे कर्नलचे तात्काळ इमर्जन्सी रीड-ओन्ली रिमाउंट ट्रिगर कराecho u | sudo tee /proc/sysrq-trigger(जे सर्व आरोहित फाइलप्रणालींना प्रक्रिया नष्ट न करता किंवा खुल्या लॉकची प्रतीक्षा न करता ताबडतोब रीड-ओन्ली रिमाउंट करण्यास भाग पाडते). - ** macOS वर (
APFS/HFS+)**: धावाsudo diskutil mount readOnly /Volumes/TargetVolumeबूट नसलेल्या व्हॉल्यूमसाठी, किंवा फाइल्स तुमच्या प्राथमिक वर असल्यासDataखंड (/System/Volumes/Data), पार्श्वभूमी स्पॉटलाइट थांबवण्यासाठी टच आयडी / पॉवर बटण 10 सेकंद धरून लगेच पॉवर बंद करा (mds_stores) आणिfseventsdलिहितो - विंडोजवर (
NTFS/ReFS): हटवलेल्या फायली दुय्यम ड्राइव्हवर असल्यास (D:,E:), प्रशासक कमांड प्रॉम्प्ट उघडा आणि व्हॉल्यूम केवळ वाचण्यासाठी लॉक कराdiskpart(select volume D,attributes volume set readonly). जर फाईल्स चालू होत्याC:\, विंडोज सामान्यपणे बंद करू नका (सामान्य शटडाउन शेकडो मेगाबाइट्स रेजिस्ट्री पोळ्या, इव्हेंट लॉग आणि पेजफाइल अद्यतने मुक्तपणे लिहितातMFTक्लस्टर्स); त्याऐवजी, डेस्कटॉप पॉवर कॉर्ड खेचा किंवा लॅपटॉप पॉवर बटण 10 सेकंद दाबून ठेवा आणि पॉवर झटपट कमी करा. - ** SSD प्रतिबंधित करा
TRIM(discard/UNMAP) वाटप न केलेल्या फ्लॅश पृष्ठांना शून्य करण्यापासून**: जर ड्राइव्ह NVMe किंवा SATA SSD असेल आणि सतत माउंट केले असेल तरdiscard(किंवा Windows/macOS शेड्यूल केलेले असल्यासTRIMफाईल हटविल्यानंतर ताबडतोब), पॉवर कटिंग किंवा रीमाउंटिंगroताबडतोब ओएसला अतिरिक्त रांगेत उभे करण्यापासून थांबवतेNVME_DSM_ATTR_DEALLOCATEआदेश, आणि SSD ला USB-to-NVMe ब्रिज अडॅप्टरमध्ये ठेवणे जे पास होत नाहीTRIMरिकव्हरी दरम्यान कंट्रोलरच्या पार्श्वभूमीतील कचरा संकलनास पुनर्प्राप्त करण्यायोग्य ब्लॉक पुसण्यापासून प्रतिबंधित करते. - बाह्य लाइव्ह यूएसबीवरून बूट करा (
Ubuntu Live,SystemRescue, किंवाWinPE) आणि वापरून बाह्य स्टोरेज ड्राइव्हवर बिट-फॉर-बिट विभाजन क्लोन कराddrescueकोणतेही अनडिलीट टूल चालवण्यापूर्वी: कधीही चालवू नकाext4magic,extundelete,testdisk,photorec, किंवाntfsundeleteपीडित ड्राइव्ह विरुद्ध थेट लेखन मोडमध्ये; नेहमी ब्लॉक उपकरणाची प्रतिमा करा (sudo ddrescue -d -r0 /dev/nvme0n1p2 /mnt/external/disk_image.raw /mnt/external/rescue.map) आणि इमेजमधून तुमच्या फाईल्स कोरवा किंवा पुनर्प्राप्त केलेल्या फाइल्स दुसऱ्या भौतिक डिस्कवर काटेकोरपणे लिहा. - लपलेले स्थानिक फाइल सिस्टम स्नॅपशॉट तपासा (
Btrfs,ZFS,LVM, macOS APFS टाइम मशीन स्थानिक स्नॅपशॉट्स, आणि Windows व्हॉल्यूम शॅडो कॉपी) कच्च्या सेक्टर्समध्ये काही तास घालवण्याआधी: बऱ्याच सिस्टम शांतपणे अणु पॉइंट-इन-टाइम ब्लॉक संदर्भ राखून ठेवतात (tmutil listlocalsnapshots /macOS वर,vssadmin list shadowsविंडोज वर,zfs list -t snapshot, किंवाbtrfs subvolume list -s /) जे त्वरित 100 टक्के पुनर्प्राप्ती करण्यास अनुमती देतेrm -rfकिंवाShift+Deleteकच्च्या न वाटप केलेल्या क्लस्टरला स्पर्श न करता निर्देशिका.
Danger
रिकव्हरी सॉफ्टवेअर कधीही इन्स्टॉल करू नका (apt install extundelete, brew install testdisk, किंवा क्रोम/एज द्वारे Recuva/R-Studio डाउनलोड करणे) त्याच विभाजनावर जेथे फाइल्स नुकत्याच हटवल्या गेल्या होत्या: 50 मेगाबाइट (0.05 गीगाबाइट) इंस्टॉलर डाउनलोड करणे आणि हजारो लायब्ररी फाइल्स अनपॅक करणे C:\ किंवा / फाइलसिस्टम ऍलोकेटरला नेमके न वाटलेले ब्लॉक्स हस्तगत करण्यासाठी सक्ती करते आणि MFT / inode रेकॉर्ड जे नुकतेच तुमच्या अपघाती हटवल्यामुळे मुक्त झाले. प्रभावित विभाजनावरील प्रत्येक पॅकेज इन्स्टॉलेशन, ब्राउझर डाउनलोड किंवा सामान्य OS रीबूट केल्याने पुनर्प्राप्त करण्यायोग्य डेटाचे गीगाबाइट कायमचे अधिलिखित होते.
निर्णय वृक्ष: अपघातानंतर त्वरित ट्रायज rm -rf किंवा Shift+Delete¶
अनलिंक केलेल्या डेटा ब्लॉक्सची सर्वाधिक संभाव्य टक्केवारी जतन करण्यासाठी हटवल्याचा शोध लागल्यानंतर पहिल्या 60 सेकंदात या निर्णयाचे पालन करा:
flowchart TD
Start["अपघाती rm -rf, find -delete किंवा Shift+Delete निष्पादित"] --> OpenCheck{"कोणतीही रनिंग प्रोसेस (डीबी, एडिटर, सर्व्हर, टेल) अजूनही हटवलेली फाइल उघडू शकते का?"}
OpenCheck -->|"होय (Linux / macOS अजूनही चालू आहे)"| ProcRescue["पायरी 1: sudo lsof +L1 ताबडतोब चालवा आणि /proc/PID/fd/N वरून RAM डिस्क (/dev/shm) किंवा बाह्य USB वर ओपन फाइल डिस्क्रिप्टर्स कॉपी करा"]
OpenCheck -->|"नाही (किंवा सर्व फायली बंद होत्या)"| SnapCheck{"व्हॉल्यूम ZFS, Btrfs, APFS स्थानिक स्नॅपशॉट्स किंवा Windows शॅडो कॉपी वापरतो का?"}
ProcRescue --> FreezeOS["पायरी 2: सर्व डिस्क राइट ताबडतोब फ्रीझ करा"]
SnapCheck -->|"होय: गाय स्नॅपशॉट अस्तित्वात आहे"| FreezeOS
SnapCheck -->|"नाही: स्नॅपशॉटशिवाय मानक ext4, XFS किंवा NTFS"| FreezeOS
FreezeOS --> OSBranch{"कोणती ऑपरेटिंग सिस्टम आणि विभाजन हिट झाले?"}
OSBranch -->|"लिनक्स नॉन-रूट (/होम, /डेटा)"| RemountRO["चालवा: sudo mount -o remount, ro /mountpoint"]
OSBranch -->|"लिनक्स रूट (/) विभाजन"| SysRqRO["धाव: echo u | sudo tee /proc/sysrq-trigger (कर्नल इमर्जन्सी रीड-ओन्ली रिमाउंट)"]
OSBranch -->|"विंडोज सी: ड्राइव्ह किंवा मॅकओएस बूट एपीएफएस"| HardPower["साधारणपणे बंद करू नका: पॉवर बटण 10 सेकंद धरून ठेवा किंवा शटडाउन लॉग/पेजफाइल लिहिणे टाळण्यासाठी पॉवर कॉर्ड ओढा"]
OSBranch -->|"दुय्यम बाह्य किंवा डेटा ड्राइव्ह"| UnmountSec["तात्काळ अनमाउंट / व्हॉल्यूम केवळ वाचनीय सेट करा आणि ड्राइव्ह डिस्कनेक्ट करा"]
RemountRO --> LiveBoot["स्टेप 3: एक्सटर्नल ड्राइव्हवर ddrescue सह एक्सटर्नल सिस्टमरेस्क्यु लाइव्ह यूएसबी आणि क्लोन विभाजन बूट करा"]
SysRqRO --> LiveBoot
HardPower --> LiveBoot
UnmountSec --> LiveBoot
LiveBoot --> FSRecovery{"फाइलसिस्टमद्वारे पुनर्प्राप्ती पद्धत निवडा"}
FSRecovery -->|"ext4 / ext3"| ExtRec["जर्नल इनोड रिकव्हरी: ext4magic / extundelete / debugfs"]
FSRecovery -->|"एक्सएफएस / एपीएफएस / अनजर्नल्ड"| CarveRec["स्वाक्षरी आणि शीर्षलेख / तळटीप कोरीव काम: photorec / scalpel / foremost / xfs_irecover"]
FSRecovery -->|"NTFS (विंडोज)"| NtfsRec["MFT रेकॉर्ड पार्सिंग: ntfsundelete / TestDisk / UFS एक्सप्लोरर / DMDE"]
प्रत्येक सेकंदाला रीड-राईट का माउंट केले जाते (rw) हटवलेल्या फाइल्स नष्ट करते¶
तात्काळ रीड-ओन्ली रिमाउंटिंग किंवा हार्ड पॉवर कटऑफ हा तुमच्या डेटासाठी जीवन-मृत्यूचा निर्णय का आहे हे समजून घेण्यासाठी, तुम्ही चालवता तेव्हा प्रत्येक आधुनिक फाइलसिस्टम प्रत्यक्षात काय बदलते ते तपासा. unlink() (rm) किंवा DeleteFileW() (Shift+Delete):
1. आत काय होते ext4, XFS, APFS, आणि NTFS हटविण्याच्या दरम्यान¶
जेव्हा एखादी फाइल हटवली जाते, तेव्हा कोणतीही ग्राहक ऑपरेटिंग सिस्टम 10 गीगाबाइट (10.7 बिलियन बाइट) डेटाबेस किंवा व्हिडिओ फाइलवर डिस्क I/O बँडविड्थ शून्य लिहिण्यासाठी खर्च करत नाही. त्याऐवजी, फाइलसिस्टम ड्राइव्हर फक्त लहान मेटाडेटा संरचना बदलतो:
| फाइलसिस्टम | काय rm -rf किंवा Shift+Delete तत्काळ सुधारित करतो |
आधुनिक आवृत्त्यांवर पुनर्प्राप्ती का कठीण आहे | सर्वोत्तम पुनर्प्राप्ती वेक्टर |
|---|---|---|---|
ext4 (लिनक्स) |
1. निर्देशिका एंट्रीमधून फाइलनाव काढून टाकते. 2. आयनोड सेट करते i_dtime (हटवणे टाइमस्टॅम्प) आणि सेट i_links_count = 0.3. महत्त्वपूर्ण ext4 quirk: शून्य बाहेर i_block / extent ट्री पॉइंटर्स ऑन-डिस्क इनोड स्ट्रक्चरच्या आत, आणि ब्लॉक बिटमॅपमध्ये डेटा ब्लॉक्स फ्री मार्क करते. |
विपरीत ext3 (ज्याने फक्त अप्रत्यक्ष ब्लॉक पॉइंटर्स शून्य केले), ext4 डिलीट केल्यावर मुख्य इनोड टेबलमधील विस्ताराचे झाड पुसते. तथापि, द jbd2 जर्नल रिंग बफर गुंडाळत नाही तोपर्यंत फाइलसिस्टम जर्नलमध्ये त्या अचूक आयनोडची एक जुनी प्रत त्याच्या अखंड विस्तार पॉइंटर्ससह असते. |
१. /proc/<pid>/fd/ उघडल्यास.2. ext4magic / extundelete (चे विश्लेषण करते jbd2 जर्नल स्वतः अधिलिखित होण्यापूर्वी इनोडची पूर्व-हटवण्याची प्रत शोधण्यासाठी जर्नल).3. रॉ ब्लॉक कोरीव काम ( photorec). |
XFS (RHEL / CentOS / रॉकी / Unraid) |
बी+ट्री डिरेक्टरी एंट्री काढून टाकते, आयनोडला चिन्हांकित करते di_mode = 0 (विनामूल्य), आणि डेटा विस्तार थेट वाटप गटाकडे परत करतो (AG) मोकळी जागा B+ झाडे (cntbt / bnobt). |
XFS फ्रीड इनोड्समध्ये आक्रमकपणे शून्य मर्यादेच्या नोंदी (di_u) आणि समांतर वाटप गटांमध्ये वेगाने आयनोड्सचे पुनर्वापर करते. |
१. /proc/<pid>/fd/ उघडल्यास.2. मेटाडेटा लॉग तपासणी ( xfs_logprint) किंवा xfs_irecover / रॉ फाइल-स्वाक्षरी कोरीव काम (photorec, scalpel). |
NTFS (Windows 10 / 11 / सर्व्हर) |
फ्लिप द In-Use ध्वज (0x01 -> 0x00) 1,024-बाइट (1 किलोबाइट) मध्ये $MFT (मास्टर फाइल टेबल) हेडर रेकॉर्ड करते आणि क्लस्टर फ्री मध्ये चालते असे चिन्हांकित करते $Bitmap फाइल फाइलचे नाव, $DATA रनलिस्ट पॉइंटर्स आणि लहान रहिवासी फाइल्स (700 बाइट्सच्या खाली) पूर्णपणे अखंड राहतात $MFT रेकॉर्ड. |
जर ड्राइव्ह विंडोजमध्ये आरोहित राहिल्यास, पार्श्वभूमी सेवा (SearchIndexer.exe, svchost.exe, विंडोज अपडेट, $UsnJrnl, आणि इव्हेंट दर्शक) नवीन वाटप करा $MFT रेकॉर्ड जे मुक्त केलेले अधिलिखित करतात $MFT स्लॉट आणि SSD TRIM वाटप न केलेले क्लस्टर लगेच शून्य करते. |
1. छाया प्रती (vssadmin).2. ntfsundelete / TestDisk / DMDE / UFS एक्सप्लोरर (अखंड वाचतो $DATA वाटप न केलेल्या मधून रनलिस्ट $MFT स्लॉट). |
APFS (macOS) |
कॉपी-ऑन-राइट (CoW) बी-ट्री फाईल एक्सटेंट रेकॉर्ड काढून टाकते आणि कीबॅगला संदर्भ नसलेले चिन्हांकित करते. |
प्रति-फाइल हार्डवेअर एनक्रिप्शन (T2 / M1-M4) अधिक SSD TRIM स्थानिक स्नॅपशॉट अस्तित्वात असल्याशिवाय वाटप न केलेले विस्तार नष्ट करते. |
१. lsof +L1 उघडल्यास.2. स्थानिक APFS स्नॅपशॉट्स ( tmutil listlocalsnapshots /).3. चेकपॉईंट सुपरब्लॉक चालणे. |
Btrfs आणि ZFS (Linux / BSD / NAS) |
कॉपी-ऑन-राइट (CoW) ट्रॅन्झॅक्शन ग्रुपचा स्नॅपशॉट संदर्भ नसल्यासच ट्री फ्री ब्लॉक्स अपडेट करते (txg). |
स्नॅपशॉट्सशिवाय, ZFS असले तरी गायीचे कोरीव काम जटिल आहे txg रोलबॅक (zpool import -F -T) किंवा btrfs restore झाडे वाचवू शकतात. |
1. विद्यमान स्नॅपशॉट्स (.zfs/snapshot/ किंवा .snapshots/).2. व्यवहार गट ( txg) रोलबॅक. |
2. SSD TRIM (Discard / Deallocate) टाईम बॉम्ब¶
फिरणाऱ्या हार्ड ड्राइव्हवर (HDD), अधिलिखित होईपर्यंत विभाग वाचनीय राहतात. SSD वर (SATA किंवा NVMe), जेव्हा एखादी फाइल सिस्टम इश्यू करते तेव्हा a TRIM किंवा Deallocate आज्ञा:
- बहुतेक NVMe नियंत्रक डिटरमिनिस्टिक रीड शून्य नंतर TRIM (DRAT / DZAT), परत येत आहे 0x00000000 (सर्व शून्य) फ्लॅश ट्रान्सलेशन लेयरमधून (FTL) प्राप्त झाल्यावर लगेच TRIM, भौतिक NAND कचरा संकलन सुरू होण्यापूर्वीच.
- लिनक्स सिस्टम अनेकदा का टिकून राहतात TRIM: बहुतेक लिनक्स वितरण (Ubuntu, Debian, Fedora, RHEL) सतत माउंट-टाइम सक्षम करू नका discard डीफॉल्टनुसार; ते साप्ताहिक टाइमर चालवतात (fstrim.timer). तुम्ही फक्त-वाचनीय रिमाउंट केल्यास (ro) आधी fstrim.timer रन, SSD ने अद्याप ते ब्लॉक अनमॅप केलेले नाहीत.
फेज 1: हटवलेल्या फायलींची सुटका करणे ज्या अद्याप चालू असलेल्या प्रक्रियेद्वारे उघडलेल्या आहेत (/proc/<pid>/fd/)¶
तुम्ही Linux किंवा macOS वर एकच विंडो रीबूट, अनमाउंट किंवा बंद करण्यापूर्वी, ओपन फाइल डिस्क्रिप्टर तपासा. POSIX प्रणालींमध्ये, rm कॉल unlink(). कर्नल प्रत्येक इनोडसाठी दोन काउंटर ट्रॅक करतो:
1. i_nlink: ऑन-डिस्क निर्देशिकेतील नोंदी इनोडकडे निर्देश करतात.
2. i_count: स्मृतीमध्ये इनोड उघडलेल्या सक्रिय प्रक्रिया.
सुवर्ण POSIX नियम: कर्नल दोन्ही होईपर्यंत कधीही इनोड मुक्त करत नाही किंवा डिस्क ब्लॉक्स डिलॉकेट करत नाही. i_nlink == 0 आणि i_count == 0 हटवलेला डेटाबेस, लॉग, व्हिडिओ किंवा कोड फाइल अद्याप कोणत्याही प्रक्रियेत उघडली असल्यास, त्या फाइलपैकी 100 टक्के डिस्कवर अबाधित राहते.
चरण-दर-चरण /proc/<pid>/fd/ लिनक्स वर उतारा¶
- कोणत्याही प्रक्रियेद्वारे उघडलेली प्रत्येक हटवलेली फाइल शोधा:
(किंवा फाइलनावानुसार फिल्टर करा:
sudo lsof | grep -i "(deleted)" | grep -i "filename") - ** वाचा
lsofआउटपुट स्तंभ**:लक्षात ठेवाCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME postgres 4182 postgres 14u REG 259,2 524288000 0 1839204 /var/lib/postgresql/16/main/base/16384/16399 (deleted)PID(4182) आणि मागचे अक्षर काढून टाका (u,r,w) ** पासूनFD**(14u->14). - ** कच्ची फाइल बाहेर कॉपी करा
/proc/<pid>/fd/<fd_num>RAM मध्ये (/dev/shm) किंवा बाह्य ड्राइव्ह**: वाचवलेली फाइल प्रभावित विभाजनावर परत कधीही लिहू नका. ला लिहा/dev/shm(RAM डिस्क) किंवा बाह्य USB ड्राइव्ह: - डेटाबेस किंवा कंटेनरमधून एकाधिक उघडलेल्या हटविलेल्या फाइल्सची सुटका करा (
PID=4182) एका लूपमध्ये: - रेस्क्यू बफर आणि IDE स्थानिक इतिहास (
vim,VS Code,Cursor,JetBrains): - ओपन एडिटर टॅब बंद करू नका: ओपन बफर थेट वर सेव्ह करा
/dev/shmकिंवा थंब ड्राइव्ह. - VS कोड / कर्सर / VSCodium स्थानिक इतिहास: प्रत्येक जतन केलेल्या फाइलच्या स्वयंचलित टाइमस्टॅम्प केलेल्या प्रती आत ठेवतात
-/.config/Code/User/History/(लिनक्स),-/Library/Application Support/Code/User/History/(macOS), किंवा%APPDATA%\Code\User\History\(विंडोज), पूर्णपणे तुमच्या प्रोजेक्ट फोल्डरच्या बाहेर. नंतरहीrm -rf -/my-projectकिंवाgit clean -fdx, तुमच्या कोड फाइल्स आत अखंड राहतातUser/History/सहentries.jsonमॅनिफेस्ट मॅपिंग प्रत्येक फाइल त्याच्या मूळ मार्गावर परत. - जेटब्रेन्स आयडीई (
IntelliJ,PyCharm,WebStorm): स्वयंचलित इतिहास आत साठवतो-/.cache/JetBrains/<IDE>/LocalHistory/. - गिट (
git reset --hardकिंवाgit branch -Dसह.git/अखंड): धावाgit reflogकिंवाgit fsck --lost-foundआत लटकणारे blobs ताबडतोब पुनर्प्राप्त करण्यासाठी.git/objects/.
फेज 2: फाईल सिस्टीम फ्रीझ करणे केवळ वाचनीय (ro) वाटप न केलेले ब्लॉक ओव्हरराईट न करता¶
एकदा तुम्ही यामधून कोणतेही ओपन फाइल डिस्क्रिप्टर काढले /proc (किंवा सत्यापित केलेले कोणतेही अस्तित्वात नाही), तुमची तात्काळ प्राथमिकता ऑपरेटिंग सिस्टमला विभाजनासाठी एक अतिरिक्त क्षेत्र लिहिण्यापासून थांबवणे आहे.
1. लिनक्स: डेटा विभाजन वि. रूट (/) विभाजन केवळ वाचनीय¶
- ** परिस्थिती A: हटवलेल्या फाईल्स वेगळ्या विभाजनावर होत्या (
/home,/var,/data,/mnt/storage)**: - ताबडतोब क्लीन-रीड-ओन्ली रिमाउंट करण्याचा प्रयत्न करा:
- जर
mountम्हणतोmount point is busy, लेखन प्रक्रिया ओळखा आणि थांबवा (sudo fuser -vm /homeत्यानंतरsudo fuser -km -TERM /home), नंतर लगेच पुन्हा चालवाsudo mount -o remount,ro /home. - ** परिस्थिती बी: हटविलेल्या फायली रूटवर होत्या (
/) विभाजन (किंवा तुम्ही व्यस्त प्रक्रिया नष्ट करू शकत नाही)**: धावू नकाsudo rebootकिंवाsudo shutdown -h now, कारण एक सामान्यsystemdशटडाउन मेगाबाइट्स लिहितोjournaldशटडाउन लॉग, यादृच्छिक सीड्स आणि सर्व्हिस स्टेट फाइल्स थेट वर/. त्याऐवजी, Linux Kernel Magic SysRq इमर्जन्सी रीड-ओन्ली रिमाउंट ट्रिगर करा: s(Emergency Sync): मेमरी फाइल सिस्टम मेटाडेटा प्रलंबित फ्लश करते जेणेकरून सुपरब्लॉक सुसंगत असेल.- **
u(Emergency Remount Read-Only);ro) कर्नलच्या आत, प्रक्रियांमध्ये लेखनासाठी फाइल्स उघडल्या असल्या तरीही. याची पडताळणी करा/सह आता केवळ वाचनीय आहेgrep " / " /proc/mounts.
2. गोठवलेल्या रिमोट क्लाउड सर्व्हरची इमेजिंग (AWS EC2, GCP, DigitalOcean, Hetzner) SSH वर¶
जर तुम्ही चुकून धावलात rm -rf रिमोट क्लाउड सर्व्हरवर जिथे तुम्ही USB ड्राइव्ह प्लग इन करू शकत नाही:
1. मॅजिक SysRq रीड-ओन्ली रिमाउंट चालवा (echo s > /proc/sysrq-trigger && echo u > /proc/sysrq-trigger). तुमचे विद्यमान SSH सत्र जिवंत राहते कारण SSH RAM मध्ये चालते आणि /dev/pts (devpts) एक व्हर्च्युअल रॅम स्यूडो-टर्मिनल फाइल सिस्टम आहे.
2. क्लाउड प्लॅटफॉर्मवर (AWS EC2, GCP, Azure, DigitalOcean), ताबडतोब क्लाउड कन्सोलमधून अणू EBS/ब्लॉक व्हॉल्यूम स्नॅपशॉट घ्या, किंवा उदाहरण थांबवा, रूट व्हॉल्यूम विलग करा आणि ते केवळ-वाचनीय संलग्न करा (/dev/xvdf) स्वच्छ बचाव VM करण्यासाठी.
3. बेअर-मेटल रिमोट सर्व्हरवर, गोठलेल्या केवळ-वाचनीय विभाजनाची संकुचित कच्ची प्रतिमा थेट SSH वर तुमच्या स्थानिक वर्कस्टेशनवर प्रवाहित करा:
ssh root@remote-server-ip "dd if=/dev/nvme0n1p2 bs=4M status=progress | zstd -1" > ~/rescued_partition.img.zst
फेज 3: लपलेली कॉपी-ऑन-राइट तपासत आहे (CoW) कोरीव काम करण्यापूर्वी स्नॅपशॉट आणि छाया प्रती¶
अनअलोकेटेड सेक्टर्सचे टेराबाइट स्कॅन करण्यापूर्वी, तुमच्या ऑपरेटिंग सिस्टमने आपोआप लपवलेला पॉइंट-इन-टाइम स्नॅपशॉट तयार केला आहे का ते तपासा:
1. macOS: लोकल टाइम मशीन APFS स्नॅपशॉट्स (tmutil)¶
तुमची बाह्य टाइम मशीन ड्राइव्ह काही आठवड्यांपासून अनप्लग केलेली असली तरीही, macOS तुमच्या अंतर्गत SSD वर तासाने स्थानिक APFS कॉपी-ऑन-राइट स्नॅपशॉट रेकॉर्ड करते.com.apple.TimeMachine.YYYY-MM-DD-HHMMSS.local) जेव्हाही टाइम मशीन कॉन्फिगर केले जाते किंवा macOS अपडेट करण्यापूर्वी:
1. टर्मिनलमध्ये सर्व स्थानिक स्नॅपशॉट्सची यादी करा:
rm -rf, ते केवळ-वाचनीय माउंट करा आणि तुमच्या फायली कॉपी करा:
mkdir -p /tmp/apfs_rescue
sudo mount_apfs -o ro -s com.apple.TimeMachine.2026-10-31-140000.local /System/Volumes/Data /tmp/apfs_rescue
ls -la /tmp/apfs_rescue/Users/yourname/
2. विंडोज 10 / 11 / सर्व्हर: व्हॉल्यूम शॅडो कॉपी (VSS)¶
- प्रशासक कमांड प्रॉम्प्ट उघडा आणि चालवा:
- छाया प्रत असल्यास (
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1) आपल्या अगोदर आहेShift+Delete, फोल्डरशी लिंक करा आणि तुमच्या फाइल्स USB ड्राइव्हवर कॉपी करा:
3. लिनक्स: Btrfs, ZFS, आणि LVM स्नॅपशॉट्स¶
- ** चालू
Btrfs(Fedora, openSUSE, Synology, Timeshift/Snapper systems)**: चालवाsudo btrfs subvolume list -s /आणि तपासणी करा/.snapshots/किंवा/run/timeshift/backup/timeshift-btrfs/snapshots/. - ** चालू
ZFS(Ubuntu ZFS, Proxmox, TrueNAS)**: चालवाzfs list -t snapshotआणि थेट फायली कॉपी करा/path/to/dataset/.zfs/snapshot/.
फेज 4: स्टेप बाय स्टेप इनोड, जर्नल आणि फाइलसिस्टमद्वारे MFT पुनर्प्राप्ती¶
फाइल डिस्क्रिप्टर उघडे नसल्यास (/proc/<pid>/fd/) आणि कोणताही स्नॅपशॉट अस्तित्वात नाही, SystemRescue किंवा Ubuntu Live USB वरून बूट करा, बाह्य USB हार्ड ड्राइव्ह संलग्न करा (/mnt/external), आणि अनमाउंट पीडित विभाजनाचा थोडा-थोडा क्लोन तयार करा (/dev/nvme0n1p2) प्रथम:
/mnt/external/victim_partition.img त्यामुळे मूळ ड्राइव्ह कधीही बदलत नाही.
1. पासून पुनर्प्राप्ती ext4 / ext3 लिनक्स वर (ext4magic आणि extundelete)¶
जेव्हा rm -rf वर फाइल्स हटवते ext4, कर्नल मुख्य इनोड टेबलच्या आत असलेल्या झाडाच्या पॉइंटरच्या मर्यादेला शून्य करते. तथापि, ext4च्या jbd2 जर्नल (सामान्यत: 128 मेगाबाइट ते 1,024 मेगाबाइट आकारात) अलीकडेच सुधारित आयनोड ब्लॉक्सच्या ऐतिहासिक प्रती संग्रहित करते. जोपर्यंत आपण पुन्हा माउंट केले आहे ro हेवी डिस्क क्रियाकलाप जर्नल रिंग बफर गुंडाळण्यापूर्वी, ext4magic जर्नलमधून प्री-डिलीशन इनोड काढतो आणि मूळ फाइलनाव आणि डिरेक्टरी ट्रीसह तुमच्या फाइल्सची पुनर्रचना करतो.
- धावा
ext4magicगेल्या 2 तासात हटवलेल्या सर्व फाईल्स पुनर्प्राप्त करण्यासाठी (-a) सापेक्ष मार्गाच्या आत (-f): (माउंटपॉइंटचा अग्रगण्य स्लॅश वगळा-f: साठी/home/kmyers/projectरूट वर/विभाजन, पास-f home/kmyers/project; जर/homeत्याचे स्वतःचे विभाजन आहे, पास-f kmyers/project.) - पर्यायी: चालवा
extundeleteप्रतिमेच्या विरुद्ध:
2. Windows मधून पुनर्प्राप्त करणे NTFS नंतर Shift+Delete (TestDisk आणि ntfsundelete)¶
विपरीत ext4, विंडोज NTFS ब्लॉक एक्सटेंट पॉइंटर्स शून्य करत नाही (Data Runs) मास्टर फाइल टेबलच्या आत ($MFT) फाइल हटवल्यावर रेकॉर्ड करा. जेव्हा तुम्ही दाबाल Shift+Delete NTFS वर, 1,024-बाइट $MFT एंट्री फक्त त्याच्या शीर्षलेख ध्वजावरून फ्लिप करते 0x01 (इन-यूज) ते 0x00 (हटवले). त्याची $FILE_NAME विशेषता आणि $DATA क्लस्टर रनलिस्ट 100 टक्के अबाधित राहते जोपर्यंत दुसरी फाइल पुन्हा वापरत नाही $MFT स्लॉट:
- ** वापरणे
TestDiskझटपट NTFS साठी$MFTपूर्ण फोल्डर पथांसह हटवणे रद्द करणे**: ** निवडा[ Proceed ]->[ EFI GPT ]->[ Advanced ]-> NTFS विभाजन हायलाइट करा ->[ Undelete ]** तुमच्या फोल्डरवर नेव्हिगेट करा, ** दाबाa** हटवलेल्या फाइल्स निवडण्यासाठी आणि ** दाबाC** (राजधानीC) त्यांना कॉपी करण्यासाठी/mnt/external/recovered_ntfs/. - ** वापरणे
ntfsundelete(ntfs-3g)**:
3. पासून पुनर्प्राप्त XFS, APFS, किंवा रॉ ब्लॉक कार्व्हिंगद्वारे अधिलिखित जर्नल्स (PhotoRec आणि grep -a -b)¶
जेव्हा आयनोड पॉइंटर निघून जातात (जसे की XFS, APFS, किंवा एक ext4 विभाजन ज्याचे जर्नल गुंडाळले आहे, फाइल हेडर/फूटर्स किंवा अनन्य मजकूर स्ट्रिंगसाठी अनलोकेटेड 4,096-बाइट (4 किलोबाइट) ब्लॉक स्कॅन करून डेटा पुनर्प्राप्त करा:
| तुम्ही काय हटवले | सर्वोत्कृष्ट कच्चे कोरीव साधन आणि अचूक आदेश | ते इनोड्सशिवाय का कार्य करते |
|---|---|---|
स्रोत कोड, कॉन्फिग्स, मार्कडाउन, SQL डंप, SSH की, JSON/YAML (Plain Text Files) |
grep -a -b -C 150 थेट कच्च्या विभाजन प्रतिमेच्या विरुद्ध:LC_ALL=C grep -a -b -C 150 "unique_function_name" /mnt/external/victim_partition.img > /mnt/external/carved_code.txt |
साध्या मजकूर फायलींमध्ये बायनरी मॅजिक हेडर नसतात PhotoRec अनेकदा त्यांना वगळते. grep -a -b तुम्हाला टाइप करताना आठवत असलेल्या कोणत्याही अनन्य व्हेरिएबल नावासाठी किंवा स्ट्रिंगसाठी डिस्क इमेजचा प्रत्येक रॉ बाइट शोधते आणि रॉ डिस्क ब्लॉक्सच्या आसपासच्या 300 ओळी आउटपुट करते. |
कागदपत्रे, पीडीएफ, कार्यालय (DOCX/XLSX), ZIP/TAR संग्रहण, प्रतिमा, व्हिडिओ, SQLite DBs |
PhotoRec(testdisk पॅकेज):sudo photorec /mnt/external/victim_partition.img -> [ File Opt ] -> [ Free ] (अनलोकेटेड स्पेस) -> आउटपुट वर लिहा /mnt/external/photorec_out/. |
480 बायनरी फाइल शीर्षलेख आणि तळटीप ओळखते (%PDF-, PK\x03\x04 ZIP/DOCX/XLSX साठी, SQLite format 3, JPEG/PNG/MP4) आणि सर्व डिरेक्टरी ट्री आणि इनोड्स शून्य केले असताना देखील संलग्न ब्लॉक्स पुन्हा एकत्र करतात. |
| एक्सएफएस स्पेसिफिक इनोड आणि बी-ट्री कोरीविंग | xfs_irecover किंवा UFS Explorer Professional Recovery |
एक्सएफएस वाटप गट स्कॅन करतो (AGs). |
कसे वापरावे grep -a -b + dd हटवलेला स्त्रोत कोड वाचवण्यासाठी किंवा .env फाइल्स 2 मिनिटांत¶
तुम्ही स्त्रोत कोड हटवला असल्यास, .env रहस्ये, किंवा 32 किलोबाइट आकाराच्या नोट्स:
1. हटवलेल्या फाईलमध्ये अद्वितीय स्ट्रिंग शोधा आणि त्याचा अचूक बाइट ऑफसेट प्रिंट करा (-b):
grep आउटपुट 48291045312:def calculate_invoice_tax.
2. त्या बाइट ऑफसेटने विभाजित करा 4096 (48291045312 / 4096 = 11789805), 10 ब्लॉक्स मागे जा (11789795), आणि त्या ऑफसेटभोवती 30 ब्लॉक्स (120 किलोबाइट्स) रॉ डिस्क टाका:
dd if=/mnt/external/victim_partition.img bs=4096 skip=11789795 count=30 status=none > /mnt/external/rescued_code_block.txt
/mnt/external/rescued_code_block.txt तुमची अखंड प्लेन-टेक्स्ट फाइल काढण्यासाठी कोणत्याही टेक्स्ट एडिटरमध्ये.
टप्पा 5: भविष्यातील आपत्ती रोखणे rm -rf आणि Shift+Delete अपघात¶
- ** परस्परसंवादी बदला
rmसहtrash-cliआणिrm -I --preserve-root=all**: स्थापित कराtrash-cli(trash-put,trash-list,trash-restore) आणि उपनामrmकरण्यासाठीrm -I --preserve-root=allमध्ये/etc/bash.bashrcआणि-/.zshrcत्यामुळे इनोड अनलिंक करण्यापूर्वी एकदा अपघाती रिकर्सिव्ह डिलीशन प्रॉम्प्ट होते. - लिनक्स अपरिवर्तनीय विशेषता सह गंभीर उत्पादन निर्देशिका संरक्षित करा (
chattr +i): अगदीroot(sudo rm -rf) चिन्हांकित केलेली निर्देशिका किंवा फाइल हटवू किंवा सुधारित करू शकत नाहीsudo chattr +i /path/to/critical_configजोपर्यंत प्रशासक चालत नाहीsudo chattr -i. - स्वयंचलित स्थानिक कॉपी-ऑन-राइट सक्षम करा (
CoW) स्नॅपशॉट्स (Btrfs/ZFS/APFS/Windows Shadow Copies): वापराSnapperकिंवाTimeshiftवरBtrfs,sanoidवरZFS, किंवा Windows वर दररोज दोनदा व्हॉल्यूम शॅडो कॉपी (SystemPropertiesProtection.exe). - अपरिवर्तनीय ऑफसाइट स्टोरेजसह स्वयंचलित 3-2-1 बॅकअप ठेवा: आमच्या मार्गदर्शकाचे अनुसरण करा संगणक बॅकअप, 3-2-1 धोरण आणि आपत्ती पुनर्प्राप्ती वापरून
resticकिंवाborgbackupकेवळ जोडलेल्या रिमोट रिपॉजिटरीजसह.
प्रादेशिक आणीबाणी क्रमांक आणि एजन्सी प्रोटोकॉल¶
वैयक्तिक संगणकावरील आकस्मिक फाइल हटवणे ही पोलिसी प्रकरणाऐवजी तांत्रिक आणीबाणी असली तरी, अपघाती किंवा दुर्भावनापूर्ण हटवणे हे आरोग्य सेवा प्रणाली, नगरपालिका पायाभूत सुविधा, न्यायालयाच्या संरक्षण आदेशाखाली कायदेशीर पुरावे किंवा नियमन केलेला वैयक्तिक डेटा प्रभावित करणारी घटना घडणे अनिवार्य घटना अहवाल ट्रिगर करू शकते:
- युनायटेड स्टेट्स आणि कॅनडा:
- आपत्कालीन जीवन-सुरक्षा / गंभीर पायाभूत सुविधा बंद: डायल करा
911जर एखाद्या सिस्टम वाइपमुळे रुग्णालयातील रुग्ण सेवा, आपत्कालीन प्रेषण किंवा औद्योगिक भौतिक सुरक्षा नियंत्रणांवर परिणाम होत असेल. - सायबरसुरक्षा आणि पायाभूत सुविधा सुरक्षा एजन्सी (
CISA) (यूएस): गंभीर पायाभूत सुविधांच्या डेटाचा नाश किंवा संशयित आतल्या तोडफोडीचा ** येथे अहवाल द्या1-844-Say-CISA(1-844-729-2472)** किंवाcisa.gov/report. - कॅनेडियन सेंटर फॉर सायबर सिक्युरिटी: संपर्क
1-833-CYBER-88(1-833-292-3788) गंभीर पायाभूत सुविधांच्या घटनांसाठी. - युनायटेड किंगडम:
- आपत्कालीन सेवा: डायल करा
999(किंवा101कॉम्प्युटर गैरवापर कायदा 1990 अंतर्गत अनधिकृत संगणकाचा गैरवापर असल्यास हटवण्यामध्ये गैर-आणीबाणीच्या पोलीस अहवालासाठी). - ** माहिती आयुक्त कार्यालय (
ICO)**: जर अपघाती हटवल्याने बॅकअप पुनर्प्राप्तीशिवाय वैयक्तिक डेटा कायमचा नष्ट होत असेल (यूके GDPR अंतर्गत उपलब्धता उल्लंघन तयार करणे), ICO (0303 123 1113) ७२ तासांच्या आत आवश्यक आहे. - युरोपियन युनियन:
- आपत्कालीन सेवा: डायल करा
112सर्व EU सदस्य राज्यांमध्ये. - GDPR कलम ३३ उपलब्धता उल्लंघन अहवाल: युरोपियन डेटा प्रोटेक्शन बोर्ड अंतर्गत (
EDPB) मार्गदर्शक तत्त्वे, पुनर्प्राप्त करण्यायोग्य बॅकअपशिवाय वैयक्तिक डेटाचा अपघाती कायमचा नाश हे वैयक्तिक डेटा उल्लंघन (उपलब्धतेचे नुकसान) म्हणून वर्गीकृत केले आहे आणि आपल्या राष्ट्रीय डेटा संरक्षण प्राधिकरणास अहवाल देण्याची आवश्यकता असू शकते (DPA72 तासांच्या आत. - ऑस्ट्रेलिया आणि न्यूझीलंड:
- आपत्कालीन सेवा: डायल करा
000ऑस्ट्रेलियामध्ये किंवा111न्यूझीलंड मध्ये. - ऑस्ट्रेलियन सायबर सुरक्षा केंद्र (
ACSC): कॉल करा1300 CYBER1(1300 292 371) एंटरप्राइझ किंवा पायाभूत सुविधा सहाय्यासाठी. - भारत आणि आशिया-पॅसिफिक:
- भारत (
CERT-In/ राष्ट्रीय सायबर क्राईम हेल्पलाइन): डायल करा112आपत्कालीन प्रतिसादासाठी किंवा1930सायबर क्राईम घटनांसाठी; सीईआरटी-इन आदेशांद्वारे कव्हर केलेल्या एंटरप्राइझ घटनांची नोंद 6 तासांच्या आत करणे आवश्यक आहेincident@cert-in.org.in.
वारंवार विचारले जाणारे प्रश्न¶
का नाही केले extundelete किंवा ext4magic वर माझी फाइलनावे शोधा ext4 जरी मी संगणक वापरणे खूप लवकर बंद केले?¶
जेव्हा एखादी फाइल हटविली जाते तेव्हा ext4, लिनक्स कर्नल ऑन-डिस्क इनोड टेबलमधील ट्री पॉईंटर्स ताबडतोब शून्य करते त्यामुळे फाइलसिस्टमला कळते की इनोडला कोणतेही विस्तारित विस्तार नाही. सारखी साधने ext4magic आणि बाहेर काढणे च्या आत त्या इनोडची जुनी, पूर्व-हटवलेली प्रत शोधण्यावर अवलंबून रहा ext4 जर्नल (jbd2). जर फाईल जर्नलमधून अलीकडेच तिचा इनोड न जाता तयार केली आणि हटविली गेली असेल, किंवा जर्नल रीड-ओन्ली रिमाउंट करण्यापूर्वी हेवी बॅकग्राउंड राइटने 128 MB ते 1 GB जर्नल रिंग बफर गुंडाळले असल्यास, जर्नल कॉपी निघून जाईल. अशा परिस्थितीत, तुम्ही रॉ ब्लॉक स्वाक्षरी कोरीव कामावर स्विच केले पाहिजे (PhotoRec) किंवा साधा-मजकूर बाइट शोधणे (grep -a -b), जे आयनोड मेटाडेटाची गरज नसताना वाटप न केलेले डेटा ब्लॉक्स थेट स्कॅन करते.
SSD करतो TRIM नेहमी नष्ट करा rm -rf किंवा Shift+Delete लगेच फाइल्स?¶
नेहमी नाही, विशेषतः लिनक्स आणि बाह्य ड्राइव्हवर. Windows 10/11 आणि अंतर्गत NVMe SSD सह macOS वर, ऑपरेटिंग सिस्टम सहसा इनलाइन पाठवते ट्रिम / डिलॉकेट कायमस्वरूपी हटवल्यानंतर काही सेकंदात SSD कंट्रोलरला आदेश द्या, ज्यामुळे SSD चा फ्लॅश ट्रान्सलेशन लेयर (FTL) शून्य परत करणे (DZAT) त्या ब्लॉक्ससाठी. तथापि, बहुतेक लिनक्स वितरण (उबंटू, डेबियन, फेडोरा, आरएचईएल) करतात नाही सतत माउंट-टाइम सक्षम करा टाकून द्या डीफॉल्टनुसार; त्याऐवजी, ते धावतात fstrim.timer आठवड्यातून एकदा. शिवाय, अनेक यूएसबी-टू-एसएटीए आणि यूएसबी-टू-एनव्हीएमई बाह्य संलग्नक पास होत नाहीत. ट्रिम यूएसबी मास स्टोरेजवर कमांड (बीओटी), आणि सॉफ्टवेअर RAID/LVM/LUKS लेयर्स अनेकदा ब्लॉक करतात टाकून द्या स्पष्टपणे कॉन्फिगर केल्याशिवाय डीफॉल्टनुसार पासथ्रू (`issue_discards = 1` किंवा `allow-discards`).
माझे लिनक्स विभाजन एनक्रिप्ट केलेले असल्यास काय करावे LUKS (dm-crypt) किंवा माझा विंडोज ड्राइव्ह वापरतो BitLocker: मी अजूनही हटवलेल्या फाइल्स कोरू शकतो का?¶
होय, जर तुमच्याकडे एन्क्रिप्शन सांकेतिक वाक्यांश किंवा पुनर्प्राप्ती की असेल आणि कंटेनर केवळ-वाचनीय मोडमध्ये अनलॉक करा. कधीही धावू नका फोटोरेक, ext4magic, किंवा टेस्टडिस्क कच्च्या एनक्रिप्टेड भौतिक विभाजनाविरुद्ध (/dev/nvme0n1p2), कारण एनक्रिप्टेड सायफरटेक्स्ट यादृच्छिक आवाजासारखे दिसते. त्याऐवजी, थेट USB वरून बूट करा, कंटेनर अनलॉक करा केवळ-वाचनीय मोड (LUKS साठी: sudo cryptsetup open --readonly /dev/nvme0n1p2 crypt_rescue; लिनक्सवर बिटलॉकरसाठी: dislocker -r किंवा WinPE मध्ये केवळ-वाचनीय अनलॉक करा), आणि डिक्रिप्टेड व्हर्च्युअल मॅपर डिव्हाइस इमेज किंवा स्कॅन करा (/dev/mapper/crypt_rescue).
विंडोजवर पॉवर कॉर्ड का खेचत आहे C:\ अपघातानंतर अधिक सुरक्षित Shift+Delete "बंद करा" वर क्लिक करण्यापेक्षा?¶
तुम्ही क्लिक करता तेव्हा सुरू करा > बंद करा विंडोजवर, ऑपरेटिंग सिस्टम पॉवर ऑफ होण्यापूर्वी शेकडो मेगाबाइट डिस्क रायट करते: ते रेजिस्ट्री पोळ्या फ्लश करते, शटडाउन इव्हेंट लिहिते .evtx लॉग, USN जर्नल अद्यतनित करते ($UsnJrnl), साफ करते किंवा आकार बदलते pagefile.sys, आणि फास्ट स्टार्टअप सिस्टमवर मल्टी-गीगाबाइट हायबरनेशन फाइल लिहिते (hiberfil.sys) थेट न वाटप केलेल्या NTFS क्लस्टरमध्ये. ते शटडाउन लिहिते वारंवार अचूक न वाटप केलेले ओव्हरराईट करतात $MFT आपल्याद्वारे मुक्त केलेले रेकॉर्ड आणि डेटा क्लस्टर Shift+Delete. त्वरित पॉवर-ऑफ सक्तीने (पॉवर बटण 10 सेकंद धरून ठेवणे किंवा प्लग खेचणे) सर्व लेखन त्वरित थांबवते; फक्त-वाचनीय Linux किंवा WinPE रेस्क्यू USB वरून बूट केल्यावर NTFS पूर्णपणे वाचनीय राहील.
मी हटवलेले कसे पुनर्प्राप्त करू शकतो .env फाइल, SSH की, किंवा स्त्रोत कोड फाइल PhotoRec दुर्लक्ष केले?¶
PhotoRec बायनरी मॅजिक बाइट हेडर शोधते (जसे % पीडीएफ, PNG, किंवा पीके ZIP/Office फायलींसाठी), त्यामुळे ते सहसा लहान साध्या-मजकूर फायलींना वगळते किंवा एकत्र गुंफते. .env कॉन्फिगरेशन, Python/JavaScript सोर्स कोड, मार्कडाउन नोट्स आणि SSH की. डिस्क प्रतिमा किंवा केवळ-वाचनीय विभाजनातून कोणतीही साधी-मजकूर फाइल पुनर्प्राप्त करण्यासाठी, चालवा LC_ALL=C grep -a -b -C 100 "UNIQUE_TEXT_FROM_FILE" /dev/nvme0n1p2 > /dev/shm/found.txt. तुम्हाला कोणतेही व्हेरिएबल नाव माहित असल्यास (जसे STRIPE_SECRET_KEY= किंवा उघडा प्रायव्हेट की), grep -a -b अनेक गीगाबाइट्स प्रति सेकंद रॉ सेक्टर्स स्कॅन करते आणि अचूक आसपासचे डिस्क ब्लॉक्स प्रिंट करते.
मी चुकून पळून गेलो तर rm -rf / किंवा हटवले /usr किंवा /lib Linux वर आणि आता नाही ls, cp, किंवा sudo कार्य करते, मी माझ्या ओपन टर्मिनलमध्ये कमांड्स कसे चालवू?¶
पुसले तर /बिन किंवा /lib विद्यमान असताना बाश किंवा zsh टर्मिनल अजूनही RAM मध्ये उघडे आहे, जसे बाह्य बायनरी /bin/ls किंवा /bin/cp सह अयशस्वी होईल अशी कोणतीही फाइल किंवा निर्देशिका नाही, परंतु शेल बिल्ट-इन अजूनही पूर्णपणे RAM मध्ये कार्य करतात. तुम्ही वापरू शकता प्रतिध्वनी * ऐवजी ls, printf "%s\n" "$( /dev/shm/rescued ऐवजी cp, आणि echo u > /proc/sysrq-trigger SystemRescue Live USB पॉवर ऑफ आणि बूट करण्यापूर्वी केवळ-वाचनीय कर्नल रिमाउंट ट्रिगर करण्यासाठी (तुमचे शेल आधीच रूट असल्यास).
संबंधित मार्गदर्शक¶
- अपघाती फाइल हटवणे, स्वरूपित ड्राइव्ह आणि फोटो पुनर्प्राप्ती
- SSD आणि NVMe अचानक-वाचनीय मोड, 0% स्पेअर ब्लॉक्स आणि TRIM अक्षम करणारे बचाव
- हार्ड ड्राइव्ह अपयश आणि डेटा पुनर्प्राप्ती
- NAS RAID ॲरे डिग्रेड, एकाधिक ड्राइव्ह अपयश, आणि ZFS/Btrfs पुनर्प्राप्ती
- संगणक बॅकअप, 3-2-1 धोरण आणि आपत्ती पुनर्प्राप्ती
- देशानुसार आणीबाणी क्रमांक
स्रोत आणि अधिकृत मार्गदर्शन¶
- राष्ट्रीय मानक आणि तंत्रज्ञान संस्था (
NIST) (युनायटेड स्टेट्स): *विशेष प्रकाशन 800-86: घटना प्रतिसाद आणि SP 800-88 मध्ये फॉरेन्सिक तंत्र एकत्रित करण्यासाठी मार्गदर्शक. - लिनक्स कर्नल संघटना (
kernel.org): Ext4 फाइलसिस्टम दस्तऐवजीकरण (ब्लॉक आणि इनोड वाटप,jbd2जर्नलिंग, आणिprocfs/proc/<pid>/fd/फाइल डिस्क्रिप्टर सिमेंटिक्स) आणि लिनक्स मॅजिक सिस्टम रिक्वेस्ट की (sysrq.txt). - CGSecurity (
TestDiskआणिPhotoRecअधिकृत दस्तऐवजीकरण) आणिext4magicअपस्ट्रीम रेफरन्स मॅन्युअल: जर्नल इनोड एक्सट्रॅक्शन आणि अनअलोकेटेड एक्सटेंट कार्व्हिंग ext3/ext4 आणि NTFS व्हॉल्यूम्स. - सायबर सुरक्षा आणि पायाभूत सुरक्षा एजन्सी (
CISA) (युनायटेड स्टेट्स): घटना प्रतिसाद आणि फॉरेन्सिक अस्थिर/अ-अस्थिर पुरावा संरक्षण सर्वोत्तम पद्धती. - युरोपियन युनियन एजन्सी फॉर सायबर सिक्युरिटी (
ENISA): डिजिटल फॉरेन्सिक्स आणि स्टोरेज मीडिया प्रिझर्वेशनसाठी चांगले सराव मार्गदर्शक.