14 / 18 / 5
Регистрация: 13.04.2011
Сообщений: 148
1

Как правильно склонировать раздел через dd?

29.11.2013, 08:23. Показов 1496. Ответов 11
Метки нет (Все метки)

Всем доброго времени суток,

Как при помощи dd склонировать раздел с установленной виндой на раздел другого винта?
Я как бы знаю что будет что-то типо этого:
Bash
1
dd if=/dev/sda1 of=/dev/sdb1 conv=noerror,sync bs=4k
Вопрос в том, загрузиться ли потом комп с такого раздела и как правильно выбрать размер блока?
Надо ли перед клонированием форматировать sdb1 в NTFS или нет?

Подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2013, 08:23
Ответы с готовыми решениями:

Не уверен, что правильно раздел выбрал
известно, что есть недобросовестные сайты с клеенкой... Как их вычислить? На что, где и куда...

Склонировать флешку
День добрый, господа! Есть обычная флешка, на которой установлена программа. Программа...

При подключении диска как внешнего через USB не отображается раздел с ОС, а данные с диска D не доступны
Здравствуйте! Имеется жесткий диск от ноутбука, который был вставлен в корпус для внешнего HDD. На...

Раздел диска пометился как "раздел восстановления" и стал недоступен
Ноутбук Samsung 535U3C, Windows 7 Раздел диска (бывший диск D) пометился как "раздел...

11
4864 / 3286 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
29.11.2013, 21:30 2
Bash
1
dd if=/dev/sda1 of=/dev/sdb1
этого достаточно
копируется содержимое диска

Цитата Сообщение от natrox Посмотреть сообщение
Надо ли перед клонированием форматировать sdb1 в NTFS или нет?
копируется и всё форматирование, потому что файловая система - это специальный набор записей на диске
а записи на диске - это просто данные (последовательность байт)

раздел диска-назначения должен быть не меньше раздела диска-источника
1
309 / 232 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
30.11.2013, 10:19 3
natrox, если диск сбойный, то более надежный вариант dd - это dd_rescue
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7516 / 4381 / 2780
Регистрация: 22.11.2013
Сообщений: 12,541
Записей в блоге: 1
30.11.2013, 11:03 4
accept, увы, не всегда. Если попадётся сбойный блок, копирование прервется без conv=noerror, а без conv=sync в этом соучае сбойный блок не будет заменен нулями, а просто пропущен, при этом все остальное содержимое будет сдвинуто к началу, что сделает восстановление этого образа бесполезным.
1
4864 / 3286 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
30.11.2013, 19:44 5
Цитата Сообщение от bormant Посмотреть сообщение
Если попадётся сбойный блок, копирование прервется без conv=noerror
если диск нормальный, пусть лучше прервётся, чем продолжается, а потом в конце скажет, что ошибки были
к сломанным дискам - другой подход
0
14 / 18 / 5
Регистрация: 13.04.2011
Сообщений: 148
02.12.2013, 03:17  [ТС] 6
Всем спасибо
0
14 / 18 / 5
Регистрация: 13.04.2011
Сообщений: 148
03.12.2013, 07:07  [ТС] 7
Последний вопрос, если я bs выставлю равным размера кеша HDD, это ни на что не повлияет кроме скорости клонирования?
Ну т.е. я понимаю что если попадется битый сектор, то будет пропущен кусок размером в 16М, а то и все 32М.
А если ошибок не будет? На что тогда повлияет размер bs?
0
4864 / 3286 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
03.12.2013, 08:53 8
Цитата Сообщение от natrox Посмотреть сообщение
На что тогда повлияет размер bs?
реже будет обращаться к системным вызовам для чтения и записи данных
0
309 / 232 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
03.12.2013, 09:22 9
Цитата Сообщение от natrox Посмотреть сообщение
повлияет размер bs
bs - это размер блока. По умолчанию 512.
Насколько я понимаю, это размер буфера при чтении/записи, который задается для функций read/write в программе dd. Это столько байт читает и пишет dd за раз. По идее размер блока должен соответствовать размеру блока файловой системы. То есть, например, для NTFS (по-умолчанию) - 4k, для XFS - 64k и т.д. В любом случае желательно делать его кратным блоку файловых систем.
0
14 / 18 / 5
Регистрация: 13.04.2011
Сообщений: 148
03.12.2013, 09:34  [ТС] 10
Вот что по этому поводу пишут на Хабре:

Bash
1
dd if=/dev/urandom of=/dev/null bs=100M count=5
Параметры:
if: указывает на источник, т.е. на то, откуда копируем. Указывается файл, который может быть как обычным файлом, так и файлом устройства.
of: указывает на файл назначения. То же самое, писать можем как в обычный файл, так и напрямую в устройство.
bs: количество байт, которые будут записаны за раз. Можно представлять этот аргумент как размер куска данные, которые будут записаны или прочитаны, а количество кусков регулируется уже следующим параметром.
count: как раз то число, которое указывает: сколько кусочков будет скопировано.
0
4864 / 3286 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
03.12.2013, 20:56 11
Цитата Сообщение от natrox Посмотреть сообщение
Вот что по этому поводу пишут на Хабре:
попробуй
Bash
1
man dd
1
14 / 18 / 5
Регистрация: 13.04.2011
Сообщений: 148
04.12.2013, 04:34  [ТС] 12
Цитата Сообщение от accept Посмотреть сообщение
Bash
1
man dd
Ааа, да. Не внимательно раньше читал. Там все вполне доступно написано
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2013, 04:34
Помогаю со студенческими работами здесь

Как установить на виртуальную машину: Win 7 на primary раздел + Win XP на extended раздел ?
Всем привет! Задали лабу - поставить 2 Виндовса на 1 виртуальную машину. Все бы ничего, да задание...

Можно ли склонировать чужое приложение iOS?
Задача такая. Есть иностранное приложение, которое фотографирует обьект с разных сторон, скрепляет...

Как правильно регистрироваться через 1PS.ru
Уважаемые коллеги! Многие знаюь сервис 1ps.ru, который регистрирует ваш сайт в каталогах. Когда...

Как правильно записать произведение через if?
Здравствуйте, такой вопрос: Как записать произведение через оператор IF?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru