У меня есть резервная копия диска Windows 7 (установка virtualbox), сделанная в формате .raw, и я хочу извлечь ее в мой пустой раздел, готовый для Windows. Я использую OSX. Есть идеи? Я попробовал это:

sudo dd if=/Volumes/DATA/bootcamp.raw of=/dev/disk0s6

Это прекрасно работает, но когда я перезагружаюсь (я на hackintosh, так что я использую загрузчик Chameleon), я получаю обычное меню загрузки Chameleon, но с неизвестным GPT-разделом (так он называется), и если я выбираю, он говорит: Отсутствует операционная система , На этом разделе не работает MBR?

1 ответ1

0

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

  1. У вас есть образ RAW/dd всего диска, который включает таблицы разделов (MBR, по-видимому, его) и файловую систему в одном из этих разделов.
  2. Вы хотите записать этот образ диска в существующий раздел (GPT) на отдельном диске

Проблема в том, что вы вкладываете таблицу разделов в таблицу разделов и смешиваете типы таблиц разделов для загрузки. Таким образом, у вас есть таблица разделов GPT, и один из этих разделов не содержит файловой системы, такой как NTFS, а содержит таблицу разделов MBR с разделом для NTFS.

Чтобы решить эту проблему, вам нужно будет пропустить часть таблицы разделов образа raw/dd и просто скопировать часть образа файловой системы в целевой раздел. Кроме того, вам, вероятно, необходимо убедиться, что в целевом разделе задан правильный тип файловой системы.

Быстрое и грязное решение:

sudo dd if=/Volumes/DATA/bootcamp.raw of=/dev/rdisk0s6 skip=63 bs=16K

Более точное решение:

  • установите комплект Sleuth Kit (TSK), чтобы точно рассчитать, где находится файловая система
  • mmls /Volumes/DATA/bootcamp.raw; Эта команда сообщит вам начало файловой системы и длину. Найдите нужную файловую систему в разделе Описание. Вы, вероятно, хотите тот, который говорит NTFS.
  • sudo dd if = /Volumes /DATA /bootcamp.raw of = /dev /rdisk0s6 skip = $ Start bs = 1 count = $ Length; Заполните переменные $ Start и $ Length значениями, рассчитанными на шаге 2. Также это, вероятно, будет работать очень медленно, так как мы устанавливаем размер блока равным 1, что ухудшит буферизацию, но вы скопируете ровно все байты в FS, а не еще один байт.

* Обратите внимание, что оба вышеупомянутых решения предполагают, что у вас есть только 1 раздел в вашей системе Windows. Если у вас есть больше разделов, то вам придется использовать второе решение и настроить для дополнительных разделов

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .