Skip to content

Ustekabean rm -rf edo Shift-Delete Linux, macOS edo Windows-en: Berehala irakurtzeko soilik berriro muntatu

Emergency numbers differ by country. This page uses 911, the number for the United States and Canada. Many other countries use 112, 999, or another number. Find the number for your country.

Ustekabeko bat ikustea rm -rf, find -delete, git clean -fdx, edo Windows Shift+Delete ezabatu ekoizpen-datu-base kritikoak, iturburu-kodea edo fitxategi pertsonalak Birziklapen-zaborrontzira edo zakarrontzira bidali gabe berehala izua pizten du. Hala ere, ezta ere rm -rf ezta Shift+Delete Egia esan, zure azpiko biltegiratze-sektoreak zero jartzen ditu komandoa amaitzen den unean: horren ordez, sistema eragileak direktorio-sarrera deslotu, metadatuen aldizkaria eguneratzen du eta inodo erakusle edo Fitxategi Nagusien Taula markatzen ditu (MFT) erregistroak eta blokeatu bitmapak berrerabiltzeko erabilgarri dauden moduan. Ezabatutako fitxategiak betiko suntsitzen dituena segundo bakoitzean fitxategi-sistema irakur-idazketan muntatuta geratzen da (rw) modua ezabatu ondoren, atzeko planoko sistema erregistratzaile gisa (systemd-journald, rsyslog), arakatzailearen cacheak, trukatzeko jarduera eta SSD TRIM / discard komandoek azkar gainidazten dituzte askatu berri diren blokeak. Zure sistemak klik fisikoak, sektore txarrak edo hildako kontrolagailuak jasaten baditu, gelditu eta aldatu gure gidara disko gogorreko hutsegite eta datuak berreskuratzea, edo zure egoera solidoko unitatea blokeatu bada kontrolagailu higatzearen ondorioz, ikus SSD eta NVMe bat-bateko irakurtzeko modua eta TRIM erreskatea desgaitzen du; Formateatu akats zabalagoetarako edo kameraren txartelaren arazoetarako, kontsultatu fitxategiak ustekabean ezabatzea, formateatutako diskoa eta argazkiak berreskuratzea. Gertaera honek sabotaje kriminalak, estortsioak edo bizitzako segurtasun-sistemaren etenaldi bat badakar, deitu zure tokiko larrialdi-zenbakira (911 Estatu Batuetan eta Kanadan, 112 Europar Batasun osoan, 999 Erresuma Batuan) edo begiratu gure nazioarteko direktorioa larrialdi zenbakiak.

Egin hau orain

  1. Sakatu Ctrl+C berehala ezabatzeko komandoa exekutatzen ari bada, eta EZ itxi irekitako terminal-leihorik, testu-editoreak, multimedia-erreproduzitzaileak edo datu-baseen daemon: exekutatzen ari den programaren bat (nginx, postgres, mysqld, vim, code, python, tail, edo bideo erreproduzitzaile batek) oraindik ezabatutako fitxategia memorian irekita dauka, Linux edo macOS nukleoak fitxategiaren datu-blokeak osorik mantentzen ditu diskoan prozesu horrek fitxategiaren deskribatzailea ixten duen arte. Aplikazioa ixteak edo makina oraintxe berrabiaraziz gero, erreferentzia-zenbaketa berehala kaleratuko da (i_nlink == 0) eta benetako blokeen desesleipena abiarazi.
  2. ** Linux-en berriro muntatu edo itzali aurretik, egiaztatu /proc/<pid>/fd/ oraintxe bertan martxan dagoen prozesu batek irekita dituen ezabatutako fitxategiak erreskatatzeko**: Exekutatu sudo lsof +L1 (esteka 1 baino txikiagoa duten fitxategi ireki guztiak zerrendatzen ditu, hau da: rm irekita dagoen bitartean) eta berehala kopiatu bere eduki gordinak RAM/kerneleko cachetik aparteko disko batera edo /dev/shm (tmpfs RAM diskoa) erabiliz cp /proc/<pid>/fd/<fd_number> /dev/shm/rescued_file.
  3. ** Berriz muntatu kaltetutako partizioa Irakurtzeko soilik (ro) berehala, beraz, sistema eragilearen nukleoak ezin du beste byte bakar bat idatzi aldizkariko erregistroak edo denborazko fitxategiak esleitu gabeko blokeetan**:
  4. Linux-en (ext4, XFS, Btrfs): Korrika sudo mount -o remount,ro /path/to/mountpoint (adibidez, sudo mount -o remount,ro /home edo sudo mount -o remount,ro /).
  5. ** Bada mount -o remount,ro batekin huts egiten du mount point is busy zure erroan (/) partizioa**: abiarazi nukleoaren berehalako larrialdiko irakurtzeko soilik birmuntatzea Magic SysRq bidez exekutatuta echo u | sudo tee /proc/sysrq-trigger (muntatutako fitxategi-sistema guztiak berehala irakurtzeko soilik muntatzera behartzen ditu prozesuak hil gabe edo blokeo irekien zain egon gabe).
  6. MacOS-en (APFS / HFS+): Korrika sudo diskutil mount readOnly /Volumes/TargetVolume abiarazteko ez diren bolumenetarako, edo fitxategiak zure nagusian bazeuden Data bolumena (/System/Volumes/Data), berehala behartu itzali Touch ID / Pizteko botoia sakatuta 10 segundoz atzeko planoa geldiarazteko (mds_stores) eta fseventsd idazten du.
  7. ** Windows-en (NTFS / ReFS): ezabatutako fitxategiak bigarren unitate batean baleude (D:, E:), ireki Administratzailearen komando-gonbita eta blokeatu bolumena irakurtzeko soilik diskpart (select volume D, attributes volume set readonly). Fitxategiak aktibatuta baleude C:\Ez itzali Windows normalean** (Itzaltze normalak ehunka megabyte idazten ditu erregistroko erlauntzak, gertaeren erregistroak eta orrialde-fitxategien eguneraketak askatuta). MFT klusterrak); horren ordez, tira mahaigaineko korronteari edo eduki eramangarria pizteko botoia sakatuta 10 segundoz energia berehala mozteko.
  8. ** Saihestu SSD TRIM (discard / UNMAP) esleitu gabeko flash orrialdeak zeroratzetik**: Unitatea NVMe edo SATA SSD bat bada eta etengabe muntatuta badago. discard (edo Windows/macOS programatuta exekutatzen bada TRIM fitxategia ezabatzean berehala), potentzia moztu edo berriro muntatu ro berehala gelditzen du sistema eragilea gehigarri ilaran jartzea NVME_DSM_ATTR_DEALLOCATE komandoak eta SSDa pasatzen ez den USB-rako NVMe zubi egokitzaile batean jartzea TRIM berreskuratzean kontrolagailuaren atzeko zabor bilketak berreskura daitezkeen blokeak ezabatzea eragozten du.
  9. ** Kanpoko Live USB batetik abiarazi (Ubuntu Live, SystemRescue, edo WinPE) eta klonatu partizioa bit-bit kanpoko biltegiratze-unitate batean erabiliz ddrescue ezabatzeko tresnaren bat exekutatu aurretik**: Inoiz ez exekutatu ext4magic, extundelete, testdisk, photorec, edo ntfsundelete zuzenean idazteko moduan biktima diskoaren aurka; beti irudikatu bloke gailua (sudo ddrescue -d -r0 /dev/nvme0n1p2 /mnt/external/disk_image.raw /mnt/external/rescue.map) eta moztu zure fitxategiak iruditik edo idatzi berreskuratutako fitxategiak zorrozki bigarren disko fisiko batean.
  10. ** Egiaztatu ezkutuko fitxategi-sistema lokaleko argazkiak (Btrfs, ZFS, LVM, macOS APFS Time Machine tokiko argazkiak eta Windows Bolumen Itzalako kopiak) orduak eman aurretik sektore gordinak zizelkatzen**: Sistema askok isilean mantentzen dituzte une-denborako bloke atomikoen erreferentziak (tmutil listlocalsnapshots / macOS-en, vssadmin list shadows Windows-en, zfs list -t snapshot, edo btrfs subvolume list -s /) berehalako ehuneko 100 berreskuratzea ahalbidetzen dutenak rm -rf edo Shift+Delete Direktorioak esleitu gabeko cluster gordinak ukitu gabe.

