zar, первым делом, первым делом ... никогда не перемещайте машину, которая находится в сохраненном состоянии, перед перемещением вы должны закрыть гостя, а не просто сохранить состояние.
Также убедитесь, что вы используете одну и ту же версию VirtualBOX на обоих хостах, но не только версию VirtualBOX, но и версию пакета расширений ... или, по крайней мере, новый хост имеет более высокую версию, но никогда не более низкую версию на любом из двух тысяч.
И, наконец, я усвоил это сложным путем: удалите конфигурацию папки SHARED в VirtualBOX перед перемещением машины, а затем заново создайте ее правильным образом ... очень важно, когда хост - это разные ОС (хосты Windows / Linux).
И как примечание ... я всегда, всегда использую неизменяемые файлы VDI жесткого диска для ОС, а также для VDI данных (таким образом, один и тот же VDI DATA может использоваться для более чем гостевой системы), особенно уловка для 4GiB pagefile.sys
Последняя часть, повторное использование неизменяемого файла VDI, усложняет задачу, VirtualBOX имеет БОЛЬШУЮ ОШИБКУ.
Чтобы увидеть ошибку в действии:
- Создайте один неизменяемый VDI (например, тот, который я использую для pagefile.sys)
- Создайте две или три виртуальные машины на VirtualBOX
- Переместите один из них в верхнюю часть списка (просто чтобы не повредить кому-либо из ваших)
- Создайте резервную копию файлов .vbox каждой из созданных вами машин (для сравнения после того, как произошла ошибка)
- Подключите этот неизменяемый VDI к более чем одной из этих машин (кроме той, что находится вверху списка)
- Теперь посмотрите на .vbox компьютера, который находится вверху списка.
Эта машина была отредактирована, в ней есть ссылки на другие неизменяемые VDI машины.
Итак, ОШИБКА: отредактируйте одну машину, добавив неизменный VDI, который используется другой, влияет на машину в верхней части списка.
Почему, черт возьми, я повторно использую тот же VDI 4GiB на всех машинах Windows? Легко, это MBR-диск с разделом FAT32, куда я помещаю pagefile.sys, так как он неизменен, все виртуальные машины создадут файл в своей папке моментальных снимков, где они сохранят изменения, и которые будут потеряны при следующей загрузке, поэтому я делаю не нужно 4 ГБ для каждого гостя, хранящегося на диске хоста, только один ... таким образом, я сохраняю много ГиБ, так как у меня есть более 20 различных окон для тестирования приложений, которые я разрабатываю для себя, все комбинации (XP, Vista , 7, 8, 8.1, 10) * (32 Бита, 64 Бита) * (Как и при первой установке, после каждого ServicePack, после полного обновления Windows), я получаю много, много гостей ... так что на всех Я разделяю неизменный 4GiB VDI для виртуального оперативной памяти (pagefile.sys).
И если вы позволите BUG пойти дальше, попробуйте переместить одну из thous-машин на другой хост VirtualBOX (помните, что это всего лишь виртуальная машина с конфигурацией на них, и на ней еще нет гостя), вы увидите, что VirtualBox не позволяет вам добавьте их, так как некоторые VDI отсутствуют (это FALSE и TRUE, так как такая первая машина содержит ссылки на такие VDI, которые гарантированно находятся на правильной машине).
Теперь сравните файлы .VBOX всех них с предыдущими BackUp ... обратите внимание, как один из них был изменен неправильно? ... да, он находится в верхней части списка.
Что ж, об этой ОШИБКЕ сообщили в VirtualBOX несколько лет назад, они до сих пор не могут ее исправить ... и это вызывает много, много проблем.
Кроме того, если вы переместите верхнюю на виртуальных машинах в более низкую позицию, закройте VirtualBox и перезапустите его ... сообщит вам, что некоторые машины повреждены и не могут быть запущены ... да, первая из списка нужно относиться в другой форме, если вы не хотите получать много неприятностей.
Это действительно плохой БАГ, который занял у меня много дней (несколько лет назад), я выучил его трудным путем!
Я преодолел это, имея машину, которую назвал:
У него пустая конфигурация и только один VDI, да, вы правы, вы догадались, это неизменный VDI, которым я делюсь для всех остальных виртуальных машин.
Хорошо, когда я открываю файл .VBOX, я вижу внутри него много строк в <MediaRegistry>
<HardDisks>
разделе, по одной на каждую машину, где я использую этот неизменяемый VDI ... просто в качестве примера (я удаляю личные данные):
<MediaRegistry>
<HardDisks>
<HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
<HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
... and so on ... // This belongs to other virtual Machine
</HardDisk>
</HardDisks>
</MediaRegistry>
Симпатичная ошибка, не решаемая годами.
Хорошо, чтобы переместить такие машины ... вы должны вручную отредактировать файлы .VBOX, чтобы поместить все ссылки на такие диски на новый хост на первом компьютере (тот, который находится в верхней части списка) до добавления .VBOX. файлы в список, поэтому при их добавлении в VirtualBOX есть ссылки на отсутствующие VDI (отсутствующие, вызванные большой ошибкой).
Это происходит потому, что каждый раз, когда вы подключаете VDI, который используется на другой машине, VirtualBOX обновляет файлы .VBOX двух машин (тот, который принадлежит машине, которую вы используете) и первый в списке.
Я не совсем уверен, что произойдет, когда в списке, к первому не прикреплен такой общий VDI ... лучше не пробовать, видел, что я вижу.
Поэтому переход на другой HOST намного сложнее, чем кажется, из-за очень плохой реализации внутренней структуры файлов .VBOX и из-за очень больших ошибок, когда их редактирует VirtualBOX.
Сбой:
- Внутренняя структура (XML) зависит от HOST (Windows или Linux)
- Редактирование одной машины может изменить другую, а не только редактируемую
- ... что еще ?
Нужно больше ... я всегда переносил машины, делая это (и не было проблем, никогда никогда):
- Запишите список всех машин (порядок, группировка и т. Д.)
- Обратите внимание на первый в списке (все его настройки)
- Обратите внимание на все свойства машин, которые я хочу перенести на другой хост
- Скопируйте файлы .vbox как файлы .txt (тот, что вверху списка + все машины, которые я хочу перенести)
- Создайте заново все машины (и установите специальную в верхней части списка) внутри VirtualBox на новом хосте.
- Закройте VirtualBox на новом хосте
- Diff сравнивает старый .txt с новыми файлами .vbox и копирует из .txt в .vbox некоторые части по-человечески, а не просто копирует и вставляет
- Откройте VirtualBox и прикрепите все VDI в правильном порядке.
- Снова закройте VirtualBox на новом хосте
- Diff сравнивает старый .txt с новыми файлами .vbox и «исправляет» из .txt в .vbox некоторые части по-человечески, а не просто копирует и вставляет
Все остальное (папка моментальных снимков и файлы VDI) я копирую их обычным способом (File System Copy & Paste).
Вся эта тяжелая ручная работа вызвана Big BUG VirtualBox: он редактирует / изменяет компьютер, который не был изменен, когда вы присоединяете неизменяемый VDI, который используется более чем на одном компьютере, иначе достаточно будет просто скопировать и вставить файл .VBOX (после исправление путей к общим папкам и т. д.).