Клонирование жесткого диска от 512B до 4KB (расширенный формат) с помощью dd

2963
TranslucentCloud

Как лучше всего клонировать ddсуществующий жесткий диск объемом 512 байт на сектор (целый диск, а не отдельные разделы) на современный диск емкостью 4 кибибайта на сектор Advanced Format? Какие варианты следует использовать? Они имеют значение вообще?

1
Вот [связанный] (http://superuser.com/questions/313133/how-to-clone-win7-from-512b-sectors-to-4096b-sectors) вопрос, который вы, возможно, захотите прочитать. Вы также делаете это более сложным, чем это должно быть. Все, что вам нужно сделать, это создать раздел размером 1 МБ для устройства, чтобы он был выровнен, а оставшееся оставлено пустым. Прошивка вашего устройства скорее всего имеет эмуляцию. Вот еще [дополнительное чтение] (http://stackoverflow.com/questions/6161823/dd-how-to-calculate-optimal-blocksize) Ramhound 8 лет назад 0
Я прочитал вопрос (и ответы), которые вы упоминаете, но мой вопрос более прост и специфичен для `dd`. Я не спрашиваю, как подготовить диск для правильного выравнивания, я хочу знать, как полностью скопировать всю структуру диска (и данные). Без каких-либо изменений к нему. TranslucentCloud 8 лет назад 0

3 ответа на вопрос

1
Jamie Hanrahan

Какой это расширенный формат диска? Имеет ли он логотип «AF» (что означает, что на интерфейсе накопителя представлены 512-байтовые сектора, т.е. это действительно диск «512e») или логотип «4Kn»?

Если первое, вам не нужно делать ничего особенного - вы можете обращаться с ним как с устаревшим диском, хотя правильное выравнивание разделов - хорошая идея (это может сильно повлиять на производительность).

Если последнее, вы не можете скопировать его «без каких-либо изменений», потому что метаданные файловой системы должны измениться. Например, накопитель 512e «4 ГБ» будет иметь LBN от 0 до 7 812 500 000, в то время как истинные 4K родные «4 ГБ накопителя» LBN будут иметь только около 976 562 500. Таким образом, LBN в метаданных диска 512 байт на сектор не будет иметь смысла на диске 4Kn.

Речь идет о жестком диске WD30EZRX с логическим сектором 512 В и физическим объемом 4 КБ, который продается как диск расширенного формата. TranslucentCloud 8 лет назад 0
Так и думал. Это 512e диск. Диски 4Kn (afaik) неслыханны за пределами «корпоративного» рынка (и оцениваются соответственно). Таким образом, за исключением проблемы выравнивания разделов, вы можете рассматривать ее как диск 512 байт на сектор. Jamie Hanrahan 8 лет назад 0
Спасибо за разъяснения, пометил ваш ответ как решение. TranslucentCloud 8 лет назад 0
1
TranslucentCloud

Хорошо, я думаю, что стоит опубликовать то, что я сделал сам, как ответ.

Я использовал следующую команду для клонирования диска:

dd if=/dev/sda of=/dev/sdb ibs=512 obs=4096 

Здесь первая опция ibsуказывает dd, что 512 байтов должны быть прочитаны из источника одновременно, и obsчто 4096 байтов должны быть записаны за один раз в место назначения.

Вся процедура прошла без проблем. После того, как это было закончено, я отключил прежний двигатель и попытался загрузить с нового. Он загрузился и все разделы были правильно показаны.

Чтобы убедиться, что выравнивание подходит для этого накопителя Advanced Format, я скачал WD Alignинструмент с веб-сайта Western Digital, и он показывает, что все правильно выровнено, вот скриншот:

enter image description here

Я не знаю, были ли дополнительные варианты полезны для этого все же.

0
rayzinpwr

Поскольку вы используете диск 512e, ваш пример с dd не нужен. Вы могли бы просто использовать dd, если = / dev / sda of = / dev / sdb bs = 2M (что я обычно использую). Реальная проблема идет от 512n до 4Kn, и, по сути, это не просто. В большинстве случаев, вероятно, лучше перераспределить и cp -a все обратно в дополнение к перенастройке загрузчика и т. Д.

Вы можете использовать dd туда и обратно между 512n и 4Kn с минимальным неразрушающим перераспределением, зависит от того, использовали ли вы / используете 512 кратных 8 (512 * 8 = 4096) для вашего разделения.

Пример:

512n partition under gdisk:  Number Start (sector) End (sector) Size Code Name 1 2048 4095 1024.0 KiB EF02 linux-bios 2 4096 41943006 20.0 GiB 8E00 linux-lvm  4Kn translation after dd'ing (from 512 to 4096 physical and logical), then re-repartitioning:  Number Start (sector) End (sector) Size Code Name 1 256 511 1024.0 KiB EF02 linux-bios 2 512 5242875.75 20.0 GiB 8E00 linux-lvm 

Упс! Обратите внимание на десятичную точку, (41943006 + 1/8)? Это не сработает.

Единственный способ - если у вас есть более 20,0 ГБ на новом диске и добавить дополнительный сектор 4kn (5242875 + 1), а затем изменить размер базовой файловой системы, lvm и т. Д.

Теперь, если бы вы разбили свой 512n диск, используя кратные 8, то первая (512n) таблица разделов выше выглядела бы так:

Number Start (sector) End (sector) Size Code Name 1 2048 4095 1024.0 KiB EF02 linux-bios 2 4096 41942999 20.0 GiB 8E00 linux-lvm  And the proper 4Kn translation would look like this:  Number Start (sector) End (sector) Size Code Name 1 256 511 1024.0 KiB EF02 linux-bios 2 512 5242875 20.0 GiB 8E00 linux-lvm 

(41942999 + 1) / 8 = 5242875

Мораль истории: если вы планируете использовать диски 4Kn в будущем, разделите ваши 512n дисков, используя кратные 8, и у вас все будет хорошо, если вы соответственно воссоздадите таблицу разделов.

Примечание: не забывайте ни о каком возможном клонировании GUID, не только для идентификатора диска, но и для идентификатора GUID раздела.