Danger

Inoiz ez instalatu berreskuratzeko softwarea (apt install extundelete, brew install testdisk, edo Recuva/R-Studio Chrome/Edge bidez deskargatu) fitxategiak ezabatu berri diren partizio berean: 50 megabyte (0,05 gigabyte) instalatzaile bat deskargatu eta milaka liburutegi fitxategi deskargatu. C:\ edo / fitxategi-sistemaren esleitzailea behartzen du esleitu gabeko bloke zehatzak hartzera eta MFT Zure ustekabean ezabatzean askatu berri diren / inode erregistroak. Eraginpeko partizioan pakete-instalazio, arakatzailearen deskarga edo sistema eragilearen berrabiarazi normalak behin betiko gainidazten ditu berreskura daitezkeen datuen gigabyte.


Erabakien zuhaitza: ustekabearen ondoren berehalako triagea rm -rf edo Shift+Delete

Jarraitu erabaki-zuhaitz honi ezabaketa aurkitu eta lehen 60 segundoetan estekatu gabeko datu-blokeen ehunekorik handiena gordetzeko:

flowchart TD
    Start["Ustekabean rm -rf, find -delete edo Maius+Ezabatu exekutatuta"] --> OpenCheck{"Abian den edozein prozesuk (DB, editorea, zerbitzaria, buztana) oraindik ezabatutako fitxategia ireki al daiteke?"}

    OpenCheck -->|"Bai (Linux / macOS martxan dago oraindik)"| ProcRescue["1. URRATSA: Exekutatu sudo lsof +L1 berehala eta kopiatu irekitako fitxategi deskribatzaileak /proc/PID/fd/N-tik RAM diskora (/dev/shm) edo kanpoko USBra"]
    OpenCheck -->|"Ez (edo fitxategi guztiak itxita zeuden)"| SnapCheck{"Bolumenak ZFS, Btrfs, APFS Tokiko Argazkiak edo Windows Itzalako kopiak erabiltzen al ditu?"}

    ProcRescue --> FreezeOS["2. URRATSA: berehala izoztu diskoko idazketa guztiak"]
    SnapCheck -->|"Bai: Behiaren argazkia badago"| FreezeOS
    SnapCheck -->|"Ez: Ext4, XFS edo NTFS estandarra argazkirik gabe"| FreezeOS

    FreezeOS --> OSBranch{"Zein sistema eragile eta partizio kolpatu zen?"}

    OSBranch -->|"Linux ez-root (/home, /data)"| RemountRO["Exekutatu: sudo mount -o remount,ro /mountpoint"]
    OSBranch -->|"Linux Erro (/) partizioa"| SysRqRO["Exekutatu: oihartzun u | sudo tee /proc/sysrq-trigger (Kernel-en larrialdi-irakurtzeko soilik birmuntatu)"]
    OSBranch -->|"Windows C: Drive edo macOS Boot APFS"| HardPower["EZ itzali normalean: eduki pizteko botoia 10 segundoz edo tira elikatze-kablea itzaltzeko erregistro/orriaren fitxategien idazketak saihesteko"]
    OSBranch -->|"Bigarren mailako kanpoko edo datu-unitatea"| UnmountSec["Desmuntatu / Ezarri bolumena irakurtzeko soilik berehala eta deskonektatu unitatea"]

    RemountRO --> LiveBoot["3. URRATSA: Abiarazi kanpoko sistema. Erreskate zuzeneko USB eta klonatu partizioa ddrescue-rekin kanpoko unitatean"]
    SysRqRO --> LiveBoot
    HardPower --> LiveBoot
    UnmountSec --> LiveBoot

    LiveBoot --> FSRecovery{"Hautatu Fitxategi Sistemaren Berreskuratze Metodoa"}
    FSRecovery -->|"ext4 / ext3"| ExtRec["Journal Inode berreskuratzea: ext4magic / extundelete / debugfs"]
    FSRecovery -->|"XFS / APFS / Egunkaririk gabekoa"| CarveRec["Sinadura eta goiburua/oinaren taila: photorec / scalpel / foremost / xfs_irecover"]
    FSRecovery -->|"NTFS (Windows)"| NtfsRec["MFT Erregistroen Analisia: ntfsundelete / TestDisk / UFS Explorer / DMDE"]

