История такова.
Имеется дохлый диск на 250 гигов. При обращении к нему - жосткие маты на тему битых секторов.
Возникла мысль скопировать его на локальную систему и курочить локально, но.
ось gentoo 2.6.24-gentoo-r8
Хард:
Model Family: Maxtor MaXLine Plus II
Device Model: Maxtor 7Y250P0
User Capacity: 251000193024 bytes
-----
fs ~ # fdisk -lu /dev/hdcДиск /dev/hdc: 251.0 ГБ, 251000193024 байт
255 heads, 63 sectors/track, 30515 cylinders, всего 490234752 секторов
Units = секторы of 1 * 512 = 512 bytes
Disk identifier: 0x5f8f3408
Устр-во Загр Начало Конец Блоки Id Система
/dev/hdc1 16065 490223474 245103705 f W95 расшир. (LBA)
/dev/hdc5 16128 490223474 245103673+ 7 HPFS/NTFS
-----
Снимал образ так:
dd if=/dev/hdc of=/mnt/disk2/hdd200.img conv=sync,noerror bs=64k
dd if=/dev/hdc of=/mnt/disk2/hdd200.img conv=sync,noerror seek=490233728 skip=490233728 bs=512
Вторая команда нужна была для того чтоб докачать оставшиеся байты.
В итоге получился такой файлик:
-----
-rw-r--r-- 1 root root 251000193024 Июн 9 22:54 /mnt/disk2/hdd200.img
-----
Файл является образом всего диска а не только раздела с ntfs, поэтому вычисляем offset.
Он равен 16128*512=8257536байт (начало раздела ntfs)
Пытаемся смотрировать его:
-----
fs ~ # mount -t ntfs -o loop,ro,offset=$((512*16128)) /mnt/disk2/hdd200.img /mnt/loop/
mount: wrong fs type, bad option, bad superblock on /dev/loop2,
missing codepage or helper program, or other error
В некоторых случаях полезная информация может быть
найдена в syslog - попробуйте dmesg | tail или что-то
в этом роде
-----
Для проверки делаем то же самое на живом диске:
-----
fs ~ # mount -t ntfs -o loop,ro,offset=$((512*16128)) /dev/hdc /mnt/loop/
fs ~ # umount /mnt/loop/
-----
Монтируется о_О
Сравниваем несколько первых байт образа и диска:
-----
fs ~ # dd if=/dev/hdc count=$((16128+100000)) > /tmp/1
116128+0 записей считано
116128+0 записей написано
скопировано 59457536 байт (59 MB), 1,80629 c, 32,9 MB/c
fs ~ # dd if=/mnt/disk2/hdd200.img count=$((16128+100000)) > /tmp/2
116128+0 записей считано
116128+0 записей написано
скопировано 59457536 байт (59 MB), 0,963791 c, 61,7 MB/c
fs ~ #
-----
Сравниваем md5 сумму
-----
fs ~ # md5sum /tmp/2
454eb61b71055ffe236bc0fdb9877cbe /tmp/2
fs ~ # md5sum /tmp/1
454eb61b71055ffe236bc0fdb9877cbe /tmp/1
-----
Логично видим что она одинаковая.
Для успокоения души берём раздел ext3
-----
fs ~ # fdisk -lu /dev/hda
Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders, всего 156301488 секторов
Units = секторы of 1 * 512 = 512 bytes
Disk identifier: 0x00000000
Устр-во Загр Начало Конец Блоки Id Система
/dev/hda1 * 63 128519 64228+ 83 Linux
...
fs ~ # df
Файловая система 1K-блоков Исп Доступно Исп% смонтирована на
...
/dev/hda1 62193 13018 45964 23% /boot
...
-----
fs ~ # dd if=/dev/hda of=/mnt/disk2/hda-test.img count=2000 bs=64k
2000+0 записей считано
2000+0 записей написано
скопировано 131072000 байт (131 MB), 1,53633 c, 85,3 MB/c
fs ~ # mount -o loop,offset=$((63*512)) /mnt/disk2/hda-test.img /mnt/loop/
fs ~ # mount -o loop,offset=$((63*512)) /dev/hda /mnt/loop/
fs ~ # df
...
/dev/hda1 62193 13018 45964 23% /boot
/mnt/disk2/hda-test.img 62193 13018 45964 23% /mnt/loop
/dev/hda 62193 13018 45964 23% /mnt/loop
------------
Почему оно не хочет упорно монтировать ntfs таким образом? о_О
Религия не позволяет? =\