私のDebianサーバーのext4パーティションが壊れています。サーバーの稼働時間は約1700日でした。残念ながら、UPSには終日停電に耐えるのに十分なバッテリーがありませんでした。
私はそこでDebian sidを実行していて(あまりにも愚かで)、systemdが登場する頃にapt-get dist-upgradeを停止しました。 (もっと愚かだ)
停電後、システム緊急モードで起動しましたが、ドライブをまったくマウントできませんでした。 (/dev/sdb1 が見つかりません)。問題が解決するかどうかを確認するためにapt-get dist-upgradeを試しましたが、しばらくすると失敗し、再起動後にsystemdが失敗したため、もうログインできませんでした。しばらくすると、起動メニューでsysvinitを見つけてLinuxで起動できました。 (これを最初にしなければならなかったのに!www)
破損したパーティションは750 GBのハードドライブにあり、/ homeに使用されます。使用されたスペースは約100 GBでなければなりませんが、968 MBと報告されています。
どういうわけか /(/dev/sda1) のルートディレクトリ構造が /home(/dev/sdc1) にコピーされました。 ???
root@server:/home# ls -lah
ls: cannot access 'run': Input/output error
ls: cannot access 'sys': Input/output error
ls: cannot access 'etc': Input/output error
total 92K
drwxr-xr-x 23 root root 4.0K Jan 14 2013 .
drwxr-xr-x 23 root root 4.0K Feb 11 14:23 ..
drwxr-xr-x 2 user2 user2 4.0K Nov 2 2010 bin
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 boot
drwxrwxr-x 3 user2 user2 4.0K Aug 19 2005 dev
d????????? ? ? ? ? ? etc
drwxr-xr-x 2 user1 user1 4.0K Jan 15 2013 home
lrwxrwxrwx 1 root root 30 Jan 3 2013 initrd.img -> /boot/initrd.img-3.2.0-4-amd64
drwxr-xr-x 14 root root 4.0K Jan 9 2013 lib
drwxr-xr-x 2 root root 4.0K Jan 3 2013 lib64
drwx------ 2 root root 16K Jan 3 2013 lost+found
drwxr-xr-x 2 user1 user1 4.0K May 31 2010 media
drwxr-xr-x 6 user1 user1 4.0K Jan 15 2013 mnt
drwxr-xr-x 2 user1 user1 4.0K Feb 5 2006 opt
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 proc
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 root
d????????? ? ? ? ? ? run
drwxr-xr-x 4 user3 user3 4.0K Mar 26 2013 sbin
drwxr-xr-x 2 user1 user1 4.0K Jan 15 2013 selinux
drwxr-xr-x 2 user1 user1 4.0K Feb 3 2013 srv
d????????? ? ? ? ? ? sys
drwxr-xr-x 3 user4 user4 4.0K Nov 27 23:05 tmp
drwx------ 2 user5 user5 4.0K Aug 17 2009 usr
drwx--x--x 13 user2 user2 4.0K Jan 12 2012 var
lrwxrwxrwx 1 root root 26 Jan 3 2013 vmlinuz -> boot/vmlinuz-3.2.0-4-amd64
(ユーザー名が変更されました)
これは /(/dev/sda1) と同じように見えます。
ただし、これらのフォルダ内のファイルは元の場所にあってはいけませんが、読み取ることはできます。たとえば、 "opt"の中には、私のユーザーディレクトリのどこかにjpegがあります。 "var"の中には、1人のユーザーのファイルとフォルダがほとんどそのまま存在し、正しいディレクトリ構造とファイル名がありますが、少なくとも1つの場所にファイルがありません。
パーティションのddコピーを別のハードドライブに作成してfsckingを試みました。 "無効なファイルシステムタイプ、無効なオプション、/dev/sdc1のスーパーブロックエラー、コードページ、ヘルパーの欠落、またはその他のエラー。"
どのようにこのようなことが起こったのか、どのように解決すべきか全く分からないし、その可能性についても大きな期待をしません。これは私がLinuxで見たものの中で最も奇妙なことであり、そのようなことがどのように起こったのかを最も知りたいのです。私のすべてのファイルを回復することができれば本当に幸せになると思います!
私はPhotoRecについて知っていて、元のディレクトリ構造を回復できない場合はそれを使用する予定です。
ベストアンサー1
dd
まず、バックアップgddrescue
またはその他のイメージングユーティリティ(動作する可能性があります)を使用してパーティションのコピーを作成しますcp
。
これがv3.22013 カーネルの場合は、最新の展開/カーネルから再起動し、fsck
影響を受けるパーティションで最新バージョンを実行してみてください。最新のディストリビューション用のファイルユーティリティは次のとおりです。5年間のバグ修正と改善、これは役に立ちます。