lemezlenyomat felcsatolása

lemezlenyomat felcsatolása

Hozzászólások

Üdv mindenkinek!

Egy kérdésem (lehet hogy triviális) lenne hozzátok.
Van mód arra hogy egy előzetesen elkészített
lemezlenyomat egy partícióját felcsatoljam a file
rendszerembe?

Elkészítem a teljes lenyomatot, a diszkről amin
több partició is van...
[code:1:1b6aeceb35]dd if=/dev/hdc of=/home/hdc.img[/code:1:1b6aeceb35]

Majd ebből a kép file-ból kellene felcsatolni az egyik
partíciót ha lehet. De hogyan?...

[quote:af165a181b="maszili"]Üdv mindenkinek!

Egy kérdésem (lehet hogy triviális) lenne hozzátok.
Van mód arra hogy egy előzetesen elkészített
lemezlenyomat egy partícióját felcsatoljam a file
rendszerembe?

Elkészítem a teljes lenyomatot, a diszkről amin
több partició is van...
[code:1:af165a181b]dd if=/dev/hdc of=/home/hdc.img[/code:1:af165a181b]

Majd ebből a kép file-ból kellene felcsatolni az egyik
partíciót ha lehet. De hogyan?...

mount -o loop /home/hdc.img /mountpoint

[quote:9f75b3ca8f="meditor"]
mount -o loop /home/hdc.img /mountpoint

Ezt a formációt ismerem... :)

Lehet hogy nem voltam elég egyertelmű...
A lemez képfile a teljes eszközről készül és nem
egy partíciójáról. Így az állomány több partíció adatát
tartalmazza. A kérdésem az hogy lehetséges-e a sok
partíció közül az egyiket valahogy felcsatolni az
állományból?

[quote:e2a256a7cd="maszili"][quote:e2a256a7cd="meditor"]
mount -o loop /home/hdc.img /mountpoint

Ezt a formációt ismerem... :)

Lehet hogy nem voltam elég egyertelmű...
A lemez képfile a teljes eszközről készül és nem
egy partíciójáról. Így az állomány több partíció adatát
tartalmazza. A kérdésem az hogy lehetséges-e a sok
partíció közül az egyiket valahogy felcsatolni az
állományból?

Első blikkre ez reménytelennek tűnik. Ha mégis van megoldás,
akkor az engem is érdekelne. Bár nem tudom miért nem
lehet külön lenyomatot készíteni az egyes partíciókról?

[quote:e550559a95="meditor"]
Első blikkre ez reménytelennek tűnik.

Ettől féltem...

[quote:e550559a95="meditor"]
Bár nem tudom miért nem
lehet külön lenyomatot készíteni az egyes partíciókról?

Különleges (alcatel telefonközpont, ipari folyamatvezérlés, stb...) alkalmakkor szoktam rendszer- adatmentés
céljából archiválni, ezzel a módszerrel. Ha az egész eszközről
készítek másolatot akkor csak vissza kell írni és nem kell a
rendszerbetöltővel (master boot record, és társai) és egyéb különleges dolgokkal foglalkozni. Viszont jó lenne ha allómány szinten is el lehetne érni az adatokat, ha fel tudnám csatolni
valahogy a partíciókat.

Hely és idő hiányában nem mindig van lehetőség kétszer elvégezni a műveletet, egyszer a teljes és mégegyszer a partíciókat külön-külön leszedni.

[quote:43ce7447e6="maszili"][quote:43ce7447e6="meditor"]
Első blikkre ez reménytelennek tűnik.

Ettől féltem...

[quote:43ce7447e6="meditor"]
Bár nem tudom miért nem
lehet külön lenyomatot készíteni az egyes partíciókról?

Különleges (alcatel telefonközpont, ipari folyamatvezérlés, stb...) alkalmakkor szoktam rendszer- adatmentés
céljából archiválni, ezzel a módszerrel. Ha az egész eszközről
készítek másolatot akkor csak vissza kell írni és nem kell a
rendszerbetöltővel (master boot record, és társai) és egyéb különleges dolgokkal foglalkozni. Viszont jó lenne ha allómány szinten is el lehetne
érni az adatokat, ha fel tudnám csatolni valahogy a partíciókat.

