Не вдаваясь в подробности, я пытаюсь скопировать содержимое диска 500 ГБ в моем MacBook на другой диск 500 ГБ. Но это оказывается неожиданной проблемой, потому что диск содержит как раздел OS X, так и раздел NTFS с Win 7 через Boot Camp от Apple.
За исключением Clonezilla, инструменты, на которые я смотрел до сих пор, имеют некоторые ограничения. Инструменты Mac не хотят иметь дело с разделом NTFS. Инструменты Windows совершенно не знают ни раздела HFS+, ни гибридного раздела Boot Camp MBR/GPT.
Клонезилла выглядела так, как будто она будет делать то, что я хочу, но, видимо, я не могу понять, как ее использовать. Сделав то, что я считал копированием с сектора на сектор, я обнаружил, что был перенесен только раздел NTFS. Остальные были явно пусты. (И, честно говоря, я не уверен, что Clonezilla также правильно перенесла таблицу разделов).
Примечание. Использование SATA для чтения / записи всех секторов на этих дисках занимает более 2 часов. Так что я не собираюсь использовать метод проб и ошибок, чтобы сузить подходящую комбинацию вариантов использования Clonezilla.
Я начинаю думать, что, возможно, ответ заключается в том, чтобы загрузить Linux (возможно, Ubuntu), а затем использовать какую-то древнюю команду BSD. Проблема в том, что я не знаю, какую команду (или параметры использовать), чтобы сделать копию уровня сектора с одного диска на другой. Насколько я знаю, диски имеют одинаковое количество секторов, так что это должно быть тривиально. Вздох.
Да, dd
работает. (Уф!)
Я особенно ценил ссылку в ответе на соответствующий вопрос / обмен на serverfault.com, поскольку я никогда бы не подумал посмотреть там.
Вот некоторые дополнительные настройки, которые я использовал после того, как узнал о них из обмена на serverfault.
Не используйте размер передачи по умолчанию 512 байт. В моем случае я использовал форму
dd if=/dev/sda of=/dev/sdb bs=8192
так как это значительно увеличило скорость передачи данных. (Случилось так, что размер обоих моих дисков был кратным 8192. Не уверен, что это имело значение, но так было безопаснее).Есть способ получить статус прогресса с помощью команды
dd
. По-видимому,dd
отображает свой текущий статус передачи, когда получает правильный сигнал. Я использовал метод, предложенный в этом ответе сервера . Тем не менее, я использовал интервал в 120 секунд, а не 10, поскольку я не хотел, чтобы меня "затопило" информацией о прогрессе.
Потребовалось около 2 часов 20 минут, чтобы полностью клонировать мой диск на 500 ГБ на другой диск на 500 ГБ. Окончательное сообщение о статусе от dd было
500107862016 bytes (500 GB) copied, 8353.86 s, 59.9 MB/s
Что ему не хватает с точки зрения опций, этот процесс наверняка компенсируется простотой и полнотой. :-)