Гаразд, це здається, що у вас зіпсований MFT. На більшості жорстких дисків перший розділ NTFS починається або в секторі 63, або в секторі 2048. Оскільки у вас проблема з вірусом, я не можу пообіцяти, що дані на цих компенсаціях будуть виглядати саме так.
Те, що ви шукаєте, - це звичайний рядок "NTFS", розташований на 4-му байті на початку сектора.
Випустіть наступне з кореневої оболонки під Linux:
hexdump -C /dev/sd{your drive letter} | less
наступний безпосередньо введіть наступне:
/NTFS<Enter>
де <Enter>
буквально натискати клавішу Enter.
Ви маєте перейти до першої інстанції NTFS, яка має виглядати приблизно так:
00012000 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....|
00012010 00 00 00 00 00 f8 00 00 3f 00 ff 00 3f 00 00 00 |........?...?...|
00012020 00 00 00 00 80 00 80 00 d8 a6 3f 01 00 00 00 00 |..........?.....|
00012030 00 00 0c 00 00 00 00 00 6d fa 13 00 00 00 00 00 |........m.......|
00012040 f6 00 00 00 01 00 00 00 ad 86 66 60 c8 66 60 7e |..........f`.f`~|
00012050 00 00 00 00 fa 33 c0 8e d0 bc 00 7c fb b8 c0 07 |.....3.....|....|
00012060 8e d8 e8 16 00 b8 00 0d 8e c0 33 db c6 06 0e 00 |..........3.....|
00012070 10 e8 53 00 68 00 0d 68 6a 02 cb 8a 16 24 00 b4 |..S.h..hj....$..|
00012080 08 cd 13 73 05 b9 ff ff 8a f1 66 0f b6 c6 40 66 |...s......f...@f|
00012090 0f b6 d1 80 e2 3f f7 e2 86 cd c0 ed 06 41 66 0f |.....?.......Af.|
000120a0 b7 c9 66 f7 e1 66 a3 20 00 c3 b4 41 bb aa 55 8a |..f..f. ...A..U.|
000120b0 16 24 00 cd 13 72 0f 81 fb 55 aa 75 09 f6 c1 01 |.$...r...U.u....|
000120c0 74 04 fe 06 14 00 c3 66 60 1e 06 66 a1 10 00 66 |t......f`..f...f|
000120d0 03 06 1c 00 66 3b 06 20 00 0f 82 3a 00 1e 66 6a |....f;. ...:..fj|
000120e0 00 66 50 06 53 66 68 10 00 01 00 80 3e 14 00 00 |.fP.Sfh.....>...|
000120f0 0f 85 0c 00 e8 b3 ff 80 3e 14 00 00 0f 84 61 00 |........>.....a.|
00012100 b4 42 8a 16 24 00 16 1f 8b f4 cd 13 66 58 5b 07 |.B..$.......fX[.|
00012110 66 58 66 58 1f eb 2d 66 33 d2 66 0f b7 0e 18 00 |fXfX..-f3.f.....|
00012120 66 f7 f1 fe c2 8a ca 66 8b d0 66 c1 ea 10 f7 36 |f......f..f....6|
00012130 1a 00 86 d6 8a 16 24 00 8a e8 c0 e4 06 0a cc b8 |......$.........|
00012140 01 02 cd 13 0f 82 19 00 8c c0 05 20 00 8e c0 66 |........... ...f|
00012150 ff 06 10 00 ff 0e 0e 00 0f 85 6f ff 07 1f 66 61 |..........o...fa|
00012160 c3 a0 f8 01 e8 09 00 a0 fb 01 e8 03 00 fb eb fe |................|
00012170 b4 01 8b f0 ac 3c 00 74 09 b4 0e bb 07 00 cd 10 |.....<.t........|
00012180 eb f2 c3 0d 0a 41 20 64 69 73 6b 20 72 65 61 64 |.....A disk read|
00012190 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 00 | error occurred.|
000121a0 0d 0a 4e 54 4c 44 52 20 69 73 20 6d 69 73 73 69 |..NTLDR is missi|
000121b0 6e 67 00 0d 0a 4e 54 4c 44 52 20 69 73 20 63 6f |ng...NTLDR is co|
000121c0 6d 70 72 65 73 73 65 64 00 0d 0a 50 72 65 73 73 |mpressed...Press|
000121d0 20 43 74 72 6c 2b 41 6c 74 2b 44 65 6c 20 74 6f | Ctrl+Alt+Del to|
000121e0 20 72 65 73 74 61 72 74 0d 0a 00 00 00 00 00 00 | restart........|
000121f0 00 00 00 00 00 00 00 00 83 a0 b3 c9 00 00 55 aa |..............U.|
Єдиними речами, які гарантуються специфікацією, є однакові - кінцева позначка 55 aa
в кінці сектору, а рядок ідентифікатора NTFS "NTFS" з наступними 4 пробілами
Перші 3 байти зазвичай задаються інструкцією переходу x86, тому вони зазвичай починаються з eb 52
шістнадцяткових байтів. Решта цього сектора - це інформація про розділи (біля початку) та код (наприкінці, якщо на вашому комп’ютері є вірус, це, ймовірно, було змінено.)
Що вам потрібно зробити, це перетворити шістнадцятковий зсув, який менше дає вам (у даному випадку 12000
) десяткові, а потім розділити на 512, щоб отримати номер сектора.
Знову ж таки, найбільш нормальні значення для сектора, з якого починається NTFS, є 63
і 2048
. Це відповідає 00007e00
і 00100000
для зміщення байтів.
Після того, як ви знайдете свій секторний зсув, ви зможете встановити петлю розділу через linux, видавши з кореневої оболонки наступне:
mount -o loop,offset=$[512*63] /dev/sd{whatever drive it is} /mnt/point
Де 63
фактичний номер сектору та /mnt/point
каталог, який існує ( /mnt/point
існує за замовчуванням у деяких дистрибутивах.)
Якщо ви не знаєте, який саме диск, це можна дізнатися, виконуючи fdisk -l
як root.
Якщо вашого каталогу не існує, ви можете створити його за допомогою mkdir -p /full/path/to/directory
Крім того, ви можете використовувати testdisk
для відновлення MFT або просто копіювати файли з розділу NTFS. Він розташований тут, і це безкоштовне завантаження, і він вже знаходиться в менеджері пакетів деяких більш популярних дистрибутивів Linux.
http://www.cgsecurity.org/wiki/TestDisk