সম্প্রতি, আমার বাহ্যিক হার্ড ড্রাইভের ঘেরটি ব্যর্থ হয়েছে (হার্ডড্রাইভ নিজেই অন্য একটি ঘেরে শক্তিশালী হয়)। যাইহোক, ফলস্বরূপ, এটি প্রদর্শিত হয় এটির EXT4 ফাইল সিস্টেমটি দূষিত।
ড্রাইভে একটি একক পার্টিশন রয়েছে এবং এটি জিপিটি পার্টিশন টেবিল ব্যবহার করে (লেবেল সহ ears
)।
fdisk -l /dev/sdb
শো:
Device Boot Start End Blocks Id System
/dev/sdb1 1 1953525167 976762583+ ee GPT
testdisk
পার্টিশনটি অক্ষত রয়েছে:
1 P MS Data 2049 1953524952 1953522904 [ears]
... তবে পার্টিশনটি মাউন্ট করতে ব্যর্থ হয়েছে:
$ sudo mount /dev/sdb1 a
mount: you must specify the filesystem type
$ sudo mount -t ext4 /dev/sdb1 a
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
fsck
একটি অবৈধ সুপারব্লক রিপোর্ট করেছে:
$ sudo fsck.ext4 /dev/sdb1
e2fsck 1.42 (29-Nov-2011)
fsck.ext4: Superblock invalid, trying backup blocks...
fsck.ext4: Bad magic number in super-block while trying to open /dev/sdb1
এবং e2fsck
একটি অনুরূপ ত্রুটি রিপোর্ট:
$ sudo e2fsck /dev/sdb1
Password:
e2fsck 1.42 (29-Nov-2011)
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/sdb1
dumpe2fs
এছাড়াও:
$ sudo dumpe2fs /dev/sdb1
dumpe2fs 1.42 (29-Nov-2011)
dumpe2fs: Bad magic number in super-block while trying to open /dev/sdb1
mke2fs -n
(দ্রষ্টব্য, -n
) সুপারব্লকগুলি প্রদান করে:
$ sudo mke2fs -n /dev/sdb1
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61054976 inodes, 244190363 blocks
12209518 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
7453 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
... তবে প্রতিটি ব্লকের জন্য "e2fsck -b [block]" চেষ্টা করা ব্যর্থ:
$ sudo e2fsck -b 71663616 /dev/sdb1
e2fsck 1.42 (29-Nov-2011)
e2fsck: Invalid argument while trying to open /dev/sdb1
তবে আমি যেমন বুঝতে পেরেছি, ফাইল সিস্টেম তৈরি করার সময় এগুলিই সুপারব্লকগুলি ছিল, যার অর্থ এই নয় যে তারা এখনও অক্ষত রয়েছে।
কেউ যদি লগটি ডিক্রিফার করতে পারে তবে আমি testdisk
গভীর অনুসন্ধানও চালিয়েছি। এটিতে অনেকগুলি প্রবেশের উল্লেখ রয়েছে:
recover_EXT2: s_block_group_nr=1/7452, s_mnt_count=6/20,
s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 244190363
recover_EXT2: part_size 1953522904
recover_EXT2: "e2fsck -b 32768 -B 4096 device" may be needed
এই মানগুলির সাথে e2fsck চালনা দেয়:
e2fsck: Bad magic number in super-block while trying to open /dev/sdb1
আমি সমস্ত সুপারব্লক সহ এটি চেষ্টা করেছি testdisk.log
for i in $(grep e2fsck testdisk.log | uniq | cut -d " " -f 4); do
sudo e2fsck -b $i -B 4096 /dev/sdb1
done
... সব একই e2fsck
ত্রুটি বার্তা সহ।
আমার শেষ প্রয়াসে, আমি বিভিন্ন ফাইল সিস্টেম অফসেট চেষ্টা করেছি। প্রতিটি অফসেটের জন্য i
, যেখানে i
31744, 32768, 1048064, 1049088 এর মধ্যে একটি:
$ sudo losetup -v -o $i /dev/loop0 /dev/sdb
... এবং দৌড়ে testdisk /dev/loop0
, আমি আকর্ষণীয় কিছু পাই নি।
আমি মোটামুটি ক্লান্তিকর হয়েছি, তবে নিম্ন-স্তরের ফাইল পুনরুদ্ধারের সরঞ্জামগুলি ( / ) অবলম্বন না করে ফাইল সিস্টেম পুনরুদ্ধার করার কোনও উপায় আছে কি?foremost
photorec
testdisk
উপরে উল্লিখিত হিসাবে, লেখকের পরামর্শ অনুসরণ করে আমি বিভিন্ন অফসেট ব্যবহার করে চেষ্টা করেছি losetup
( i * 512
যেখানে i
62, 64, 2047 বা 2049 এর মধ্যে একটিও রয়েছে)।
sudo fdisk -l /dev/sdb
দেখায়?