Невозможно скопировать большой образ VirtualBox с локального диска NTFS

Невозможно скопировать большой образ VirtualBox с локального диска NTFS

У меня есть большой (15,7 Гигабайт) образ виртуальной машины, резервную копию которого я хочу создать на своем ноутбуке.

Он находится на разделе NTFS (Windows 7; 64 бит).

Когда я пытаюсь скопировать файл с помощью "Проводника Windows", он всегда застревает на 4 гигабайтах. Файл не используется. Ограничение в 4 ГБ не должно применяться, если я понимаю ограничения FAT16 / NTFS. Сообщение об ошибке:

«Невозможно прочитать исходный файл или диск».

Неважно, куда я его копирую, например, на сетевой диск, внешний диск NTFS. Я также пытался использовать 7zip для разделения файла (zip; нулевое сжатие). 7zip выдает ошибку "Ошибка данных (циклический избыточный код)". Затем я попробовал robocopy <source folder> <destination folder>; robocopyотчеты ERROR 23и Data error (cyclic redundancy check). Копирование на sftp-сервер также выдало ошибку.

Странно, однако, что файл не поврежден. Образ VirtualBox загружается нормально, и я могу выполнять все номинальные операции с ним.

Не могли бы вы подсказать, что попробовать дальше? Я больше знаком с Linux и хотел бы попробовать сделать сырую копию (на Linux: dd), но не знаю, как это сделать в Windows. Также имейте в виду, что я не администратор на этой машине (но могу попросить об этом, если возникнут некоторые трудности). У меня также нет возможности смонтировать диск на другой системе. К сожалению, мои внутренние администраторы не слишком креативны...

Что может помочь? Проверка файловой системы (не знаю, как ее принудительно выполнить)? "сырая копия" - в сети, кажется, есть инструменты? Какие команды можно попробовать?

решение1

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

Информацию о состоянии диска можно найти, просмотрев его атрибуты SMART, например, с помощью Спекки. Вы также можете просмотреть сообщения, касающиеся диска, в средстве просмотра событий.

Если обнаружен поврежденный сектор, вы можете либо удалить виртуальную машину, либо создать ее заново, либо скопировать ее из резервной копии.

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

решение2

Я немного запутался в форматах разделов на источнике и месте назначения:

  • NTFS(в Windows 7) поддерживает максимальный размер файла16ТБ
  • FAT16поддерживает максимальный размер файла4ГБ

Если вы пытаетесь скопировать файл размером 16 ГБ из раздела NTFS Windows 7 в раздел FAT16, это не сработает (независимо от механизма копирования, например USB, SCP или сетевой диск) и завершится ошибкой на отметке 4 ГБ, поскольку это максимальный размер файла, разрешенный в FAT16.

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

решение3

Большое спасибо @all за помощь и энтузиазм. Всегда приятно видеть, какую помощь можно получить здесь.

Развязка истории:

После выполнения рекомендаций по экспорту виртуальной машины,плохие блокиТеория привлекла мое внимание. Интересно, что плохие блоки не влияли на работу гостевой виртуальной машины, поскольку она, вероятно, находилась в неиспользуемом гостевом дисковом пространстве. Это также могло быть связано с тем, что диск виртуальной машины был создан как «растущий» до максимального размера в 20 гигабайт, но он пока не использовал так много места.

Из-за отсутствия прав администратора я не смог смонтировать весь диск хоста или установитьнеудержимые копировальные аппараты. Однако решающий совет пришел от @criggie: «Сделайте резервную копию виртуальной машины изв пределах".

Я добавил второй виртуальный диск к виртуальной машине ( sdb), а также прикрепил загрузочный Linux ISO. Из загруженного Linux ISO я мог выполнить ddзеркалирование sdaна sdb. Однако это привело к ошибкам. Когда ddэто не удалось, я вернулся к ddrescue, который скопировал как можно больше (во время игры с dd, впервые такжеОкнапоявилась индикация о повреждении диска (также показано):

введите описание изображения здесь

Я мог бы сделать резервную копию образа размером 20 гигабайт sdbна внешний диск. Я удалил поврежденный виртуальный жесткий диск sdaи ISO из виртуальной машины и загрузился в новую систему из резервной копии sdb. Пока что, похоже, никаких повреждений данных не произошло, по крайней мере, в системных библиотеках или домашнем каталоге.

Особая благодарность @Silbee и @harrymc. Я приму свой собственный ответ, чтобы показать конкретное решение.

решение4

Файл может выглядеть как 15 гигабайт, но если он разреженный (vm-ware делает это, если вы выбираете его при создании диска), он может расшириться до своего полного размера во время копирования.

Если это разреженный диск объемом 100 ГБ, который почти пуст, он не поместится на USB-флешку объемом 64 ГБ, если вставить все эти нули.

Связанный контент