Jump to content

Копирование раздела командой dd


Recommended Posts

Здравствуйте!

OS - Fedora10

Имеем жесткий диск /dev/sda 320 Gb , на нем раздел sda8 с файлами

Задача: скопировать файлы на флешку, переформатировать винт и скопировать ФАЙЛЫ (НЕ РАЗДЕЛ!) во вновь созданный раздел.

Задача усложняется тем, что кодировка текущей системы не совпадает с кодировкой файлов, а так я не могу перенести файлы простым копированием.

Решено перенести раздел командой dd, только как потом вернуть содержимое раздела?

Вот тип исходного раздела

[root@server genesis]# df -T

Filesystem Type 1K-blocks Used Available Use% Mounted on

/dev/sda8 xfs 195222868 195222848 20 100% /asp

Я создал раздел 200Гб на /dev/sdc (sdc1), затем создал на нем файловую систему:

[root@server genesis]# mkfs -t ext3 /dev/sdc1

mke2fs 1.41.3 (12-Oct-2008)

/dev/sdc1 is mounted; will not make a filesystem here!

[root@server genesis]# umount /media/disk/

[root@server genesis]# mkfs -t ext3 /dev/sdc1

mke2fs 1.41.3 (12-Oct-2008)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

13115392 inodes, 52430127 blocks

2621506 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=0

1601 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

затем смонтировал:

[root@server genesis]# mount /dev/sdc1 /mnt

затем скопировал исходный раздел :

[root@server genesis]# dd if=/dev/sda8 of=/mnt/1 bs=4K

48829559+1 records in

48829559+1 records out

200005876224 bytes (200 GB) copied, 6243.35 s, 32.0 MB/s

Теперь он лежит у меня одним файлом, а как его распаковать обратно с sdc на sda (после того, как последний будет переразбит и размеры разделов не будут совпадать)?

Link to post
Share on other sites

Цитата:

[root@server genesis]# dd if=/dev/sda8 of=/mnt/1 bs=4K

Вы скопировали раздел в файл, что не есть плохо, но это не то, чего вы добивались.

Перед тем, как выполнять какие-либо действия, выяснили бы для себя что такое раздел и что делает команда mount. Да и различия в кодировке не помешали бы сделать резервную комию, например таром и потом восстановить.

Если же хотите продолжать начатое, то смонтируйте получившийся файл как раздел

# mount -t xfs -o loop /mnt/1 точка_монтирования

и копируйте файлы оттуда во вновь созданный раздел.

Если же хотите восстановить не файлы, а раздел целиком, то создайте раздел (сосдавать фс и монтировать не надо) и обратное dd.

Link to post
Share on other sites

А зачем такие сложности?

1. Скопируйте файлы на флешку.

2. На новой системе смонтируйте флешку с указанием текущей локали(man mount, пункты про опции монтирования вашей фс).

Link to post
Share on other sites

Цитата:

А зачем такие сложности?

Сложности (если это сложности) я привел автору больше в образовательных целях.

Стандартное решение тоже было указано - tar.

Цитата:

2. На новой системе смонтируйте флешку с указанием текущей локkали(man mount, пункты про опции монтирования вашей фс).

Параметры перекодирования можно указать только при монтировании чужеродных фс (vfat, ntfs, iso, ...), а также иногда jfs. В родных ext[234], reiserfs, xfs и т.д.... перекодирование не производится и имена файлов пишутся и читаются в кодировке текущей локали.

PS.

Не понятна фраза автора

Цитата:

Задача усложняется тем, что кодировка текущей системы не совпадает с кодировкой файлов, а так я не могу перенести файлы простым копированием.

Если автор имел в виду, что на новой системе будет другая локаль, то совет cppmm, с флэшкой (напр. vfat) - действительно, самое простое решение.

Link to post
Share on other sites

Цитата:

Если автор имел в виду, что на новой системе будет другая локаль, то совет cppmm, с флэшкой (напр. vfat) - действительно, самое простое решение.

Именно этот вариант я и имел ввиду.

Link to post
Share on other sites

Ответ прост - тар-архив

все запаковал на внешний винт, переразбил винт и распаковал назад и кодировка не помешала, а то копированием нельзя скопировать файлы с кодировкой, отличающейся от кодировки системы.

только странно что винт был 320гектар а после переразбивки стал 298гектар.

Делал сначала fdisk -> mkfs -t ext3 /dev/sda1 -> mnt /dev/sda1 /mnt

неужели 20 гектар ушло под журналы?

fdisk показал полный объем

Link to post
Share on other sites

Алексей писал(а) Sun, 16 August 2009 13:28

только странно что винт был 320гектар а после переразбивки стал 298гектар.

неужели 20 гектар ушло под журналы?

Нет, 20 гектар ушло под маркетинг. На винтах нынче пишут десятичные гигабайты, а не двоичные. В результате получается:

320*1000**3/1024**3 = 298

Link to post
Share on other sites

Алексей писал(а) Sun, 23 August 2009 12:18

но fdisk почему-то показал 320?

ineu@ineu ~ % sudo fdisk /dev/sdb

The number of cylinders for this disk is set to 38913.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 320.1 GB, 320072933376 bytes

255 heads, 63 sectors/track, 38913 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x8849fbd7

Device Boot Start End Blocks Id System

/dev/sdb1 1 38913 312568641 83 Linux

Считаем:

>>> 320072933376/2**30

298

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...