Ext2fs Undeletion mini-HOWTO  Ext2FsǤΥեˡ
**************************************************************


by Aaron Crane <aaronc@pobox.com>
v1.0, Sat Jan 18 1997
ܸ
 <kikkawa@m.u-tokyo.ac.jp>

⤯
========

0.  Ϥ
1.  ɤեä˺Ѥफ
2.  ɤΤ餤ե褵뤳ȤǤΤ
3.  Ǥϡɤäơե褵Τ
4.  ե륷ƥΥޥ
5.  iΡɤľѤ
6.  ǡ¾ξ˽񤭹
7.  ä줿 i Ρɤ򸫤Ĥ롣
8.  ܤ i ΡɤĴ٤롣
9.  ǡ֥å褵롣
10. i Ρɤľܤ롣
11. ŪˤϡȤϤäȴñˤʤΤ
12. ץưġϲ̵Τ

Ͽ
----

A.  Ǽҥޡ Colophon
B.  쥸å
C.  ʸ
D.  ˡ


0.Ϥ
==========

 mini-Howto ϡ ext2 ե륷ƥǾõեǡˤƼ
ФȤȤˤĤƥҥȤ󶡤ΤǤޤ, ǽˤϥե
ʤ褦ˤˤϤɤɤȤȤ⤢ٽ񤫤Ƥޤ

ΥɥȤϡ rm ȤäƤơäȤΤˤääƤޤ
ͤΩĤ褦˽񤭤ޤǤʤƤ⤳ΥɥȤɤ
ߤȻפޤĤ˽񤫤줿Ǵƨ뤳Ȥ
뤫Τޤ󤫤顣

ʸϡŪ Unix ե륷ƥˤĤơμꤷƤ
ۤȤɤ Linux 桼ˤǤȻפޤ⤷ʤ
ޤäν鿴ԤȤ顢 Linux ˤƥե褵ˤϡ
ʤȤ⸽ǤϡʤεŪμǦѤɬפȤȤϳФƤ


ext2 ե륷ƥफõ줿ե褵뤿ˤϡΥե
뤬äƤ raw ǥХ˥ǤʤƤϤʤޤ󡣰̤ˤϡ
 root ǤʤФʤʤȤ̣ޤޤ `e2fsprogs' ˴ޤޤ 
`debugfs' ɬפǤϡʤλȤäǥȥӥ塼
Slackware, RedHat, Debianʤɡˤ饤󥹥ȡ뤵ƤϤǤ

ɤƤʸ񤤤Τäơϡ伫Ȥ root  `rm -r' ¹
ʤɤȤޤäϼ˲ŪʤȤ򤷤Ǥ 97 Ĥ 
JPEG եäƤޤϻˤȤäƤԲķǡ褷¾ν
褵뤳ȤǤʤΤǤĤͭѤ tipsϿ B, `
쥸å'򸫤ˤ¿ʤǦѤˤäơ 91 ĤΥե̵褵
뤳ȤǤޤޤĤΥեˤĤƤϤɤˤΰ褵뤳
ȤǤޤʤξäƤ볨Ƥ򸫤ˤϽʬǤ
äĤ뤳ȤǤʤΤޤ1024 ХȰʾ
̵ʤäƤʤȤϤޤʤΰȤˤϥե
κǽʬäΤǤ⤷ JFIF եեޥåȤˤĤƲΤʤ
顢ޤäơʷ̤ϽФʤäǤ礦

ǡեΨˤĤƤε뤳Ȥˤޤ


1. ɤեä˺Ѥफ
=====================================

