Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ВосстановлСниС Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 49

Автор ΠšΡ€ΠΈΡ ΠšΠ°ΡΠΏΠ΅Ρ€ΡΠΊΠΈ

Π’ самом индСксном дСскрипторС ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Ρ‚ΠΎΠΆΠ΅ происходят большиС измСнСния. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ссылок (i_links_count) обнуляСтся ΠΈ обновляСтся ΠΏΠΎΠ»Π΅ послСднСго удалСния (i_dtime). ВсС Π±Π»ΠΎΠΊΠΈ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρƒ, Π² ΠΊΠ°Ρ€Ρ‚Π΅ свободного пространства (block bitmap) ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅, послС Ρ‡Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ inode Ρ‚Π°ΠΊΠΆΠ΅ освобоТдаСтся (обновляСтся inode bitmap).

Π’Π΅Ρ…Π½ΠΈΠΊΠ° восстановлСния ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ ext2fs ΠΏΠΎΠ»Π½ΠΎΠ΅ восстановлСниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Ссли эти Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹. Π’ этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ данная файловая систСма ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ FAT, Ρ‚Π°ΠΊ ΠΈ NTFS. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, тСряСтся имя Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΡ‡Π½Π΅Π΅ говоря, тСряСтся связь ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΈΡ… содСрТимым. ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ нСбольшого количСства Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстных Ρ„Π°ΠΉΠ»ΠΎΠ² эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° остаСтся Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ. Однако ситуация ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ослоТняСтся, Ссли Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ нСсколько слуТСбных ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½Π΅Π΅ Π½Π΅ заглядывали.

Достаточно часто индСксныС дСскрипторы Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Благодаря Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² (.c, .gz, .mpg, ΠΈ Ρ‚.Π΄.) количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ соотвСтствий ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ оказываСтся ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшим. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ удастся (Π° Π²ΠΎΡ‚ NTFS с этим справляСтся Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π°).

Π’ Ρ†Π΅Π»ΠΎΠΌ, стратСгия восстановлСния выглядит ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ: сканируСм Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ индСксных дСскрипторов (inode table) ΠΈ ΠΎΡ‚Π±ΠΈΡ€Π°Π΅ΠΌ всС записи, Ρ‡ΡŒΠ΅ ΠΏΠΎΠ»Π΅ i_links_count Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡ… ΠΏΠΎ Π΄Π°Ρ‚Π΅ удалСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ послСдними, оказались Π² Π²Π΅Ρ€Ρ…Π½ΠΈΡ… позициях списка. Как Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎΠ΅ врСмя удалСния Ρ„Π°ΠΉΠ»Π°, ΠΌΠΎΠΆΠ½ΠΎ просто Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€. Если ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ индСксныС дСскрипторы Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Ρ‚Π΅Ρ€Ρ‚Ρ‹ вновь создаваСмыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ список прямых/косвСнных Π±Π»ΠΎΠΊΠΎΠ² ΠΈ записываСм ΠΈΡ… Π² Π΄Π°ΠΌΠΏ, коррСктируя Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ "логичСского" Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅ i_size.