Zergatik segundu bakoitzean irakur-idazketa muntatu (rw) ezabatutako fitxategiak suntsitzen ditu

Berehala irakurtzeko soilik birmuntatzea edo energia-mote gogorra zergatik den zure datuentzat hil ala biziko erabakia den ulertzeko, aztertu fitxategi-sistema moderno bakoitzak benetan aldatzen duen exekutatzen duzunean. unlink() (rm) edo DeleteFileW() (Shift+Delete):

1. Barruan gertatzen dena ext4, XFS, APFS, eta NTFS ezabatzean

Fitxategi bat ezabatzen denean, kontsumitzaileen sistema eragile batek ez du gastatzen diskoko I/O banda-zabalera zeroak idazten 10 gigabyte (10.700 milioi byte) datu-base edo bideo fitxategi batean. Horren ordez, fitxategi-sistemaren kontrolatzaileak metadatu egitura txikiak bakarrik aldatzen ditu:

Fitxategi-sistema Zer rm -rf edo Shift+Delete Berehala aldatzen da Zergatik da zailagoa berreskuratzea bertsio modernoetan Berreskuratzeko bektore onena
ext4 (Linux) 1. Fitxategi-izena kentzen du direktorioko sarreratik.
2. Inodoa ezartzen du i_dtime (ezabatzeko denbora-zigilua) eta multzoak i_links_count = 0.
3. Garaizkoa ext4 xelebrea: Zeroes out the i_block / hedadura zuhaitz-erakusleak diskoko inodoaren egitura beraren barruan, eta datu-blokeak libre markatzen ditu bloke-bit-mapan.
Ez bezala ext3 (zeharkako bloke-erakusleak zero besterik ez zituen egiten), ext4 ezabatzean inodoen taula nagusiaren barruko hedadura zuhaitza ezabatzen du. Hala ere, ** jbd2 Fitxategi-sistema aldizkariak inodo zehatz horren kopia zaharrago bat gordetzen du bere hedadura-erakusle osoekin** aldizkariaren eraztun-bufferra bildu arte. 1. /proc/<pid>/fd/ irekita badago.
2.ext4magic / extundelete (aztertzen du jbd2 aldizkaria inodoaren aurretiko kopia ezabatzeko aldizkaria gainidatzi aurretik).
3. Bloke gordinaren taila (photorec).
XFS (RHEL / CentOS / Rocky / Unraid) B+zuhaitza direktorioaren sarrera kentzen du, inodoa markatzen du di_mode = 0 (doan) eta datuen hedadurak zuzenean itzultzen ditu Esleipen Taldera (AG) espazio libreko B+zuhaitzak (cntbt / bnobt). XFS erasokorki zerotzen ditu hedadura-erregistroak askatutako inodoen barruan (di_u) eta inodoak azkar birziklatzen ditu Esleipen Talde paraleloetan zehar. 1. /proc/<pid>/fd/ irekita badago.
2. Metadatuen erregistroaren ikuskapena (xfs_logprint) edo xfs_irecover / fitxategi-sinadura gordinaren taila (photorec, scalpel).
NTFS (Windows 10 / 11 / Server) Iraultzen du In-Use bandera (0x01 -> 0x00) 1.024 bytean (1 kilobyte) $MFT (Fitxategi Nagusien Taula) goiburua grabatu eta klusterrak aske dabilela markatzen du $Bitmap fitxategia. ** Fitxategiaren izena, $DATA runlist erakusleak eta egoiliar fitxategi txikiak (700 byte baino gutxiagokoak) guztiz osorik geratzen dira $MFT grabatu.** Unitatea Windows-en muntatuta geratzen bada, atzeko planoko zerbitzuak (SearchIndexer.exe, svchost.exe, Windows Update, $UsnJrnl, eta Gertaera-ikustailea) esleitu berriak $MFT askatua gainidazten duten erregistroak $MFT zirrikitua eta SSD TRIM berehala zero jartzen ditu esleitu gabeko klusterrak. 1. Itzal kopiak (vssadmin).
2.ntfsundelete / TestDisk / DMDE / UFS Explorer (osorik irakurtzen du $DATA exekuzio-zerrenda esleitu gabekoetik atera $MFT zirrikitua).
APFS (macOS) Kopiatu-idazketa (CoW) B-tree-k fitxategiaren hedaduraren erregistroa kentzen du eta giltza-poltsa erreferentziarik gabe markatzen du. Fitxategi bakoitzeko hardware enkriptatzea (T2 / M1-M4) gehi SSD TRIM esleitu gabeko hedadurak suntsitzen ditu, tokiko argazkirik egon ezean. 1. lsof +L1 irekita badago.
2. APFS tokiko argazkiak (tmutil listlocalsnapshots /).
3. Checkpoint superblokea oinez.
Btrfs & ZFS (Linux / BSD / NAS) Kopiatu-idazketa (CoW) zuhaitzak doako blokeak eguneratzen ditu transakzio talde horri instantziarik ez badu erreferentziarik egiten (txg). Argazkirik gabe, CoW taila konplexua da, nahiz eta ZFS txg atzera bota (zpool import -F -T) edo btrfs restore zuhaitzak erreskatatu ditzake. 1. ** Lehendik dauden argazkiak (.zfs/snapshot/ edo .snapshots/)**.
2. Transakzio taldea (txg) atzera egin.

2. SSDa TRIM (Discard / Deallocate) Erlojupeko bonba

