Ugyanakkora mérteű partíció másik merevlemezen. [MEGOLDVA]

Üdv mindenkinek,

Röstellem de fdisk-el kapcsolatban lenne alapszintű kérdésem.
Van egy megpartícionált merevlemez és van egy üres merevlemez amire szeretnék két pontosan ugyanakkora pertíciót létrehozni mint amilyen az előző lemezen is van.

A megpartícionált merevlemez:


Disk /dev/sdf: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8996bc4a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1            2048      194559       96256   fd  Linux raid autodetect
/dev/sdf2          194560     1171455      488448   fd  Linux raid autodetect
/dev/sdf3         1171456  3907029167  1952928856    5  Extended
/dev/sdf5         1173504   489455615   244141056   fd  Linux raid autodetect
/dev/sdf6       489457664   976566271   243554304   fd  Linux raid autodetect

Erre az üres merevlemezre szeretnék létrehozni két pontosan olyan méretű partíciót mint az SDF5 és SDF6


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00097441

   Device Boot      Start         End      Blocks   Id  System

Arra gondoltam, hogy ha 2048-tól kezdődik az első partíció akkor ahhoz hozzáadva a szükséges blokk szerinti méretet akkor
2048 + 244141056 = 244143104 a partíció vége.


Command (m for help): n
Partition type: p primary (0 primary, 0 extended, 4 free)
Partition number (1-4, default 1): 1
First sector (2048-1953525167, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-1953525167, default 1953525167): 244143104

A létrehozás után sajnos nem lett jó mert az új partíció mérete 122070528+


   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   244143104   122070528+  83  Linux

Hogyan kell ezt csinálni?

A válaszokat előre is köszönöm.

Hozzászólások

En valszeg sfdisk -kel csinalnam.

sfdisk -d /dev/sda > partition.txt

A txt file-ban benne lesz a forras disk osszes particioja, abbol kiszednem a vegerol, ami nem kell, es atirnam az elejen a device nevet, utana:

sfdisk /dev/sdb < partition.txt

Teljes klonnal eleg egy pipe-ba betenni a ket sfdisk-et (fokozottan ugyelve a sorrendre:-) ), es nem kell a txt sem.

Lehet, hogy félreérthető volt de nem egy az egyben szeretném az összes partíciót átmásolni. Csak a két nagyobb partícióval pontosan megegyező méretű két új partíciót szeretnék az üres merevlemezen. De azt sem úgy ahogyan ott elhelyezkedik, hanem két elsődleges partíciót szeretnék.

--
maszili

> Arra gondoltam, hogy ha 2048-tól kezdődik az első partíció akkor ahhoz hozzáadva a szükséges
> blokk szerinti méretet akkor 2048 + 244141056 = 244143104 a partíció vége.

Nem nyert. Ugyanis ha egy partíció az X szektorral kezdődik, és az Y szektorral ér véget, akkor annak a mérete nem Y-X, hanem Y-X+1. A partíció ugyanis tartalmazza a kezdő és a vég szektort is - lásd: zárt halmazok versus nyitott halmazok :)

Másrészt, az fdisk egy köcsög, mert a "Blocks" alatt nem a tradícionális 512 bájtos blokkméretet érti (ami egyezik a szektormérettel) hanem 1 kiByte-os blokkméretet ért. Magyarul, a szektorszám megadásához szorozd fel a blokk értéket kettővel.

Látod, ha az "End" értékéből kivontad volna a "Start" értékét, egyszerre két problémától kímélted volna meg magadat :)

Nagyon köszönöm a segítséget!
Valóban a triviális módszer lett a megfelelő megoldás. :)

Tehát egy pontosan megegyező méretű partíció létrehozása a következők szerint történik:

(1) Partíció méretének kiszámítása: End - Start

Jelen esetben
489455615 - 1173504 = 488282111

(2) Partíció létrehozása: a kiszámított partíció méretet kell megadni

Jelen esetben
Last sector, +sectors or +size{K,M,G} (2048-1953525167, default 1953525167): +488282111

Így a partíciók mérete pontosan megegyezik.


   Device Boot      Start         End      Blocks   Id  System
/dev/sdf5         1173504   489455615   244141056   fd  Linux raid autodetect

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   488284159   244141056   fd  Linux raid autodetect

--
maszili

Vajon mit szólna hozzá a második merevlemezed, ha dd-vel átraknád az elsőről a particiótáblát?

A másik megoldás, hogy megadod neki az adatot, hogy csinálj ekkorát, és ha kisebbet csinál nagyobb adatot, ha nagyobbat csinál kisebbet adsz meg, és intervallumfelezéssel [log 2 delta] + 1 darab particionálással eljuthatsz a kívánt particiómérethez.

> Vajon mit szólna hozzá a második merevlemezed, ha dd-vel átraknád az elsőről a particiótáblát?

A topicnyitó nem a forrás diszkkel megegyező partíciós táblát szeretne a cél diszkre. Hozzászólás előtt tessék elolvasni a topicnyitót.

> A másik megoldás, hogy megadod neki az adatot, hogy csinálj ekkorát, és ha kisebbet csinál
> nagyobb adatot, ha nagyobbat csinál kisebbet adsz meg, és intervallumfelezéssel [log 2 delta] + 1
> darab particionálással eljuthatsz a kívánt particiómérethez.

Még szerencse, hogy a partíció létrehozása egy egzakt tudomány, és a partíció mindig szektorra pontosan akkora lesz, mint amekkorát mondasz neki :)