Linux  MS-DOG ǤϤʤȤȤϴΤäƤƤ MS-DOG
(Windowze95 ޤơˤǤϡե褵뤳ȤϡʤñˤǤޤ
֥ڥ졼ƥ󥰥ƥסʤθդ򹭤̣ǻȤäƤޤˤˤϡ
Υץư桼ƥƥĤƤޤ Linux ˤƤϤ
ޤ

Ǥϡˡ§ʺǽ̿Ǥ⤷äƤʤ͡ˤϡ

     *** Хååפ뤳 ***

Ǥɤʻ𤬤äƤ⡣伫ɤʻΤȤϻפΤǤ
⤬ʤΤǤлޤ󤬡(ǤäƤ⡢׻
Ǥ礦ˤޤȤ Linux Υ桼ʤ顢ХååץǥХ㤤˹Ԥ
ơȤХååץ塼ײ褷٤Ǥܤ
ϡ Frisch (1995) 򸫤Ƥ

ǤϡХååפʤϤɤ뤫ʤ뤤ϡХååפ
Ǥ⡧פʥǡ˴ؤ¤ϡӤᡢФƤΤϡ
ȤǤϤޤ󤫤顣

פʥեˤĤƤϡѡߥå 440 (뤤ϤʲˤˤƤ
ޤ礦ʬȤǤν񤭹ߤԵĤˤ뤳Ȥǡ'rm' õ
ǧɬפȤޤʤ 'rm -r' ǥꥫ֤˥եäȤˤϡ
ΰĤĤγǧ򤷤Ƥ顢 rm ߤƤ⤦ 'rm -rf' 
ޤɤ͡

̤ʥեˤĤƤϡԲĻǥ쥯ȥˤΥեΥϡɥ󥯤
äƤȤΤɤˡǤ˲٤ /etc/passwd äʤĤޤꡢ
ƥबȾƤޤäˤȤ륷ƥԤɤΤ褦ˤƤ뤫ʹ
ȤޤФˡϡroot ¤ǡ˼Τ褦ˤƤ
Ǥ

    # mkdir /.backup
    # ln /etc/passwd /.backup

Υե˾äȤ빽ɤǤ⤷

    # rm /etc/passwd

Ȥ顢

    # ln /.backup/passwd /etc

ȤСȤ᤻ޤ󤳤Ǥ⡢ե񤭤褦ʻ֤
ϽˤϤʤޤ󤫤顢ˤХååפäƤ

'rm'  'rm -i' Υ륨ꥢˤ뤫ƱƯ򤹤ؿˤ
˼ĥͤǤ礦ʤǡեäȤˡĤǧ
褦ˤʤޤ˸ĿŪˤϡ륽եȤפäȤưʤΤˤѤ
ʤΤǡˤϤƤޤ󡣤٤ᤫ졢ľ̤
Ȥˤʤޤʤʤ饷󥰥桼⡼ɤȤ¾ΥȤä
Ȥ¾ΥޥȤäȤʤɤϤĤ 'rm' Ϥˤ̵ΤǤ顣
ǧȤˤƤ⡢ʬʥǥ쥯ȥĥ꡼Ρ˲ˤΤ魯줿ꡢ
ե¿ä뤳ȤϽʬͤޤƱͤˡʥץ
Ȥץ 'rm' ֤뤳Ȥϡιͤ餤ȡȤƤ
ΤǤ

⤦ޤˡȤƤϡꥵǽʾõǤѥåȤ
Ǥ˴ؤƾܤ Peek, et al (1993) 򸫤Ƥ


2. ɤΤ餤ե褵뤳ȤǤΤ
===================================================

ΨϾˤޤ Linux Τ褦˹ʡޥޥ桼
ΥƥˤƤϡïǥ˽񤭹⤦ȤƤ뤫狼
ʤȤǤǤ饪ڥ졼ƥ󥰥ƥबեä褦ˤ
ϡξä줿ե뤬ѤƤ֥åϡʥեΤγʹ
ŪˤʤΤǤ( Linux ΰŪʸ§ΰǤġȤ
ϥ桼ȴǤϤʤȲꤷƤΤǤ˰Ūˡ̿Ư
Ƥޥۤɡեǽ㤯ʤޤ

ޤǥե饰ơ󤷤Ƥ뤫ɤϡե
礭ƶޤե뤬˥ե饰ơ󤷤Ƥ
ƥˤȡեΤɤ߹ळȤϡۤȤԲǽǤ礦

⤷ʤΥޥ󤬡Τ褦˥󥰥桼ΥơǤС
ʻΤʤɡޤͥåȥˤĤʤƤޤ󤱤ɡǯˤϤĤʤ
ʤˤơեäνִ֤ˤ˥ǥ򥢥Ż
򤷤ƤʤСˤΤȻ褦ΨǤȻפޤ 
94% ᤯Υե̵줵뤳ȤǤޤʤեϥХ
ʥ꡼եʤǤ衪ˤ⤷ 80% ʾ褹뤳ȤǤС빽­
󤸤ʤȻפΤǤǡǤ


3.  Ǥϡɤäơե褵Τ
================================================

§Ūˤϡraw ѡƥǥХǡ򸫤ĤФơ򥪥ڥ
ƥ󥰥ƥФơ⤦ٸ褦ˤ뤳ȤǤΤˤϴ
ŪˣĤˡޤĤϡ¸Υե륷ƥκ줿ե
 i Ρɤ򤤤äơ 'deleted' Υե饰ƤޤǡˡΤ
ˤȤξäƤ뤳ȤԤΤǤ⤦ĤˡϡäȰ
Ǥ֤ޤǡѡƥΤɤˤΤ򸫤ĤФ
ơ餷ե˽񤭽ФˡǤ

ʲ 4 Ϥ 6 ϤǤϡǡ줹ˤ٤Ȥ⤷Ƥޤ
7 Ϥ 10 ϤޤǤϡºݤˤɤΤ褦줹ΤƤޤ


4.  ե륷ƥΥޥ
==================================

ɤˡȤˤ衢õեäƤե륷ƥ򥢥
Ȥ뤳ȤϤޤޤޥȤե륷ƥǤϡɤʵ
⡢ФˤäƤϤޤ󡣤ΥƥåפϡեäƤǤ
᤯ԤʤФޤ

äȤñˡϼ̤Ǥõե뤬 /usr ѡƥˤ
Τʤ顢

    # umount /usr

¹ԤƤ /usr ˤ뤤ĤΤΤѲǽˤǤ
Ǥ顢ɤ߹ѤǺƥޥȤƤ

    # mount -o ro,remount /usr

⤷õե뤬롼ȥѡƥˤˤϡ mount  /etc/mtab
˽񤭹ޤʤ褦˥ץȤ `-n' ͿʤФʤޤ

    # mount -n -o ro,remount /

äƤƤ⡢¾Υץե륷ƥȤäƤǽϼΤƤ
ޤ󡣡ʤΤ umount Ǥ `Resource busy' Ȥ顼Ǥޤ
Τ˥եޥȥݥȤȤäƤץФƥʥ
ץब¸ߤޤ `fuser' Ǥ /usr ѡƥФƻ
ƤߤƤ

    # fuser -v -m /usr

ǡطץΥꥹȤФޤ⤷פʤΤǤʤС

    # fuser -k -v -m /usr

Τ褦ˤƥץ SIGKILL ʥץμ¤˻ʥˤ뤳Ȥ
Ǥޤ뤤ϡ

    # fuser -k -TERM -v -m /usr

Ȥơ줾Υץ SIGTERMʥץ˽λ륷ʥˤ
뤳ȤǤޤ


5.  i Ρɤľܽ񤭴
================================

ΥɥХˡϻȤʤǤ衣ΤˤϤ
ʤ٥ǥե륷ƥ򤤤󤹤ΤϡˡȤϻפޤ

ޤ¾ˤ꤬äơ줾Υեκǽ 12 ֥å
ǤݾڤϤޤ󡣤Ǥ顢⤷Ĺե줵Τ
С¾ˡȤʤƤϤʤޤ󡣡ʤ 11 򸫤ȡ
"褳줬äȴñˤʤ뤫"ȤȤˤĤɲþ󤬽񤤤Ƥޤ

⤷Ǥ⤳ˡ̵ȤפǤ顢ȤƤ raw ѡƥ
㤦ѡƥ˥ǥ᡼Ȥƥԡơ줫顢Υե
 loopback ǥХȤäƥޥȤɤȻפޤ衣Ūˤϼ
Τ褦ˤޤ

    # cp /dev/hda5 /root/working
    # mount -t ext2 -o loop /root/working /mnt

Τˤ 'mount' κǿСɬפˤʤޤʤ̵
⡢ 2.6 ʹߤ mount Ȥ٤Ǥɡʤʤ 2.6 ΥСΤ
Τϡƥ˴طХꡢ̤Υ桼 root ¤
ޤǤ᥸㡼ʥǥȥӥ塼 Debian, RedHat, Slackware 
ǤϥС 2.6 ˥åץǡȤƤޤɡ

loopback ǥХȤäƤС⤷ե륷ƥ˲Ƥޤä
ʼºݡɤ뤳ȤǤˡ⤦ raw ѡƥ󤫤饳ԡ
ФΤǤ顣


6.  ¾ν˥ǡ񤯽
============================

ɤѤΥѡƥݤʤФʤޤ󡣱ɤС
ƥˤϤĤΥѡƥ󤬤Ȼפޤ¿ʬ롼ȡ /usr /home
ʤɤǤ椫ʤɤǤϤޤ󡣤ΤΰĤ
ǥ쥯ȥäƤ

⤷ root ѡƥ󤷤̵ơ٤ƤΤΤ򤽤֤Ƥˤ
ʻ⤽ǤäȺƥѡƥ˥󥰤ޤǤϡˡȤϤä
ФǤ¿ʬѲǽ MS-DOG  Windoze ѡƥ󤬤ޤ
͡뤤 ramdisk ɥ饤Ф򥫡ͥȤ߹Ǥ뤫뤤ϥ⥸塼
ȤƻäƤޤ ramdisk Ѥˤϡʥͥ뤬 1.3.48 ⿷
ȲꤷơˡΤ褦ˤޤ

    # dd if=/dev/zero of=/dev/ram0 bs=1k count=2048
    # mke2fs -v -m 0 /dev/ram0 2048
    # mount -t ext2 /dev/ram0 /mnt

 2MB  RAM ǥܥ塼बǤơ /mnt ˥ޥȤǤޤ

ǤäȤա⤷ưŪ˥⥸塼ɤꡢɤ
Τ `kerneld' ȤäƤˤϡ RAM ǥԴȯε֤
ԡޤǤ ramdisk  unmount ƤϤޤ ⤷ unmount ȡ 
`kerneld' ϥ⥸塼򥢥ɤǤΤȻפäƤޤޤʤФ餯
ԤäƤǤˤư٤Τ褦ʤȤȡ꡼¾Υ
¾ʬ˻ȤƤޤäơ֤ϫ줵ǡ򼺤äƤ
Ȥˤʤޤ

⤷ `superfloppy' Τ褦ʥࡼХ֥֤äƤΤǤ顢
ΥѡƥξȤƤ¿ʬɤǤ⤷̵Сեåԡ
ȤʤФʤǤ礦

¾ɬפʤΤȤƤϡѡƥ֤ο椫顢ɬפʥǡɤ߽
ץǤȤʤ `dd' λŻ򤷤Ƥޤ㤨С 
800 MB ѡƥ 600 MB ܤɤ߽Ф褦ʾ硢 `dd' Ϻǽ 600 MB 
̵ϤޤɤƤɤߤˤäƤޤޤˤ֤
ФˤϤʤޤ󡣻βˡϡѡƥ֤ɤ߽Ф򤹤ץ
񤯤ȤǤ `fsgrab' Ȥ̾ΥץǤʲ 
uuencode+gzip+tar Υեǥ֤ƤޤȤ󥹥ȡ
ˡȥԡ饤ȤƤޤΤ褦ʥޥɤǤĤǼ
뤳ȤǤޤ

    $ uudecode < Ext2fs-Undeletion-mini-HOWTO
    $ gzip -dc fsgrab.tar.gz | tar xf -

:Ext2fs-Undeletion-mini-HOWTOΤȤϺɤǤե̾
     ֤Ƥ͡

begin 644 fsgrab.tar.gz
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
0EK*4I?^S]#\$XBC-`'@``$H9
`
end


ΥץϻˤȤäƤϡƯϤޤץबɤΤ褦Ư
ȻǤʤȤٹ𤷤Ƥޤ

ΥץϡޤäñưȤηѤܤץǤ
̵ݾڤǤ뤳ȤˤĤơܤˤ `COPYING' (the GNU General Public
Licence)  `No Warranty' 


7.  õ줿iΡɤ򸫤Ĥ롣
==============================

Υƥåפϡե륷ƥǡɤ i ΡɤǶ줿Ĵ
٤뤳ȤǤλŻ `debugfs' ǹԤȤǤޤե륷ƥ
äǥХ̾ˤĤ `debugfs' ΩƤ

    # debugfs /dev/hda5

⤷ i Ρɤľܽ񤭴ä顢 `-w' ץäơե륷
ƥؤν񤭹ߤĤƤ

    # debugfs -w /dev/hda5

'debugfs' ϡ줿 i Ρɤ 'lsdel' ޥɤǸĤФޤǤ
饳ޥɥץץȤ

    debugfs:  lsdel

Τ褦ϤСʬԤäƥǥ֤᤭󤷤Ƥ顢Ĺä餷
ȤߤΥڡ㡼$PAGER͡ˤ˥ѥ׽ϤޤäȤΥԡ
򲿽褫ۤΤȤ˥֤ȻפǤ礦⤷ 'less'  '-o'
ȥפơϥե̾ϤƤɤ櫓ǤʤС
ʤ餫¾ˡǽϤ褦˥󥸤ʤФʤޤ󡣰ʲƤ
Ƥ

    debugfs:  quit
    # echo lsdel | debugfs /dev/hda5 > lsdel.out

ơõ֡סѡߥåֹ桢ͭԤˤäơɤ
i ΡɤʤߤΤʤΤõʤФʤޤ󡣹ˤ 5 ʬ
˾äФǤեȤȤǸĤ뤳ȤǤ뤫Τޤ
⤷ǤʤСߤĤ֤˥ꥹȤĴ٤ʤФʤޤ

⤷ǽʤ i ΡɤΥꥹȤ˥ץȥȤɤȻפޤ衣
ڤǤ顣


8.  i Ρɤξܺ٤Ĵ٤
=======================

Debugfs Ǥ `stat' ޥɤǡ i ΡɤˤĤƤξܺ٤ץȤ뤳Ȥ
ǤޤꥹȤˤ i ΡɤФ `stat' ޥɤȤäƤߤ
㤨 i Ρֹ 148003 Ĵ٤褦Ȥ顢Τ褦ˤƤߤ


    debugfs:  stat <148003>
    inode: 148003   Type: regular    Mode:  0644   Flags: 0x0   Version: 1
    User:   503   Group:   100   Size: 6065
    File ACL: 0    Directory ACL: 0
    Links: 0   Blockcount: 12
    Fragment:  Address: 0    Number: 0    Size: 0
    ctime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    atime: 0x31a21dd1 -- Tue May 21 20:47:29 1996
    mtime: 0x313bf4d7 -- Tue Mar  5 08:01:27 1996
    dtime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    BLOCKS:
    594810 594811 594814 594815 594816 594817
    TOTAL: 6

⤷Υե줷ʤФʤˤϡκȤư
פǤ礦ΰ٤ˤ 'lsdel'  i Ρɥꥹ줵 i Ρ
ɤΥꥹȤ 'list' ˤȤȡʲΥޥɤ¹ԤƤ

    # cut -c1-6 list | grep "[0-9]" | tr -d " " > inodes

ǡꥹȤ椫ԤˤĤĤΤֹȴФ 'inodes' ˥֤
뤳ȤǤޤ塹νǤ顣줫顢

    # sed 's/^.*$/stat <\0>/' inodes | debugfs /dev/hda5 > stats

Ȥȡ 'stats' Ȥեˤ 'stat' ޥɤη̤ޤ


9.  ǡ֥å
==========================

ʬϡ˰פäꡢ뤤ϤޤäդΤޤ줵
ȤƤե礭 12 ֥åǤСǡäƤ
֥åֹ椬 i Ρ˼ƤޤĤޤꤽ i Ρɤ˴ؤ
'stat' νϤ顢֥åֹɤ߼뤳ȤǤ櫓Ǥ 'fsgrab' 
ޥɤȤäơǡϤΤϤñʻŻǤۤɤ
äơ⤦٤˼

    debugfs:  stat <148003>
    Inode: 148003   Type: regular    Mode:  0644   Flags: 0x0   Version: 1
    User:   503   Group:   100   Size: 6065
    File ACL: 0    Directory ACL: 0
    Links: 0   Blockcount: 12
    Fragment:  Address: 0    Number: 0    Size: 0
    ctime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    atime: 0x31a21dd1 -- Tue May 21 20:47:29 1996
    mtime: 0x313bf4d7 -- Tue Mar  5 08:01:27 1996
    dtime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    BLOCKS:
    594810 594811 594814 594815 594816 594817
    TOTAL: 6

Υե 6 ֥åǤǤƤޤ֤ǿե˽Ϥ
뤿ˤϡ̾ 'recovered.001' Ȥơ

    # fsgrab -c 2 -s 594810 /dev/hda5 > recovered.001
    # fsgrab -c 4 -s 594817 /dev/hda5 >> recovered.001

Τ褦ˤ뤳ȤǤ recovered.001 νʬˤ¿ߤ뤫
Τޤ󤬡ޤۤɽפǤϤʤǤ礦

󡢲ĤΥ֥å˾񤭤ƤޤäƤ뤫⤷ޤ󡣤
ʻϡ˸줿Ȥ褦ޤ͡Υ֥åϤ⤦ʱ
äƤޤ󡣡ʤä᤯ unmount ƤɤäΤˡ

ϥե뤬 12 ֥å礭ʾǤǤ Unix ե륷
ƥι¤ˤĤƤϡޤޤ󡣥եΥǡ'֥å'ȸƤ
ñ̤¸ƤޤΥ֥åϽֹ椬ĤƤޤե
Ϥޤ'i Ρ'ȤΤäƤơ owner Ȥ permission 
Ȥ type ʤɤξ¸Ƥޤ֥åƱ褦 i Ρɤ
ֹ椬ƤޤϤޤä̤¤ӤǤǥ쥯ȥꥨȥϡ
ե̾ i Ρɤֹ椫ʤäƤޤ

ѡߥåʤɤξݻƤͤˡ i ΡɤϥեΥǡ
äƤ֤ݻƤޤեƬ 12 ֥åˤĤƤϡ
äƤ֤򼨤ֹϤ i ΡɼȤ˴ޤޤƤޤ 
direct ֥åľܥ֥åˤǤ i Ρɤ 'indirect blockʴ
֥å' ʤˤɲäľܥ֥åäƤ򼨤ֹ椬Ͽ
ƤޤˤֹݻƤޤޤ i ΡɤŴܥ֥åʤϡ
ܥ֥åäƤ֤򼨤ֹ椬ϿƤޤˤֹݻ
뤳Ȥ⤢ޤŴܥ֥åʤˤϡŴܥ֥åäƤ
򼨤ֹ椬ϿƤޤˤֹݻƤ뤳Ȥ⤢ޤ

⤦ɤǤߤƤʣǤ͡Ǥ⡢פǤ⤢ΤǤ

ߤΥͥǤϡ 2.0.27 ޤǤϤǤ˻ǰʤȤ˥ե
Ȥˡܥ֥åʬ򥼥ˤƤޤ褦ˤʤäƤޤǤ 12 
֥åե뤬ĹˤϡɬפȤ֥åֹ򸫤ĤФ
ȤǤݾڤ̵ΤǤ

ޤǤΤȤ䤬ɤ夤ͣˡϡե뤬ե饰ơ
ƤʤȲꤹ뤳ȤǤե饰ơ󤷤ƤѤǤե
ܥ֥åȤäƤơե饰ơ󤷤Ƥʤ֤ϰʲ
褦ˤʤäƤޤ

    #Blocks   
    12        ǡ (ľܥ֥å)
    1         ܥ֥å
    256       ǡ (ܥ֥åΥ֥å)
    1         Ŵܥ֥å
   [1         Ŵܥ֥åˤܥ֥å
    256       ǡ
   ] (256 󷫤֤ -- Ŵܥ֥åδܥ֥åĤĤդ)
    1         Ŵܥ֥å
  [[1         Ŵܥ֥å
    256       ǡ
   ] (256 󷫤֤ -- Ŵܥ֥åˤäƻꤵ줿
                        Ŵܥ֥åδܥ֥åĤĤդġ
  ]  (256 󷫤֤ -- Ŵܥ֥åˤäƻꤵ줿
                        Ŵܥ֥åδܥ֥åĤĤդ)

狼䤹ɤΤǤɡ⤷ե뤬 268 ֥åʲǤС
ʤθߤޤ 12 ֥åΥǡ֥åʤֹ 
i ΡɼȤ˽񤤤Ƥޤˡθ˴ܥ֥åꡢʤƤ
ˤƤޤˤθˤ⤦ 256 ֥åΥǡ֥åޤ
ե뤬ʾĹǤˤϡŴܥ֥å­Ƥ
θ 256 ǡ֥åˡܥ֥åĤȡǡ֥
 256 ĲäƤ⤷ե뤬礭ʾˤϡ
ե뤬ե饰ơ󤷤ƤȻפΤǤɡƱͤʻ
礭ʥեŬˤ餫Ȼפޤ

Ǥϥ֥åȤɸŪͤǤ 1024 ХȤꤷƤ뤳Ȥ
դƤ⤷֥å礭СĤͤѤޤȤ
ƥ֥å 4 ХȤʤΤǡƴܥ֥åäƤ֥åֹοϥ
å4 ˤʤޤǤ 256 Ȥɽ˸줿顢
å4 ɤؤƤ


10. i Ρɤľ
=============================

ˡϡɽŪˤϤפˡǤˤҤ٤褦ˡ 12 ֥
ĹեˤϻȤޤ

褵褦Ȥ i Ρɤ줾ˤĤơ usage count 1 ꤷ 
deletion time  0 ꤹɬפޤ `debugfs'  `mi'
(modify inode) ޥɤǼ¹Ԥ뤳ȤǤޤ嵭 i Ρ 148003 
ѤƤν򼨤ޤ

    debugfs:  mi <148003>
                              Mode    [0100644]
                           User ID    [503]
                          Group ID    [100]
                              Size    [6065]
                     Creation time    [833201524]
                 Modification time    [832708049]
                       Access time    [826012887]
                     Deletion time    [833201524] 0
                        Link count    [0] 1
                       Block count    [12]
                        File flags    [0x0]
                         Reserved1    [0]
                          File acl    [0]
                     Directory acl    [0]
                  Fragment address    [0]
                   Fragment number    [0]
                     Fragment size    [0]
                   Direct Block #0    [594810]
                   Direct Block #1    [594811]
                   Direct Block #2    [594814]
                   Direct Block #3    [594815]
                   Direct Block #4    [594816]
                   Direct Block #5    [594817]
                   Direct Block #6    [0]
                   Direct Block #7    [0]
                   Direct Block #8    [0]
                   Direct Block #9    [0]
                  Direct Block #10    [0]
                  Direct Block #11    [0]
                    Indirect Block    [0]
             Double Indirect Block    [0]
             Triple Indirect Block    [0]

Ĥޤλ 0 ˤơ󥯥Ȥ 1 ˤ¾ΥեɤˤĤ
ϥ꥿򲡤ȤȤǤ狼ͤˡ⤷Υե
줵ʤФʤȤ빽ǤʤȤäƤ
Ȥ̵Ǥ礦äȳʹ褯ꤿ 'Recycle Bin'Τ륰ե
 'operating system'ǤȤǤ͡

[Ȥ 'mi' νϤϡ i Ρɤ 'creation time' եɤˤĤ
ϤƤޤϱǤ뤤ϤäƤθǤº
ˤ Unix ե륷ƥǤϡե뤬줿Ϥ狼ʤΤ
 `struct stat' ΥСǤ `st_ctime' ϡ i ΡɤѤä
ƤޤĤޤǸ i ΡɤΤɤѤä򼨤ƤΤǤ
ơΥåϤޤ]

䤬ȤäƤΤ⿷С debugfs ˤ˼褦ʥե
ɤΤĤ̵ʤäƤ뤫Τޤ󡣡ä `Reserved1'  
fragment եɡʤΤĤˤϡ

ö i ΡɤѤ顢 'debugfs' ȴơΤ褦ˤƤ

    # e2fsck -f /dev/hda5

͡Ωľɽ졢ɤξ㳲򼣤٤ˤĤƤμ䤬
Ǥ礦 'summary information' ˴ؤȡʤȤѤ i Ρ
ɤˤĤƤμˤ 'yes' Ƥ¾ʬˤĤƤϤʤ
ǤޤƤξ 'yes' ƤƹʤǤ礦 
'e2fsck' ä顢ե륷ƥ⤦٥ޥȤƤõ
줿ե '/lost+found' ǥ쥯ȥäƤޤʤǤ餽Υѡ
ƥ /usr ˥ޥȤˤϡ /usr/lost+found 򸫤˹ԤäƤ
ˤե i Ρɤֹˤä̾ĤƤޤ
ʤФʤȤϡƤե̾Фơե륷
ƥĥ꡼Ŭڤʾ᤹ȤǤ

ºݤˤ 'e2fsck' ȤС /lost+found ˤ줷ե֤ʤ
ǤϤޤ 'debugfs' Ȥäơ줷褦Ȥ i ΡɤФƥե
륷ƥ˥󥯤ĥ뤳ȤǤޤ i ΡɤѤ 'debugfs' 
 'link' ޥɤȤäơΤ褦ˤޤ

    debugfs:  link <148003> foo.txt

 'debugfs' ˤȤäƤΥȥǥ쥯ȥ 'foo.txt' Ȥե
뤬ޤǤʤ 'e2fsck' ¹Ԥơ summary information ȥ
åȤ䤽¾ľʤФޤ󤱤ɡ


11. Ūˤ줬äȴñˤʤ뤫
===================================

ϤºݤΤȤ⤦¸ߤϤƤޤʹȤˤȡǿγ
ȯ 2.1.x ˤƤϴܥ֥å򥼥ˤʤǤ 1996 ǯ 12 ν
ˤƤϡʻ䤬ֺǶ linux-kernel list 򤪤äƤߤȤǤˡ
 2.0.x ǥͥäơǤϥեΤȤ˴ܥ֥
򿨤餺ˤȤ褦Ȥä⤢ޤä Linus ¾Υ
ϥåãθ³顢 i Ρɤ򤤤ʤФʤ
ʬϲäǤ礦


12. ΥץưƻϤ뤫
=================================================

ʤȡΤǤǰʤȤˡƻۤɤΥޥ˥奢 i Ρɤ
ȤƱľ̤Ƥꡢܥ֥å줵뤳ȤǤʤ
ΤǤᤤ褵ͻҤʤΤǡץब
ɤʤäƤ뤫դƤΤϲͤ뤳ȤȻפޤ

ͥåȾï Scott D. Heavner  `lde' ˤĤƽҤ٤Ƥޤľ
ȤϤեμưƻȤƻȤȤϤǤޤ
ɤ餫Ȥȡե륹꡼Ǥ `debugfs' ȸäȤǤ礦
ΥפȤȤΥեõȤǤȸäħ
äƤޤޤ xia (줫ȤäƤͤޤˤ minix ե륷
ФƤƯޤ顢ǤϤ줬礭ʥ륹ݥȤȻϻפ
Ǥ
URL:
    ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/lde-2.2.tar.gz

(äȿСΤΤǽϽʬˤޤɡ-- 14
 CD-ROM ֤ǸĤΤǡ)

GNU Midnight Commander 'mc' **˼ѤˤʤΤΤ褦˻פޤϡ
ե륹꡼Υեޥ͡ȥġǡ 'NC' ȸƤФ MS-DOG 
ե륹꡼եޥ͡ȥġ˴ŤƤޤ 'mc'  Linux 
󥽡 xterm ǤΥޥ򥵥ݡȤƤꡢ tar ե
ǲŪʥե륷ƥơ cd change directoryˤ뤳
ʤɤǤ褦ˤʤäƤޤβۥե륷ƥΰĤ ext2
undeletion εǽޤȤƤȤ䤹褦ʤΤǤǰʤ
ʬȤǤϤΥץ٤ȤäȤʤΤǤ--ϡŤɤ
Υ륳ޥɤʤΤǤǤΥץ򥳥ѥ
ˤ `--with-ext2undel' Ĥ configure ¹ԤʤФޤ
ޤλˤ `e2fsprogs' դƤ볫ȯĶѥ饤֥ȥ󥯥롼ɥե
뤬ɬפˤʤޤ٥ץबǤƤޤС `cd undel:/dev/hda5' 
̿ᤷơ `directory listing' Ǿõ줿եΥꥹȤʹ
Ƥޤ

ǿγȯǤʤС¿ʬ 3.2.11 ǤͥƱ͡ȯ
СϥϥåǤʤͤˤϤǤޤʲURLΤΤɤ
ǽǤ

    ftp://sunsite.unc.edu/pub/Linux/utils/file/managers/
        (may be an older version)
    ftp://ftp.nuclecu.unam.mx/linux/local/
    ftp://ftp.nuclecu.unam.mx/linux/local/devel/
        (unsupported, developmental, alpha versions)
    ftp://ftp.cvut.cz/pub/mc/
        (European mirror of public and alpha releases)

Ƕ 3.5.x Ǥ undel ˴ؤƤ礭ʥХäȤΤȤǤΤǡ
Ǥ ftp://ftp.nuclecu.unam.mx/linux/local/devel/ ǿΤäƤ
ۤǤϤʤȤޤ

ޤʲ website ⻲ȤƤߤƲ

    http://stekt.oulu.fi/~jtklehto/mc/

ΰݤǤ 'mc' γȯԤϡθ꡼˴ؤƤȤƤⶽʳƤ
褦ǤΥСǤ¿ʬͥ¦Ǵܥ֥åˤʤäƤ
ޤʤ褦˹̤ͤȿǤ뤳ȤˤʤꤽǤ


A.  Colophon((ܤؤɽˤĤ)Ǽҥޡ)
==================================================

ϻ֤ε¤ȡ̣Ȥ¤ꡢʸŪ˲Ƥ
ȻפäƤޤĤޤꡢȤƤɼԤΰոʹȤ
ȤǤäȤ狼䤹񤱤ʤäơ⤦ñˤǤʤäơ
ư뿷ġϲ̵äơïJFK򻦤äơ

ʤǤ⹽ޤ󡣤⤷ʸ˴ؤƤȤΤۤλ˴ؤƲո
ޤ顢 <aaronc@pobox.com> ˰(:ܸ˴
㤤狼ˤʤɤޤ kikkawa@m.u-tokyo.ac.jp ޤǤ



B.  ռ
===========

    "If I have seen farther than others, it is because I was standing
    on the shoulders of giants."
                    -- å˥塼ȥ
ʤ⤷˻䤬¾οͤ⽨ǤƤȤƤ⡢
        䤬ͤθΩäƤȤλǤ롣

 mini-Howto ʬ comp.os.linux.misc  Robin Glover
<swrglovr@met.rdg.ac.uk> ƤΤƤޤˤ⤽Υ
ǥ򤳤 mini-Howto ˽ľȤĤƤä Robin ˤ
夲ޤ


C.  ʸ
================

Frisch, leen (1995), `Essential System Administration', second edition,
    O'Reilly and Associates, Inc., ISBN: 1-56592-127-5.

Glover, Robin (31 Jan 1996), `HOW-TO : undelete linux files
    (ext2fs/debugfs)', comp.os.linux.misc Usenet posting.

Peek, Jerry, Tim O'Reilly, Mike Loukides et al (1993), `Unix Power Tools',
    O'Reilly and Associates, Inc./Random House, Inc., ISBN: 0-679-79073-X.


D.  ˡ
==========

MS-DOG  Windozeϥȥ졼ɥޡǤϤޤ󡣤̾˻Ѥʤ
뤫⤷ޤ󤱤ɡϤޤäζǤ

Unix ϾɸǤϤޤ󡣾ɸǤʤʤäƤ餹Ǥλ֤Ф
ƤޤܤФޤƲ֤ι̣äƲ

'Linux' Ȥ̾Υȥ졼ɥޡȤƤθˤĤƤϡ۸Τˤäƶ
ƤȤǡ˿ Walter R. Della Croce ñФ
̵ʥȥ졼ɥޡϿԤä٤ǤϤ̾ͥåȻ̱
θ⻺Ȥưʳ̾Ȥ¸ߤǧ뤳ȤǸǤȤǧޤ
⤷ Linus  Linux ȥ졼ɥޡȤȤΤǤСʬȤǤ
ƤǤ礦(Ϥɤ褷褦Ǥܤϡ
http://www.iplawyers.com/text/linux.htm )

ΥɥȤ Aaron Crane <aaronc@pobox.com>1997 ǯˤˤ
ΤޤޤηǡɽʤɤޤǤмͳή̤Ƥäƹ
ޤ󤬡Ԥ Linux ɥơץȤΥǥ͡
̵˲Ѥ뤳ȤϤǤޤ󡣰Ѥϡɾΰ٤ѤΤ
礽Τޤޤ˥ԡΤǤǧޤΤ褦ʾˤϡ
줾ξϤŬʰѤȤȤ˻ȤäƤɽɬפ


ԤϤΥɥȤΥԡ䤹ԤФƤϡΥɥȤ
ԥ塼ɤळȤΤǤǥηǤηǤȯŪ
Ԥ Linux HOWTO ǥ͡Τ餻Ƥ褦ꤤޤ
ɬ׵Ϥޤ

:ʸ⤽Τޤ޺ܤƤޤ
This document is Copyright  1997 Aaron Crane <aaronc@pobox.com>.  It may
be freely redistributed in its entirety, including the whole of this
copyright notice, but may not changed without permission from the author or
from the Linux Documentation Project Co-ordinator.  Dispensation is granted
for copying small verbatim portions for the purposes of reviews or for
quoting: in these circumstances, sections may be reproduced in the presence
of an appropriate citation but without this copyright notice.

The author requests but does not require that parties intending to sell
copies of this document, whether on computer-readable media or on paper,
inform him or the Linux HOWTO Co-ordinator of their intentions.

Linux HOWTO Υǥ͡ Greg Hankins  <gregh@sunsite.unc.edu> Ǥ

ޤFAQκˤꡢ硢ë 
      Ϥޤ