Biratzen ari den disko gogorrean (HDD), sektoreak irakurgai geratzen dira gainidatzi arte. SSD batean (SATA edo NVMe), fitxategi-sistema batek a TRIM edo Deallocate komandoa: - NVMe kontrolagailu gehienek ** Irakurketa Zero deterministikoa TRIM ondoren (DRAT / DZAT)**, bueltan 0x00000000 (zero guztiak) Flash Translation Geruzatik (FTL) jaso eta berehala TRIM, NAND zabor bilketa fisikoa exekutatu aurretik ere. - Zergatik irauten dute askotan Linux sistemek TRIM: Linux banaketa gehienak (Ubuntu, Debian, Fedora, RHEL) Ez gaitu etengabeko muntatze-denbora discard lehenespenez; asteko tenporizadore bat martxan jartzen dute (fstrim.timer). Irakurtzeko soilik muntatzen baduzu (ro) aurretik fstrim.timer exekutatzen da, SSDak oraindik ez ditu bloke horiek mapak kendu.


1. fasea: martxan dagoen prozesu batek oraindik irekita dauden ezabatutako fitxategiak erreskatatu (/proc/<pid>/fd/)

Linux edo macOS-en leiho bakar bat berrabiarazi, desmuntatu edo itxi aurretik, egiaztatu irekitako fitxategien deskribatzaileak. POSIX sistemetan, rm deiak unlink(). Nukleoak bi kontagailu jarraitzen ditu inodo bakoitzeko: 1. i_nlink: Diskoko direktorioko sarrerak inodoa seinalatzen dute. 2. i_count: Inodoa memorian irekita mantentzen duten prozesu aktiboak.

Urrezko POSIX araua: nukleoak ez du inoiz inodoa askatzen edo disko blokeak desesleitzen BIAK arte i_nlink == 0 ETA i_count == 0. Ezabatutako datu-basea, erregistroa, bideoa edo kode-fitxategi bat oraindik irekita badago edozein prozesutan, fitxategi horren ehuneko 100a osorik geratzen da diskoan.