Hely és idő hiányában nem mindig van lehetőség kétszer elvégezni a műveletet, egyszer a teljes és mégegyszer a partíciókat külön-külön leszedni.

Logikus... és sajnálatos helyzet.

[quote:fdb4023114="maszili"]
Lehet hogy nem voltam elég egyertelmű...
A lemez képfile a teljes eszközről készül és nem
egy partíciójáról. Így az állomány több partíció adatát
tartalmazza. A kérdésem az hogy lehetséges-e a sok
partíció közül az egyiket valahogy felcsatolni az
állományból?

Természetesen megoldható.
Első lépésben meg kell tudnod, hogy a partíció az image hányadik byte-ján kezdődik:
[code:1:fdb4023114]chaos:/tmp# fdisk disk.img
You must set cylinders.
You can do this from the extra functions menu.

Command (m for help): u
Changing display/entry units to sectors

Command (m for help): p

Disk disk.img: 0 MB, 0 bytes
16 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System
disk.img1 * 63 4127759 2063848+ 83 Linux
Partition 1 has different physical/logical endings:
phys=(1023, 15, 63) logical=(4094, 15, 63)
disk.img2 4127760 5135759 504000 83 Linux
Partition 2 has different physical/logical beginnings (non-Linux?):
phys=(1023, 15, 63) logical=(4095, 0, 1)
Partition 2 has different physical/logical endings:
phys=(1023, 15, 63) logical=(5094, 15, 63)
disk.img3 5135760 156249071 75556656 83 Linux
Partition 3 has different physical/logical beginnings (non-Linux?):
phys=(1023, 15, 63) logical=(5095, 0, 1)
Partition 3 has different physical/logical endings:
phys=(1023, 15, 63) logical=(155008, 15, 63)

[/code:1:fdb4023114]
A siránkozást nyugodtan hagyd figyelmen kívül, geometria nélkül nem tud visszaalakítani sáv-fej-szektor koordinátákra, de abszolut szektorszámmal jól dolgozik :).
Ebben a példában az 1. partíció a 63. szektoron van, a 2. a 4127760.-on, stb. Ezt szorozd fel 512-vel, és megvan byte-ban, azaz az 1. part. a 63*512 = 32256. byte-on kezdődik.
(Ha mindezt automatizmussal szeretnéd csinálni, akkor az sfdisk a te barátod, de vigyázz vele, mert (tekintve, hogy nem interaktív a drága,) elírsz egy parancsot, és előbb vág haza mindent, mintsem kérdezne :)...)
Ezután egy loopback device-t kézikusan rá kell állítani az image ezen pozíción kezdődő részére:
[code:1:fdb4023114]losetup -o 32256 /dev/loop/0 /valahol/disk.img[/code:1:fdb4023114]
Aztán ezt már lehet mountolni:
[code:1:fdb4023114]mount /dev/loop/0 /mnt/valami[/code:1:fdb4023114]
Aztán használat után lemountolni, és a loopback-et kézzel elengedni:
[code:1:fdb4023114]
umount /mnt/valami
losetup -d /dev/loop/0
[/code:1:fdb4023114]

Egyszerű megoldás, amit így hirtelen tudok javasolni: Írd ki az image-t egy üres vinyóra, és onanntól kezdve be tudod csatolni a partíciókat. Bár érzésem szerint meg kéne tudni oldani ezt valahogy máshogy is, hiszen a szoftver raid is valahogy így oldja meg a működést...

Szia gsimon! Szép megoldás, én személy szerint köszönöm,
bár még nem tudom mire fogom használni. (Nekem is van
néhány olyan rendszerem, amiről maszil írt, lehet,
hogy ezeket ettől kezdve ügyesebben tudom archiválni.)

A kulcs tehát a losetup.

Még egy tanulság: unix alatt semmi sem lehetetlen.
Jó erről időnként megbizonyosodni (-::

[quote:8086f2a17a="gsimon"]
Természetesen megoldható.

Na ez jól hangzik... :)
Mindjárt ki is próbálom, ha lesz egy kis időm.
Köszi a segítséget!

Kipróbáltam... teljesen jól működik! :)

Imádom a "UNIX"-ot, a HUP-ot és az olvasóit!! :)