dd image felmountolása

Sziasztok,

a következőre keresek megoldást:
Egy hibás windowszos winchesterről lementettem a legfontosabb adatokat, majd csináltam egy backupot:

dd conv=noerror if=/dev/hdc1 | gzip >/mnt/backup2.img.gz

utólag kiderült, hogy egy fontos file kimaradta a mentésből, amit pótolni szeretnék, de nem tudom felmountolni az img filet:

# mount -r -t ntfs-3g -o loop ./backup2.img ./dest
Failed to read last sector (234468611): Invalid argument
Perhaps the volume is a RAID/LDM but it wasn't setup yet, or the
wrong device was used, or the partition table is incorrect.
Failed to mount '/dev/loop3': Invalid argument
The device '/dev/loop3' doesn't have a valid NTFS.
Maybe you selected the wrong device? Or the whole disk instead of a
partition (e.g. /dev/hda, not /dev/hda1)? Or the other way around?

Sokmindent kipróbáltam már a fentieken kívűl, de egyik sem segített, talán Ti tudtok valami jó megoldást.

ps:
#sfdisk -l -uS backup2.img
Disk backup2.img: cannot get geometry

Disk backup2.img: 0 cylinders, 0 heads, 0 sectors/track
Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
backup2.img1 ? 218129509 1920119918 1701990410 72 Unknown
backup2.img2 ? 729050177 1273024900 543974724 74 Unknown
backup2.img3 ? 168653938 168653937 0 65 Novell Netware 386
backup2.img4 2692939776 2692991410 51635 0 Empty

Hozzászólások

A /dev/hdc -n volt a partíciós tábla, /dev/hdc1 -en ne keresd.
A mountolás nem tudom miért nem sikerült. Valószínüleg hibás volt a partíció, vagy hibásan másolódott át. Ha megvan még az eredeti forrás, akkor onnan készítsd el újra a backup-ot. (a dd -nek a conv=noerror -t miért adtad meg?)
Ha nincsenek meg máshol az adatok, akkor próbáld meg simán ntfs -két mountolni (ntfs-3g helyett), hátha az beolvassa. Vagy talán a testdisk tud vele kezdeni valamit...

Köszönöm a válaszodat,

az eredeti forrás már nincs meg (akkor nem lenne semmi gond :P).
a conv=noerror-t azért adtam meg, mert az összes többi szintaxissal nem ment végig a backup (pontosan már nem emlékszem, több mint fél éve volt).
mountolásnál számtalan opciót kipróbáltam, egyikkel sem sikerült a csatolás.
A testdisk-et még nem ismertem, de ahogy látom ez el fog dolgozni egy ideig az img fileon.
Jelzem ha jutottam valamire.

# fdisk -lu /dev/loop0

Disk /dev/loop0: 120.0 GB, 120047437824 bytes
255 heads, 63 sectors/track, 14594 cylinders, total 234467652 sectors
Units = sectors of 1 * 512 = 512 bytes

This doesn't look like a partition table
Probably you selected the wrong device.

Device Boot Start End Blocks Id System
/dev/loop0p1 ? 218129509 1920119918 850995205 72 Unknown
Partition 1 does not end on cylinder boundary.
/dev/loop0p2 ? 729050177 1273024900 271987362 74 Unknown
Partition 2 does not end on cylinder boundary.
/dev/loop0p3 ? 168653938 168653938 0 65 Novell Netware 386
Partition 3 does not end on cylinder boundary.
/dev/loop0p4 2692939776 2692991410 25817+ 0 Empty
Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order

ezek után bármelyiket próbálom a következő lesz a vége:
# mount -t ntfs /dev/loop0 /mediaNTFS signature is missing.
Failed to mount '/dev/loop0': Invalid argument
The device '/dev/loop0' doesn't have a valid NTFS.
Maybe you selected the wrong device? Or the whole disk instead of a
partition (e.g. /dev/hda, not /dev/hda1)? Or the other way around?

abban nem vagyok egészen biztos hogy 512-vel kell szorozni a szektorokat az offset-hez. Az jó úgy??

"conv=noerror-t azért adtam meg, mert az összes többi szintaxissal nem ment végig a backup"
Ez azt jelenti, hogy a backup is hibás (tehát a hibás szektorok helyére 512 bytenyi nullát rakott), így ne lepődj meg, hogy a mountolás is hibát ad.

zeller:
# file /mnt/backup2.img
/mnt/backup2.img: x86 boot sector, code offset 0x52, OEM-ID "NTFS ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 63, dos < 4.0 BootSector (0x80)
x80)
colos:
felvettem losetuppal, még offsetet is állítottam, úgy sem ment (ha van értelme késöbb beszúrok néhány verziót amit próbáltam)
lavian:
ez kb. az mint amit colos mondott, itt egy végeredmény:
# mount -t ntfs /dev/loop0 ./dest/
NTFS signature is missing.
Failed to mount '/dev/loop0': Invalid argument
The device '/dev/loop0' doesn't have a valid NTFS.
Maybe you selected the wrong device? Or the whole disk instead of a
partition (e.g. /dev/hda, not /dev/hda1)? Or the other way around?

apal:
sync nem volt. sajnos nem tudom újra megcsinálni, a disk már nincs meg
csizmadia_zoltan:
természetesen kitömörítettem (nem csak átneveztem a filet)
az állomány úgy maradt ki, hogy mielött a dd-vel megcsináltam volna az img-t, simán felmountoltam a hibás partíciót és cp vel elmentettem amire szükség volt. Tényleg mindössze egy file maradt ki...

# fdisk -l /dev/loop0

Disk /dev/loop0: 120.0 GB, 120047437824 bytes
255 heads, 63 sectors/track, 14594 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

This doesn't look like a partition table
Probably you selected the wrong device.

Device Boot Start End Blocks Id System
/dev/loop0p1 ? 13578 119522 850995205 72 Unknown
Partition 1 does not end on cylinder boundary.
/dev/loop0p2 ? 45382 79243 271987362 74 Unknown
Partition 2 does not end on cylinder boundary.
/dev/loop0p3 ? 10499 10499 0 65 Novell Netware 386
Partition 3 does not end on cylinder boundary.
/dev/loop0p4 167628 167631 25817+ 0 Empty
Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order

Partíciót mentett, nem diszket, így a partíció-keresésnek nincs értelme. A dd-nek nem lett megmondva, hogy a hibás blokkok helyett rakjon 0x00-val feltöltött blokkokat, így aztán az első hibás blokktól kezdve eltolódott a többi... Nem folytatom, de csodálkoznék, ha sikerülne gatyába rázni ilyen "előzmények" után az állományrendszert.

elsonek losetup-al vedd fel loop eszkoznek es utanna mountold, akkor latni kellene a particios tablajat is a rendszernek

udv Zoli

A noerror mellett volt "sync" is? Tehat conv=sync,noerror? Mert kulonben szopas van (a hibas szektorokat kihagyta, nem irta bele, igy a mentett *.img az _kisebb_ lett, mint az eredeti particio). A "sync" ezert kell. Ha megvan me'g a diszk, akkor csinald meg ujra ezt, immarmon conv=sync,noerror-ral.

Egy apró kérdésem lenne:
mivel a legelső műveletsorban tömörítés szerepel, a mount-olás előtt kicsomagoltad az állományt?

A másik furcsaság, hogy "kimaradt egy fontos állomány".
Akkor annak másik partíción kell lennie, vagy azért nem került a mentésbe, mert error területen helyezkedik el. (legalábbis a file-bejegyzés.

CSZ