Pausoz pauso /proc/<pid>/fd/ Linux-en erauzketa

  1. Bilatu edozein prozesuk irekita dauden ezabatutako fitxategi guztiak:
    sudo lsof +L1
    
    (Edo iragazi fitxategi-izenaren arabera: sudo lsof | grep -i "(deleted)" | grep -i "filename")
  2. ** Irakurri lsof irteerako zutabeak**:
    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)
    
    Kontuan izan PID (4182) eta kendu amaierako letra (u, r, w) tik FD (14u -> 14).
  3. Kopiatu fitxategi gordina kanpotik /proc/<pid>/fd/<fd_num> RAM sartu (/dev/shm) edo kanpoko disko bat: Ez idatzi inoiz berreskuratutako fitxategia kaltetutako partizioan. Idatzi /dev/shm (RAM diskoa) edo kanpoko USB unitate bat:
    mkdir -p /dev/shm/rescued_files
    sudo cp /proc/4182/fd/14 /dev/shm/rescued_files/16399_recovered
    
  4. ** Erreskatatu datu-base edo edukiontzi batetik ezabatutako hainbat fitxategi irekita (PID=4182) begizta batean**:
    sudo mkdir -p /dev/shm/rescued_db
    for fd in /proc/4182/fd/*; do
      target=$(sudo readlink "$fd")
      if echo "$target" | grep -q "(deleted)"; then
        fd_num=$(basename "$fd")
        clean_name=$(echo "$target" | sed 's/ (deleted)//; s/\//_/g')
        sudo cp "$fd" "/dev/shm/rescued_db/fd_${fd_num}${clean_name}"
      fi
    done
    
  5. ** Erreskate buffer eta IDE Tokiko Historia (vim, VS Code, Cursor, JetBrains)***:
  6. Ez itxi irekitako editorearen fitxak: gorde irekitako buffer-ak zuzenean /dev/shm edo thumb drive bat.
  7. VS kodea / Kurtsore / VSCodium Tokiko Historia: gordetako fitxategi bakoitzaren denbora-zigiluaren kopia automatikoak gordetzen ditu barruan -/.config/Code/User/History/ (Linux), -/Library/Application Support/Code/User/History/ (macOS), edo %APPDATA%\Code\User\History\ (Windows), zure proiektuaren karpeta guztiz kanpo. Ondoren ere rm -rf -/my-project edo git clean -fdx, zure kode-fitxategiak osorik geratzen dira barruan User/History/ batekin entries.json manifest fitxategi bakoitza bere jatorrizko bidera mapatuz.
  8. JetBrains IDEak (IntelliJ, PyCharm, WebStorm): historia automatikoa gordetzen du barruan -/.cache/JetBrains/<IDE>/LocalHistory/.
  9. Git (git reset --hard edo git branch -D rekin .git/ osorik): Korrika git reflog edo git fsck --lost-found berehala barnean zintzilik dauden bolak berreskuratzeko .git/objects/.

2. Fasea: Fitxategi-sistema irakurtzeko soilik izoztea (ro) esleitu gabeko blokeak gainidatzi gabe

Irekitako fitxategi deskribatzaileak atera dituzunean /proc (edo ez dagoela egiaztatuta), zure berehalako lehentasuna sistema eragileak partizioan sektore gehigarri bakar bat idazteari uztea da.

1. Linux: Datu-partizioa berriro muntatzea eta erroa (/) Partizioa irakurtzeko soilik

  • ** A agertokia: ezabatutako fitxategiak partizio bereizi batean zeuden (/home, /var, /data, /mnt/storage)***:
  • Saiatu berehala irakurtzeko soilik birmuntatze garbi bat egiten:
    sudo mount -o remount,ro /home
    
  • Bada mount dio mount point is busy, idazketa prozesuak identifikatu eta geldiarazi (sudo fuser -vm /home jarraian sudo fuser -km -TERM /home), eta berehala berriro exekutatu sudo mount -o remount,ro /home.
  • B eszenatokia: ezabatutako fitxategiak erroan zeuden (/) partizioa (edo ezin dituzu prozesu okupatuak hil): Ez egin korrika sudo reboot edo sudo shutdown -h now, normal bat delako systemd shutdown-en megabyte idazten ditu journald ixteko erregistroak, ausazko haziak eta zerbitzuaren egoera fitxategiak zuzenean /. Horren ordez, abiarazi Linux Kernel Magic SysRq Emergency Read-Only Remount:
    echo 1 | sudo tee /proc/sys/kernel/sysrq
    echo s | sudo tee /proc/sysrq-trigger
    echo u | sudo tee /proc/sysrq-trigger
    
  • s (Emergency Sync): memorian dauden fitxategi-sistemaren metadatuak garbitzen ditu, superblokea koherentea izan dadin.
  • u (Emergency Remount Read-Only): makinan muntatutako fitxategi-sistema guztiak irakurtzeko soilik moduan muntatzen ditu indarrez (ro) nukleoaren barruan, prozesuek oraindik fitxategiak idazteko irekita dituzten arren. Egiaztatu hori / orain irakurtzeko soilik da grep " / " /proc/mounts.

2. Izoztutako Urruneko Hodei Zerbitzari baten irudia egitea (AWS EC2, GCP, DigitalOcean, Hetzner) SSH bidez

Ustekabean korrika egin bazenu rm -rf USB unitate bat konektatu ezin duzun urruneko hodeiko zerbitzari batean: 1. Exekutatu Magic SysRq irakurtzeko soilik birmuntatzea (echo s > /proc/sysrq-trigger && echo u > /proc/sysrq-trigger). Lehendik duzun SSH saioa bizirik mantentzen da SSH RAMan exekutatzen delako eta /dev/pts (devpts) RAM sasi-terminal fitxategi-sistema birtuala da. 2. Hodeiko plataformetan (AWS EC2, GCP, Azure, DigitalOcean), berehala hartu EBS / Block Volume Snapshot atomiko bat hodeiko kontsolatik, edo gelditu instantzia, kendu erro-bolumena eta erantsi irakurtzeko soilik (/dev/xvdf) erreskate VM garbi batera. 3. Metal hutseko urruneko zerbitzari batean, igor ezazu zuzenean SSH bidez irakurtzeko soilik den partizioaren irudi gordina konprimitua zure tokiko lan-estaziora:

ssh root@remote-server-ip "dd if=/dev/nvme0n1p2 bs=4M status=progress | zstd -1" > ~/rescued_partition.img.zst


3. fasea: ezkutuko kopia-idazketa egiaztatzea (CoW) argazkiak eta itzal-kopiak zizelkatu aurretik

Esleitu gabeko sektoreen terabyte eskaneatu aurretik, egiaztatu zure sistema eragileak automatikoki sortu duen ezkutuko une-uneko argazki bat:

1. macOS: Local Time Machine APFS Snapshots (tmutil)

Nahiz eta zure kanpoko Time Machine unitatea deskonektatuta egon astez, macOSek automatikoki grabatzen ditu orduka APFS tokiko kopia-on-write argazkiak zure barne SSDan (com.apple.TimeMachine.YYYY-MM-DD-HHMMSS.local) Time Machine konfiguratuta dagoen bakoitzean edo macOS eguneratu aurretik: 1. Zerrendatu tokiko argazki guztiak Terminalean:

tmutil listlocalsnapshots /
tmutil listlocalsnapshots /System/Volumes/Data
2. Argazkiren bat zure ustekabekoa baino lehenagokoa bada rm -rf, munta ezazu Irakurtzeko Bakarrik eta kopiatu fitxategiak:
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. Windows 10 / 11 / Zerbitzaria: bolumen itzal kopiak (VSS)

  1. Ireki Administratzailearen komando-gonbita eta exekutatu:
    vssadmin list shadows
    
  2. Itzaleko kopia bat bada (\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1) zure aurrekoa da Shift+Delete, estekatu karpeta batera eta kopiatu zure fitxategiak USB unitate batean:
    mklink /d C:\ShadowRescue \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
    

3. Linux: Btrfs, ZFS, eta LVM Argazkiak

  • Aktibatuta Btrfs (Fedora, openSUSE, Synology, Timeshift/Snapper sistemak): Exekutatu sudo btrfs subvolume list -s / eta ikuskatu /.snapshots/ edo /run/timeshift/backup/timeshift-btrfs/snapshots/.
  • Aktibatuta ZFS (Ubuntu ZFS, Proxmox, TrueNAS): Exekutatu zfs list -t snapshot eta kopiatu fitxategiak zuzenean /path/to/dataset/.zfs/snapshot/.

4. fasea: urratsez urrats Inode, aldizkaria eta MFT berreskuratzea Fitxategi-sistemaren bidez

Fitxategiaren deskribatzaile irekirik ez badago (/proc/<pid>/fd/) eta ez zegoen argazkirik, abiarazi SystemRescue edo Ubuntu Live USB batetik, erantsi kanpoko USB disko gogor bat (/mnt/external), eta sortu muntatu gabeko biktimaren partizioaren bit-bit klon bat (/dev/nvme0n1p2) lehenik:

sudo ddrescue -f -n /dev/nvme0n1p2 /mnt/external/victim_partition.img /mnt/external/ddrescue.log
Zorrotz funtzionatu /mnt/external/victim_partition.img beraz, jatorrizko diskoa ez da inoiz aldatzen.

1. Errekuperatzen ext4 / ext3 Linux-en (ext4magic eta extundelete)

Noiz rm -rf on fitxategiak ezabatzen ditu ext4, nukleoak inodoen taula nagusiaren barruan dauden hedadura-zuhaitzaren erakusleak zero jartzen ditu. Hala ere, ext4's jbd2 aldizkariak (normalean 128 megabyte eta 1.024 megabyte arteko tamaina) duela gutxi aldatutako inodo blokeen kopia historikoak gordetzen ditu. Betiere, berriz muntatu ro diskoaren jarduera astunak aldizkariaren eraztun-bufferra bildu aurretik, ext4magic Ezabatu aurreko inodoa aldizkaritik ateratzen du eta zure fitxategiak berreraikitzen ditu jatorrizko fitxategi-izenak eta direktorio-zuhaitzak osorik.

  1. Korrika ext4magic azken 2 orduetan ezabatutako fitxategi guztiak berreskuratzeko (-a) bide erlatibo baten barruan (-f)*: (Kendu mendi-puntuaren hasierako barra -f:-rentzat /home/kmyers/project erro baten gainean / zatiketa, pasa -f home/kmyers/project; bada /home bere partizioa da, pasa -f kmyers/project.)
    mkdir -p /mnt/external/recovered_ext4
    sudo ext4magic /mnt/external/victim_partition.img \
      -a $(date -d "2 hours ago" +%s) \
      -f home/kmyers/project \
      -R -d /mnt/external/recovered_ext4
    
  2. Alternatiboa: Korrika extundelete irudiaren aurka:
    cd /mnt/external
    sudo extundelete /mnt/external/victim_partition.img --restore-directory home/kmyers/project
    

2. Windows-etik berreskuratzen NTFS ondoren Shift+Delete (TestDisk eta ntfsundelete)

Ez bezala ext4, Windows NTFS EZ ditu blokearen hedaduraren erakusleak zero kentzen (Data Runs) Fitxategi Nagusien Taula barruan ($MFT) fitxategi bat ezabatzen denean grabatu. Sakatzen duzunean Shift+Delete NTFSn, 1.024 bytekoa $MFT sarrerak goiburuko bandera iraultzen du 0x01 (Erabilera) to 0x00 (Ezabatua). Bere $FILE_NAME atributua eta $DATA kluster exekuzio zerrenda ehuneko 100 osorik mantentzen da beste fitxategi batek hori berrerabili arte $MFT zirrikitua:

  1. Erabiliz TestDisk berehalako NTFSrako $MFT Karpeta bide osoekin ezabatzea:
    sudo testdisk /mnt/external/victim_partition.img
    
    Hautatu [ Proceed ] -> [ EFI GPT ] -> [ Advanced ] -> nabarmendu NTFS partizioa -> [ Undelete ]. Nabigatu zure karpetara, sakatu a ezabatutako fitxategiak hautatzeko eta sakatu C (hiriburua C) kopiatzeko /mnt/external/recovered_ntfs/.
  2. Erabiliz ntfsundelete (ntfs-3g)*:
    sudo ntfsundelete /mnt/external/victim_partition.img -t 2d
    sudo ntfsundelete /mnt/external/victim_partition.img -u -m "*" -d /mnt/external/recovered_ntfs
    

3. Errekuperatzen XFS, APFSedo gainidatzitako aldizkariak Raw Block Carving bidez (PhotoRec eta grep -a -b)

Inodo erakusleak desagertu egiten direnean (adibidez, XFS,APFS, edo ** batext4** aldizkaria bilduta dagoen partizioa), berreskuratu datuak esleitu gabeko 4.096 byte (4 kilobyte) blokeak eskaneatu fitxategien goiburuak/oinak edo testu-kate esklusiboak bilatzeko:

Ezabatu duzuna Taila-tresna gordinarik onena eta komando zehatza Zergatik funtzionatzen duen inodorik gabe
Iturburu kodea, konfigurazioak, markaketa, SQL iraulketak, SSH gakoak, JSON/YAML (Plain Text Files) grep -a -b -C 150 partizioaren irudi gordinaren aurka zuzenean:
LC_ALL=C grep -a -b -C 150 "unique_function_name" /mnt/external/victim_partition.img > /mnt/external/carved_code.txt
Testu arrunteko fitxategiek goiburu magiko bitarrik ez dute, beraz PhotoRec askotan saltatzen ditu. grep -a -b Diskoaren irudiaren byte gordinak bilatzen ditu idazten duzula gogoratzen duzun aldagai-izen edo kate bakarraren bila eta disko-bloke gordinen inguruko 300 lerroak ateratzen ditu.
** Dokumentuak, PDFak, Office (DOCX/XLSX), ZIP/TAR Artxiboak, Irudiak, Bideoak, SQLite DBak** PhotoRec (testdisk paketea):
sudo photorec /mnt/external/victim_partition.img -> [ File Opt ] -> [ Free ] (Esleitu gabeko espazioa) -> idatzi irteera honetan /mnt/external/photorec_out/.
480 fitxategi bitar goiburu eta oin baino gehiago ezagutzen ditu (%PDF-, PK\x03\x04 ZIP/DOCX/XLSX-rako, SQLite format 3, JPEG/PNG/MP4) eta ondoko blokeak berriro muntatzen ditu direktorioen zuhaitz eta inodo guztiak zero jarrita egon arren.
XFS Inodo espezifikoa eta B-Tree Taila xfs_irecover edo UFS Explorer Professional Recovery XFS esleipen-taldeak aztertzen ditu (AGs) lotu gabeko inodo multzoetarako eta ondoko hedadura zatietarako.

Nola erabili grep -a -b + dd ezabatutako iturburu-kodea erreskatatzeko edo .env fitxategiak 2 minutu baino gutxiagotan

Iturburu-kodea ezabatu baduzu, .env sekretuak edo 32 kilobyte baino gutxiagoko oharrak: 1. Bilatu kate bakarra ezabatutako fitxategiaren barruan eta inprimatu bere byte-desplazamendu zehatza (-b):

LC_ALL=C grep -a -b -o "def calculate_invoice_tax" /mnt/external/victim_partition.img
Demagun grep irteerak 48291045312:def calculate_invoice_tax. 2. Zatitu bytearen desplazamendu hori 4096 (48291045312 / 4096 = 11789805), atzera egin 10 bloke (11789795), eta bota 30 bloke (120 kilobyte) disko gordina desplazamendu horren inguruan:
dd if=/mnt/external/victim_partition.img bs=4096 skip=11789795 count=30 status=none > /mnt/external/rescued_code_block.txt
3. Ireki /mnt/external/rescued_code_block.txt edozein testu-editorean zure testu arrunteko fitxategi osorik ateratzeko.


5. fasea: etorkizuneko hondamendiak saihestea rm -rf eta Shift+Delete istripuak

  • ** Ordeztu interaktiboa rm rekin trash-cli eta rm -I --preserve-root=all**: Instalatu trash-cli (trash-put, trash-list, trash-restore) eta ezizena rm to rm -I --preserve-root=all urtean /etc/bash.bashrc eta -/.zshrc beraz, ustekabeko ezabatze errekurtsiboek behin eskatzen dute inodoak deslotu aurretik.
  • ** Babestu ekoizpen-direktorio kritikoak Linux Atributu Immutablearekin (chattr +i)**: Baita root (sudo rm -rf) ezin du markatutako direktorio edo fitxategirik ezabatu edo aldatu sudo chattr +i /path/to/critical_config administratzaile bat exekutatu arte sudo chattr -i.
  • Gaitu tokiko kopia-idazketa automatikoa (CoW) Argazkiak (Btrfs / ZFS / APFS / Windows Shadow Copies)*: Erabili Snapper edo Timeshift on Btrfs, sanoid on ZFS, edo egunero bitan bolumenaren itzal kopiak Windows-en (SystemPropertiesProtection.exe).
  • ** Mantendu 3-2-1 automatikoki babeskopiak gunez kanpoko biltegiratze aldaezinarekin**: jarraitu gure gida ordenagailuen babeskopiak, 3-2-1 estrategia eta hondamendien berreskurapena erabiliz restic edo borgbackup eranskin-soilik urruneko biltegiekin.

Eskualdeko larrialdi-zenbakiak eta agentziaren protokoloak

Ordenagailu pertsonaleko fitxategiak ustekabean ezabatzea poliziaren arazoa baino larrialdi teknikoa den arren, osasun-sistemei, udal-azpiegiturei, epaitegien babes-agindu baten araberako legezko frogak edo araututako datu pertsonalei eragiten dien ustekabeko edo asmo txarreko ezabatzeak gertakarien berri ematea derrigorrezkoa izan dezake:

  • Estatu Batuak eta Kanada:
  • Larrialdietako bizitza-segurtasuna / Azpiegitura kritikoen etenaldia: markatu 911 Sistemaren garbiketa batek ospitaleko pazienteen arretari, larrialdietarako bidalketak edo industriako segurtasun fisikoaren kontrolei eragiten badie.
  • Zibersegurtasun eta Azpiegituren Segurtasun Agentzia (CISA) (AEB): salatu azpiegitura kritikoen datuen suntsipena edo ustezko barne-sabotajea hemen 1-844-Say-CISA (1-844-729-2472) edo cisa.gov/report.
  • Kanadako Zibersegurtasun Zentroa: Harremanetarako 1-833-CYBER-88 (1-833-292-3788) azpiegitura kritikoen gertakarietarako.
  • Erresuma Batua:
  • Larrialdi Zerbitzuak: Markatu 999 (edo 101 Poliziak ez larrialdietarako salaketak egiteko, ezabatzeak baimenik gabeko ordenagailuaren erabilera okerreko 1990eko Ordenagailuaren Erabilera Okerraren Legearen arabera).
  • Informazio Komisarioaren Bulegoa (ICO): ustekabeko ezabatzeak datu pertsonalak behin betiko suntsitzen baditu babeskopia berreskuratu gabe (Erresuma Batuko GDPRren Erabilgarritasun Urrats bat da), ebaluatu ICO-ri jakinarazpena (0303 123 1113) 72 orduko epean beharrezkoa da.
  • Europar Batasuna:
  • Larrialdi Zerbitzuak: Markatu 112 EBko estatu kide guztietan.
  • GDPRren 33. artikuluaren erabilgarritasun-hausteen berri ematea: Datuak Babesteko Europako Batzordearen arabera (EDPB(DPA) 72 orduko epean.
  • Australia eta Zelanda Berria:
  • Larrialdi Zerbitzuak: Markatu 000 Australian edo 111 Zelanda Berrian.
  • Australiako Zibersegurtasun Zentroa (ACSC): Deitu1300 CYBER1 (1300 292 371) enpresetarako edo azpiegituretarako laguntzarako.
  • India eta Asia-Pazifikoa:
  • India (CERT-In / Cyber Crime Laguntza Telefono Nazionala): Markatu 112 larrialdiei erantzuteko edo 1930 ziberdelituen gertakarietarako; CERT-In aginduak estalitako enpresen gorabeherak 6 orduko epean jakinarazi behar dira incident@cert-in.org.in.

Maiz egiten diren galderak

Zergatik ez extundelete edo ext4magic aurkitu nire fitxategi-izenak ext4 ordenagailua nahiko azkar erabiltzeari utzi nion arren?

Fitxategi bat ezabatzen denean ext4, Linux kernelak berehala zeroratzen ditu diskoko inodoen taularen barneko hedadura-zuhaitz erakusleak, fitxategi-sistemak inodoak esleitutako hedadurarik ez duela jakin dezan. bezalako tresnak ext4magic eta extundelete inodo horren barruan ezabatu aurreko kopia zaharrago bat aurkitzean fidatu ext4 aldizkaria (jbd2). Fitxategia sortu eta ezabatu bazen bere inodoa berriki aldizkaritik pasatu gabe, edo atzeko planoko idazkerak 128 MB eta 1 GB bitarteko aldizkariaren eraztun-bufferra bildu bazituen irakurtzeko soilik muntatu aurretik, aldizkariaren kopia desagertu egingo da. Kasu horretan, bloke gordinaren sinadura tailara aldatu behar duzu (PhotoRec) edo testu arrunteko byte bilaketa (grep -a -b), esleitu gabeko datu-blokeak zuzenean eskaneatzen dituztenak inodo metadatuak behar izan gabe.

SSD du TRIM beti suntsitu rm -rf edo Shift+Delete fitxategiak berehala?

Ez beti, batez ere Linux eta kanpoko diskoetan. Windows 10/11 eta macOS-en barneko NVMe SSDekin, sistema eragileak normalean linean bat bidaltzen du. MOZTU / Desesleitu komandoa SSD kontroladoreari behin betiko ezabatzetik segundotan, eta horrek SSDaren Flash Translation Layer eragiten du (FTL) zeroak itzultzeko (DZAT) bloke horietarako. Hala ere, Linux banaketa gehienek (Ubuntu, Debian, Fedora, RHEL) egiten dute ez Etengabeko muntaketa-denbora gaitu baztertu lehenespenez; horren ordez, korrika egiten dute fstrim.tenporizadore astean behin. Gainera, USB-to-SATA eta USB-to-NVMe kanpoko itxitura asko ez dira pasatzen MOZTU komandoak USB biltegiratze masiboaren bidez (BOT), eta software RAID / LVM / LUKS geruzak askotan blokeatzen dira baztertu passthrough lehenespenez esplizituki konfiguratu ezean (`issue_discards = 1` edo `allow-discards`).

Zer gertatzen da nire Linux partizioa enkriptatuta badago LUKS (dm-crypt) edo nire Windows unitateak erabiltzen du BitLocker: oraindik graba ditzaket ezabatutako fitxategiak?

Bai, enkriptatutako pasaesaldia edo berreskuratzeko gakoa baldin baduzu eta edukiontzia irakurtzeko soilik moduan desblokeatzen baduzu. Inoiz ez korrika egin argazki errek, ext4magic, edo proba-disko enkriptatutako partizio fisiko gordinaren aurka (/dev/nvme0n1p2), enkriptatutako testu zifratuak ausazko zarata dirudielako. Horren ordez, abiarazi Live USB batetik, desblokeatu edukiontzia irakurtzeko modua soilik (LUKSentzat: sudo cryptsetup ireki --readonly /dev/nvme0n1p2 crypt_rescue; BitLocker-erako Linux-en: desblokeatzailea -r edo desblokeatu irakurtzeko soilik WinPEn), eta irudikatu edo eskaneatu deszifratutako mapatzaile birtualaren gailua (/dev/mapper/crypt_rescue).

Zergatik tiratzen ari da elikatze-kablea Windows-en C:\ seguruagoa ustekabe baten ondoren Shift+Delete "Itzali" sakatzea baino?

Klik egiten duzunean Hasi > Itzali Windows-en, sistema eragileak ehunka megabyte idazten ditu disko itzali aurretik: erregistroko erlauntzak garbitzen ditu, itzaltze-gertaerak idazten ditu. .evtx erregistroak, USN aldizkaria eguneratzen du ($UsnJrnl), garbitu edo tamainaz aldatzen du pagefile.sys, eta Fast Startup sistemetan gigabyte anitzeko hibernazio fitxategi bat idazten du (hiberfil.sys) zuzenean esleitu gabeko NTFS klusterren artean. Itzalitako idazketa horiek maiz gainidazten dute esleitu gabeko zehatza $MFT zurek askaturiko erregistro eta datu multzoak Maius+Ezabatu. Berehalako itzaltzea behartuz (pizteko botoia 10 segundoz eutsita edo entxufeari tiraka) idazketa guztiak berehala gelditzen dira; NTFS guztiz irakurgarria izango da irakurtzeko soilik Linux edo WinPE erreskate USB batetik abiarazten denean.

Nola berreskura dezaket ezabatutako bat .env fitxategia, SSH gakoa edo iturburu-kodearen fitxategia PhotoRec baztertu?

PhotoRec byte magiko bitar goiburuak bilatzen ditu (adibidez %PDF, PNG, edo PK ZIP/Office fitxategietarako), beraz, askotan testu arrunteko fitxategi laburrak saltatzen edo elkartzen ditu .env konfigurazioak, Python/JavaScript iturburu kodea, Markdown oharrak eta SSH gakoak. Testu arrunteko edozein fitxategi berreskuratzeko diskoko irudi edo irakurtzeko soilik den partizio batetik, exekutatu LC_ALL=C grep -a -b -C 100 "TESTU_BAKARRA_FROM_FILE" /dev/nvme0n1p2 > /dev/shm/found.txt. Edozein aldagai-izen ezagutzen baduzu (adibidez STRIPE_SECRET_KEY= edo HASI IREKITZEKO GAKO PRIBATUA), grep -a -b Sektore gordinak segundoko hainbat gigabyte eskaneatzen ditu eta inguruko disko bloke zehatzak inprimatzen ditu.

Nik ustekabean korrika egingo banu rm -rf / edo ezabatu /usr edo /lib Linux-en eta orain ere ez ls, cp, edo sudo funtzionatzen du, nola exekuta ditzaket komandoak nire terminal irekian?

Garbitu baduzu /bin edo /lib existitzen den bitartean baxa edo zsh terminala oraindik irekita dago RAMan, kanpoko bitarrak bezalakoak /bin/ls edo /bin/cp huts egingo du Ez dago horrelako fitxategi edo direktoriorik, baina shell integratuak RAM barruan guztiz funtzionatzen du. Erabili dezakezu oihartzuna * ordez ls, printf "%s\n" "$( /dev/shm/rescued ordez cp, eta echo u > /proc/sysrq-trigger (zure shell dagoeneko root bada) irakurtzeko soilik nukleoa berriro muntatzeko SystemRescue Live USB bat itzali eta abiarazi aurretik.


Erlazionatutako gidak


Iturriak eta orientabide ofiziala

  • Arau eta Teknologia Institutu Nazionala (NIST) (Estatu Batuak): * 800-86 Argitalpen Berezia: Intzidentziaren Erantzunean Forensic Techniques Integratzeko Gida eta SP 800-88 Rev. 1: Media Sanitization for Guidelines (ATA TRIM / NVMe Deallocate Behavior)*.
  • Linux Kernel Erakundea (kernel.org): Ext4 Fitxategi Sistemaren Dokumentazioa (Blokea eta Inodoen Esleipena, jbd2 Egunkaria, eta procfs /proc/<pid>/fd/ Fitxategi-deskribatzailea Semantika) eta Linux Magic System eskaera-gakoa (sysrq.txt).
  • CGSecurity (TestDisk & PhotoRec Dokumentazio Ofiziala) eta ext4magic Upstream erreferentzia eskuliburua: Journal Inode erauzketa eta esleitu gabeko hedadura taila ext3/ext4 eta NTFS bolumenetan.
  • Zibersegurtasun eta Azpiegituren Segurtasun Agentzia (CISA) (Estatu Batuak): Intzidenteen erantzuna eta auzitegiko froga lurrunkorrak/ez-hegazkorrak zaintzeko praktika onak.
  • Europar Batasuneko Zibersegurtasun Agentzia (ENISA): Forentse Digitala eta Biltegiratze Euskarriak zaintzeko Praktika Egokien Gida.