Portál AbcLinuxu, 1. května 2025 15:14

Jak překopírovat oddíl disku na jiný oddíl

před zahájením kopírování, budeme-li kopírovat na úrovni souborů (tedy pomocí rsync, tar, cp, apod.), je vhodné si kopírovaný oddíl připojit do nového místa, abychom předešli problémům s vnořenými připojenými oddíly (např. chceme-li kopírovat kořenový oddíl, musíme počítat s tím, že v adresáři / jsou připojeny další souborové systémy a oddíly, např /proc, /sys, občas /boot apod.). Není také od věci souborový systém takto připojit pouze pro čtení.
mount -o ro /dev/sda1 /mnt/root
Některé verze Linuxu a jiných unixových systémů neumožňují připojit oddíl do dvou míst zároveň. V takovém případě je při kopírování třeba dávat pozor, abychom do kopírovaných souborů nezařadili i další připojené oddíly a tím nekopírovali zbytečná data (např. adresáře /proc, /sys apod.), nebo se dokonce nezacyklili (cp / /mnt/root).

dd

dd if=/dev/puvodni_disk of=/dev/novy_disk

Pokud z nějakého důvodu nemůžeme použít program dd (např. cílový oddíl má jinou velikost nebo na něm chceme použít jiný systém souborů, než na výchozím), jsou pro nás vhodnými kandidáty programy rsync, cpio a tar.

rsync

rsync -a /mnt/puvodni_disk/ /mnt/novy_disk

cpio

cd /mnt/puvodni_disk && find . -depth -xdev | cpio -pdvm /mnt/novy_disk

tar

tar -cpf - /mnt/puvodni_disk | ( cd /mnt/novy_disk && tar -xpf - )

dump+restore

Funguje jen na ext2 a ext3 filesystémech, XFS a JFS mají obdobnou utilitu.
dump -0f - /mnt/puvodni_disk | (cd /mnt/novy_disk && restore -f - )

cp

dostaneme-li se do situace, kdy nemáme k dispozici prakticky nic, postačí i obyčejný unixový příkaz cp, ale je třeba dbát na zachování práv a atributů kopírovaných souborů, a to pomocí přepínačů "-dpR", případně ekvivalentu "-a":
cp -dpR /mnt/puvodni_disk /mnt/novy_disk

Dokument vytvořil: TomCat1, 18.8.2006 21:26 | Poslední úprava: mikky, 29.10.2008 13:39 | Další přispěvatelé: Jiří J., ivan | Historie změn | Zobrazeno: 1712×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.