ВосстановлСниС ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Lde

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ копию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ lde my_dump ΠΈΠ»ΠΈ lde /dev/sdb1. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ автоматичСски опрСдСляСт Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС β€” ext2fs) ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ для продолТСния. Lde автоматичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌ отобраТСния супСрблока ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <I> для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌ inode ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <Π’> β€” для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ (block-mode). НаТмитС ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <I>, ΠΈ Π²Ρ‹ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ индСксном дСскрипторС, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. НаТатиС клавиши <Page Down> ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ нас ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ inode, Π° Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши <Page Up>, β€” соотвСтствСнно, ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ. ΠŸΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Π΅ΠΌ список индСксных дСскрипторов Π²Π½ΠΈΠ·, обращая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ LINKS. Π£ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² это ΠΏΠΎΠ»Π΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ DELETION TIME содСрТит врСмя послСднСго удалСния. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ² подходящий inode ΠΏΠΎ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ удалСния, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ курсор ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ Π² спискС DIRECT BLOCKS (Π³Π΄Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <F2>. Π’ появившСмся мСню Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Block mode, viewing block under cursor (ΠΈΠ»ΠΈ сразу Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ <Shift>+<B>). Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ пСрСмСщаСтся Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ Π΅Π³ΠΎ содСрТимоС Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, пытаСмся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‚ΠΎΡ‚ Π»ΠΈ это Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Если Π²Ρ‹ нашли ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌΠ΅Ρ€Π΅Π²Π°Π»ΠΈΡΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ для Π΅Π³ΠΎ восстановлСния ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ <Shift>+<R>, Π·Π°Ρ‚Π΅ΠΌ β€” ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <R>, ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°ΠΌΠΏ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ просмотру ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ inode, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <I>.

МоТно Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠΎ ΠΈΡ… содСрТимому. НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ извСстно, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» содСрТит строку hello, world. НаТимаСм <f>, Π·Π°Ρ‚Π΅ΠΌ β€” ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <A> (Search all block). Π­Ρ‚ΠΈΠΌ ΠΌΡ‹ заставляСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΡΠΊΠ°Ρ‚ΡŒ ссылки Π½Π° всС Π±Π»ΠΎΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅. Как Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ --all. Но, Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <Π’>, ΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ </> ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΈΡΠΊΠΎΠΌΡƒΡŽ строку Π² ASCII. Находим Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ Π΅Π³ΠΎ Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ·, убСТдаСмся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ‚ΠΎΠΌΡƒ самому Ρ„Π°ΠΉΠ»Ρƒ. Если это Ρ‚Π°ΠΊ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ <Ctrl>+<R>, давая Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ всС индСксныС дСскрипторы, содСрТащиС ссылку Π½Π° этот Π±Π»ΠΎΠΊ. НомСр Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ inode отобраТаСтся Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

НомСр Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ inode отобраТаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части отобраТаСтся Π½ΠΎΠΌΠ΅Ρ€ послСднСго просмотрСнного inode Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ inode.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ inode Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши <I>, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <#> ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ inode, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. Если Π΄Π°Ρ‚Π° удалСния Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ соотвСтствуСт Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ <Shift>+<R>/<R> для сброса Ρ„Π°ΠΉΠ»Π° Π½Π° диск. Если Π½Π΅Ρ‚ β€” возвращаСмся Π² Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ поиск.

Π’ слоТных случаях, ΠΊΠΎΠ³Π΄Π° список прямых ΠΈ/ΠΈΠ»ΠΈ косвСнных Π±Π»ΠΎΠΊΠΎΠ² Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½, восстанавливаСмый Ρ„Π°ΠΉΠ» приходится ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎ кусочкам, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Π΅Π³ΠΎ содСрТимом ΠΈ частично β€” Π½Π° стратСгии выдСлСния свободного пространства Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. Π’ этом Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ клавиша <w>, Π΄Π°ΡŽΡ‰Π°Ρ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ-Π΄Π°ΠΌΠΏΡƒ. Π’ процСссС восстановлСния ΠΌΡ‹ просто ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ всС свободныС Π±Π»ΠΎΠΊΠΈ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ (Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΈΡ… строкой NOT USED) ΠΈ, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ² подходящий, дописываСм Π² Ρ„Π°ΠΉΠ». ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сильно Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½ΠΎ Π²ΠΎΡ‚ восстановлСниС листинга ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” Π²ΠΏΠΎΠ»Π½Π΅ рСалистичная Π·Π°Π΄Π°Ρ‡Π°.

На основании Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ восстановлСниС Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lde ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎ. Однако ΠΏΡ€ΠΈ этом Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ "ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ" ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ. Π§Ρ‚ΠΎ касаСтся восстановлСния ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы debugfs.

ВосстановлСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы debugfs

Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΈΠ»ΠΈ Π΅Π³ΠΎ копию. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ debugfs /dev/sdb1 ΠΈΠ»ΠΈ debugfs my_dump соотвСтствСнно. Если ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ запись Π½Π° диск, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ -w: debugfs -w my_dump ΠΈΠ»ΠΈ debugfs -w /dev/sdb1.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ lsdel (ΠΈΠ»ΠΈ lsdel t_sec, Π³Π΄Π΅ t_sec β€” количСство сСкунд, ΠΈΡΡ‚Π΅ΠΊΡˆΠΈΡ… с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° удалСния Ρ„Π°ΠΉΠ»Π°). На экранС появится список ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (разумССтся, Π±Π΅Π· ΠΈΠΌΠ΅Π½). Π€Π°ΠΉΠ»Ρ‹, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ t_sec сСкунд Π½Π°Π·Π°Π΄ (Ссли эта опция Π·Π°Π΄Π°Π½Π°), Π² Π΄Π°Π½Π½Ρ‹ΠΉ список Π½Π΅ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚.

Команда cat <N> Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС тСкстового Ρ„Π°ΠΉΠ»Π° Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π—Π΄Π΅ΡΡŒ <N> β€” Π½ΠΎΠΌΠ΅Ρ€ inode, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки. ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ смысл ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π½Π° экранС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π² Π΄Π°ΠΌΠΏ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ dump <N> new_filΠ΅_name, Π³Π΄Π΅ new_file_name β€” Π½ΠΎΠ²ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° (с ΠΏΡƒΡ‚Π΅ΠΌ), ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ записан Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму, ΠΈΠ·-ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ debugfs. Ѐайловая систСма восстанавливаСмого Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΡ€ΠΈ этом остаСтся нСприкосновСнной. Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π° --w.

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» нСпосрСдствСнно Π½Π° самой восстанавливаСмой Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС (Ρ‡Ρ‚ΠΎ особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ восстановлСнии Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²). Π’ этом Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° undel <N> undel_file_name, Π³Π΄Π΅ undel_file_name β€” имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Ρ„Π°ΠΉΠ»Ρƒ послС восстановлСния.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

Выполняя Ρ‚Π°ΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° undel ΠΊΡ€Π°ΠΉΠ½Π΅ агрСссивна ΠΈ дСструктивна ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅. Она Π·Π°Ρ‚ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ запись Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², дСлая восстановлСниС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ.

Команда stat <N> ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ содСрТимоС inode Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° mi <N> позволяСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Для Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ восстановлСния Ρ„Π°ΠΉΠ»Π° (ΠΎΡ‚ΠΊΡ€ΠΎΠ²Π΅Π½Π½ΠΎ говоря, этого Π½Π΅ поТСлаСшь ΠΈ Π²Ρ€Π°Π³Ρƒ) ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ счСтчик ссылок (link count) Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π° врСмя удалСния (deletion time), Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π² ноль. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ seti <N>, ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Π΄Π°Π½Π½Ρ‹ΠΉ inode ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² Ρ„Π°ΠΉΠ»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ setb X, Π³Π΄Π΅ X β€” Π½ΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°.

Π‘ΠΎΠ²Π΅Ρ‚

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π±Π»ΠΎΠΊΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ stat. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ lde, ΠΎΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСпосрСдствСнныС, Π½ΠΎ ΠΈ косвСнныС Π±Π»ΠΎΠΊΠΈ, Ρ‡Ρ‚ΠΎ нСсравнСнно ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρƒ имя, Ρ‡Ρ‚ΠΎ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ создания ссылки Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (directory link). Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ln <N> undel_file_name, Π³Π΄Π΅ undel_file_name β€” имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π½ΠΎ Ρ„Π°ΠΉΠ»Ρƒ послС восстановлСния (ΠΏΡ€ΠΈ нСобходимости имя восстанавливаСмого Ρ„Π°ΠΉΠ»Π° указываСтся с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ).