У меня есть большая виртуальная машина VirtualBox 55 ГБ ок. Это в настоящее время на моем внешнем жестком диске. Проблема в том, что я не могу скопировать его с моего внешнего жесткого диска USB на мой компьютер. Приблизительно в 75% это только терпит неудачу копия. Я не могу клонировать его, так как он пытается клонировать с жесткого диска на мой компьютер. Это должно быть связано с некоторыми ограничениями моего внешнего жесткого диска, хотя я не могу быть в этом уверен. Его всего годик. Единственное, о чем я могу думать прямо сейчас, - это скопировать его по 25 ГБ каждый, а затем скопировать и соединить обратно в один. У кого-нибудь есть другие варианты, которые я могу попробовать? и если разделение файлов является единственным вариантом, какой тип разделителей файлов вы бы порекомендовали для разделения и объединения больших файлов виртуальной машины?
3 ответа
Возможно, вам удастся использовать другую программу для копирования папки виртуальной машины. Если нет, то вы всегда можете создать разделенный архив папки VM, скопировать архив по частям, а затем распаковать его.
Альтернативные способы копирования данных:
Использование Xcopy для копирования каталогов:
xcopy "C:\vmfolder" "D:\vmfolder" /E /V /I /F /H /-Y /J
Замените C:\vmfolder
на местоположение папки VM, а D:\vmfolder
на место, куда вы хотите скопировать его.
/E
Копирует каталог, подкаталоги и все файлы в них.
/V
Проверяет размеры файлов впоследствии.
/I
Позволяет указать каталог назначения.
/F
Показывает, что копируется во время копирования.
/H
Копирует скрытые файлы, а также системные файлы.
/-Y
Запрашивает, если вы собираетесь перезаписать существующий файл.
/J
Буфер ввода / вывода не используется. Идеально подходит для работы с большими файлами.
Вот пример:
xcopy "E:\ Виртуальные машины \ VMware Player \ Ubuntu 14.04.1 - Core X86-64" "F:\ Temp \ Ubuntu 14.04.1 - Core X86-64" /E /V /I /F /H /-Y /Дж
Использование Robocopy для копирования каталогов:
robocopy "C:\vmfolder" "D:\vmfolder" /E /J /SL /MT [:1] /V /FP /ETA /TEE
Замените C:\vmfolder
на местоположение папки VM, а D:\vmfolder
на место, куда вы хотите скопировать его.
Вы можете оставить /MT[:1]
как есть или, если ваш компьютер может обрабатывать больше потоков, вы можете увеличить его.
/E
Копирует подкаталоги.
/J
Буфер не используется для входов / выходов, что полезно для больших файлов.
/SL
Если используются символические ссылки, скопируйте ссылку, а не цель.
/MT[:n]
Многопоточное копирование; Минимальное количество потоков - 1, максимальное - 128. Используйте номер, который может обработать ваша система.
/V
Подробные выводы.
/FP
Добавляет полный путь к выводам.
/ETA
Оценивает время до завершения.
/TEE
Вывод на консоль в дополнение к файлу журнала.
Вот пример:
robocopy "E:\ Виртуальные машины \ VMware Player \ Ubuntu 14.04.1 - Core X86-64" "F:\ Temp \ Ubuntu 14.04.1 - Core X86-64" /E /J /SL /MT [:1] /V /FP /ETA /TEE
Создание архива, его копирование и извлечение
Использование 7-zip версии командной строки для создания сплит-архива:
C:
Замените C:
на диск, на который вы хотите сохранить архив.
CD "C:\savelocation"
Замените C:\savelocation
на место на диске, на котором вы хотите сохранить архив. Все потому, что 7zip не поддерживает указание выходного пути при создании архивов (хотя это делается для извлечения с помощью e
).
7za a -tzip -r -mx0 -mmt -v5g "vmfolder.zip" "C:\vmfolder"
Substite vmfolder.zip
для имени архива и C:\vmfolder
для пути к папке виртуальной машины.
Добавляет файлы в архив.
-r
Рекурсивно добавляет подкаталоги.
-mx0
Устанавливает сжатие в нет.
-mmt
Включает многопоточность.
-v
Разбивает архив на куски, g
для гигабайт, m
для мегабайт, k
для килобайт и b
для байтов.
t
Выберите тип архива, zip
для zip-архивов.
Например:
E:
cd "E:\ Виртуальные машины \ VMware Player"
7za a -tzip -r -mx0 -mmt -v300m "Ubuntu 14.04.1 - Core X86-64.zip" "E:\ Виртуальные машины \ VMware Player \ Ubuntu 14.04.1 - Core X86-64"
Использование Xcopy для копирования файлов:
xcopy "C:\savelocation * .zip *" "D:\savelocation" /V /I /F /H /-Y /J
Замените C:\savelocation
на расположение архивов, а D:\savelocation
на место, где вы хотите их скопировать.
/V
Проверяет размеры файлов впоследствии.
/I
Позволяет указать каталог назначения.
/F
Показывает, что копируется во время копирования.
/H
Копирует скрытые файлы, а также системные файлы.
/-Y
Запрашивает, если вы собираетесь перезаписать существующий файл.
/J
Буфер ввода / вывода не используется. Идеально подходит для работы с большими файлами.
Например:
xcopy "E:\ Виртуальные машины \ VMware Player * .zip *" "F:\ test" /V /I /F /H /-Y /J
Использование 7-zip версии командной строки для извлечения сплит-архива:
D:
Подсистема D:
для диска, на который вы хотите извлечь архив.
CD "D:\ extractlocation"
Подстановка C:\extractionlocation
extractlocation для расположения на диске, на который вы хотите извлечь.
7za x -mmt "D:\savelocation\vmfolder.zip.001"
Подстановка D:\savelocation\vmfolder.zip.001
для размещения архивов. Когда 7-zip создает разделенные архивы, он добавляет 001
, 002
и т.д. К отдельным частям.
x
Извлекает файлы и папки в обычном режиме.
-mmt
Включает многопоточность.
Например:
F:
CD "F:\test"
7za x -mmt "F:\ Виртуальные машины \ VMware Player \ Ubuntu 14.04.1 - Core X86-64.zip.001"
Заметки:
- Неудачная передача файлов при высоких нагрузках может быть показателем недостаточной мощности накопителя.
- 7-zip выпускается в 2 версиях: 7-zip и 7-zip Версия командной строки. 7-zip - это только графический интерфейс, а 7-zip - версия командной строки только для CLI.
Обычно не должно быть проблем с копированием файла 55 ГБ, поэтому вам, возможно, придется решить эту проблему. Я помню, что кто-то должен отключить энергосбережение, чтобы компьютер не перешел в спящий режим во время копирования.
Вы можете попробовать использовать HJsplit ( http://www.hjsplit.org/ ). Это бесплатно и может быть сброшено (установка не требуется).
шаги:
- Создайте новую папку с тем же именем, что и папка VM, но на диске, на котором вы хотите установить виртуальную машину.
- Скопируйте все маленькие файлы из папки VM в новую папку.
- Загрузите HJsplit и используйте его для разделения и объединения больших файлов.
- Запустите HJsplit
- Выберите
Split
- Выберите входной файл, расположение вывода и размер разделения, затем нажмите «
start
. Повторите для каждого файла, который нужно разделить. Он может "казаться" зависшим на отметке100%
, но это всего лишь ошибка, когда он сообщает вам 100% первого файла, а затем не рассчитывает для остальных; программа все еще работает. - После завершения процесса разделения найдите разделенные файлы, а затем скопируйте их на диск, на котором вы хотите их разместить, но не помещайте их в новую папку.
- В HJsplit нажмите
Join
. - Найдите входной файл, который будет первой частью, он закончится в
.001
. Найдите выходную папку, которая будет вашей ранее созданной новой папкой со всеми скопированными небольшими файлами. Наконец нажмитеstart
. Вам нужно будет повторить это для всех файлов, которые вы разделяете. - В HJsplit нажмите
Checksum
. - Найдите исходный файл и нажмите «
start
. Может "казаться" зависать на 100%, но все равно работает. Вы получите контрольную сумму и повторите процедуру для файла в новой папке, используя другой экземпляр HJsplit. - Контрольные суммы должны совпадать, если они не ваши файлы не совпадают!
Заметки:
- HJsplit займет некоторое время, чтобы разбить большие файлы. Я протестировал файл размером 5,5 ГБ, и это заняло около 20 минут; процесс соединения происходит быстрее, а процесс контрольной суммы эквивалентен высыханию краски.
- Вы также можете использовать функцию сравнения, чтобы убедиться, что ваши файлы одинаковы.