VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Модератор: Модераторы разделов

Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

Друзья! VirtualBox 7.0.18 r162988. На борту debian 12. Минимальная установка (голая консоль), стандартные настройки.

А теперь посмотрим идентификаторы оборудования:
user@debian:~$ ls -1 /dev/disk/by-id
ata-VBOX_CD-ROM_VB2-01700376
ata-VBOX_HARDDISK_VB91a4e586-b3f9784f
ata-VBOX_HARDDISK_VB91a4e586-b3f9784f-part1
ata-VBOX_HARDDISK_VB91a4e586-b3f9784f-part2
ata-VBOX_HARDDISK_VB91a4e586-b3f9784f-part5

user@debian:~$
Клонируем её вот так:
kl.png
И на клонированной машине посмотрим идентификаторы оборудования, как они сохранились:
user@debian:~$ ls -1 /dev/disk/by-id
ata-VBOX_CD-ROM_VB2-01700376
ata-VBOX_HARDDISK_VBdbedf57e-e3af276d
ata-VBOX_HARDDISK_VBdbedf57e-e3af276d-part1
ata-VBOX_HARDDISK_VBdbedf57e-e3af276d-part2
ata-VBOX_HARDDISK_VBdbedf57e-e3af276d-part5

user@debian:~$
Чёрта лысого они сохраняются. Так как же на самом деле их сохранить при клонировании? Спасибо, кто откликнется.

P.S. подобное наблюдается как при работе со всеми допустимыми файлами, а именно: *.vdi, *.vhd и *.vmdk.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

Ребята, есть какие-нибудь соображения по этому вопросу?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

день добрый!
давно работаю в виртуал-боксом... с самого начало "у них" там был треш с внутренними идентификаторами (которые не только не помогали в работе, а наоборот - мешали и были как 5е колесо в телеге, пречем перпендиклярно движению), а после 3х-версии начались вообще идиотские вводные с "сылками/названиями/запретами/дополнительными тупичками"... короче, судя по выбранному направлению "с этим" все у них очень плохо.
по поводу именно вашего вопроса, по нашему, по разведывательно/еврейски, встречный: а зачем вам это надобно?
если "просто" для клонирования машины?
делаю так:
- копирую имидж диска *.vdi (или что там у вам)
- настройки вбиваю вручную заново (не очень приятно, особенно, если много расшареных папок, но можно :о)
вроде все?! особенно не напрягает при "создании новых/клонировании", как говориться, что есть, то есть!
удачи.
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob писал(а):
13.10.2024 17:40
день добрый!
давно работаю в виртуал-боксом... с самого начало "у них" там был треш с внутренними идентификаторами (которые не только не помогали в работе, а наоборот - мешали и были как 5е колесо в телеге, пречем перпендиклярно движению), а после 3х-версии начались вообще идиотские вводные с "сылками/названиями/запретами/дополнительными тупичками"... короче, судя по выбранному направлению "с этим" все у них очень плохо.
по поводу именно вашего вопроса, по нашему, по разведывательно/еврейски, встречный: а зачем вам это надобно?
если "просто" для клонирования машины?
делаю так:
- копирую имидж диска *.vdi (или что там у вам)
- настройки вбиваю вручную заново (не очень приятно, особенно, если много расшареных папок, но можно :о)
вроде все?! особенно не напрягает при "создании новых/клонировании", как говориться, что есть, то есть!
удачи.
исследовательский интерес. На клонированном *.vdi астралинукс НЕ обновляется удачно. Конкретнее- не обновляется пакет grub-pc из-за несовпадений идентификаторов.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

жучара писал(а):
13.10.2024 17:51
На клонированном
сами-же видите, что "клонирование" (да и многое другое) тут через ж...пу реализовано, не мудрено, что "что-то" будет работать так, как "не ожидается от него".
мое предположение: из-за повышенной "секретности" на самом "страто-линухе".
попробуйте все сделать "мануально" (вручную скопировать *.vdi, создать новую виртуалку, добавить диск итд) :yes3:
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob писал(а):
14.10.2024 04:06
попробуйте все сделать "мануально" (вручную скопировать *.vdi,
это как?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

sunjob писал(а):
13.10.2024 17:40
если "просто" для клонирования машины?
делаю так:
- копирую имидж диска *.vdi (или что там у вам)
- настройки вбиваю вручную заново (не очень приятно, особенно, если много расшареных папок, но можно :о)
вроде все?! особенно не напрягает при "создании новых/клонировании", как говориться, что есть, то есть!
не надо уточнять о том, что это процесс создания новой виртуальной машины? (т.е. клонирование в ручную :crazy: )
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob, вы как вручную клонируете *.vdi? (если клонируете)
Как я клонирую, я показал в первом сообщении. Уж не знаю, вручную это или нет, но вот так вот.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

- копирую имидж диска *.vdi (или что там у вам)
что тут не понятного?! берете имидж1 копируетет в имидж2 любыми удобными для вас средствами:
- командная строка
- браузер/проводник/файловый менеджер
- усилем мысли и воли

надеюсь, теперь понятно?
или вы меня трОлите? судя по кол-ву ваших сообщений ... :tongue:

спрашивайте, если я не настолько хорош, что-бы понятно обьяснять! :drinks:

p.s. возможно, могу такое допустить, что вам не понятна/не известна структура/строение каталогов Virtual-Box, что где лежит, за что отвечает?
если так, то более подробно опишу позже, когда доберусь до рабочей тачки :yes3:
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob писал(а):
15.10.2024 02:36
- копирую имидж диска *.vdi (или что там у вам)
что тут не понятного?! берете имидж1 копируетет в имидж2 любыми удобными для вас средствами:
- командная строка
- браузер/проводник/файловый менеджер
- усилем мысли и воли

надеюсь, теперь понятно?
или вы меня трОлите? судя по кол-ву ваших сообщений ... :tongue:

спрашивайте, если я не настолько хорош, что-бы понятно обьяснять! :drinks:

p.s. возможно, могу такое допустить, что вам не понятна/не известна структура/строение каталогов Virtual-Box, что где лежит, за что отвечает?
если так, то более подробно опишу позже, когда доберусь до рабочей тачки :yes3:
я так делал и у меня ни хрена не получилось. При создании виртуальной машины с *.vdi в папке машины минимально два файла присутствуют. Надо оба копировать? Вот такие файлы:
*.vdi
*.vbox
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

Код: Выделить всё

~/.VirtualBox                - корневой/домашний каталог пользователя vbox-a
~/.VirtualBox/VirtualBox.xml - основные настройки, список всех машин
~/.VirtualBox/mac            - каталог с вирт.машинами (*)
(*) - во всяком случае, у меня именно этот каталог (mac), я мог его изменить (т.к. затачивал под себя боксину очень давно, сразу, после выхода, то уже не помню, что было до "этого", ... так далее и использую эту структуру. точнее, я еще больше "подрихтовал" структуру строения каталогов, но в данном случае это не принципиально, нам нужен только данный каталог mac. смотрите сами, какой у вас каталог содержит "машины", вот с ним и будем дальше работать.

в частности, каталог с бубунтой:

Код: Выделить всё

~/.VirtualBox/mac/ubuntu-23.10.1
~/.VirtualBox/mac/ubuntu-23.10.1/ubuntu-23.10.1.vbox - файл с настройками 
выкус из файла, настройки диска, UUID

Код: Выделить всё

      <StorageControllers>
        <StorageController name="IDE" type="PIIX4" PortCount="2" useHostIOCache="false" Bootable="true">
          <AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0">
            <Image uuid="{843cdd02-a4bc-4234-83d5-310ff858e7fd}"/>
          </AttachedDevice>
        </StorageController>
        <StorageController name="SATA" type="AHCI" PortCount="1" useHostIOCache="false" Bootable="true" IDE0MasterEmulationPort="0" IDE0SlaveEmulationPort="1" IDE1MasterEmulationPort="2" IDE1SlaveEmulationPort="3">
          <AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
            <Image uuid="{31ab8354-324b-4739-adf6-613f651a3a32}"/>
          </AttachedDevice>
        </StorageController>
      </StorageControllers>
    </Hardware>
  </Machine>
</VirtualBox>
в частности, "название виртуальной машины" = "каталогу с вирт.машиной"
ubuntu-23.10.1
поэтому, на будущее, не надо извращаться с названиями машин, называйте коротко/понятно/без пробелов

ну вот и танцуйте отсюдова :yes3:

я никогда не клонировал машины средствами vbox-а, по озвученной выше причины (идиоты в руководстве и разработке).
делал примерно следующее:
- создается новая/пустая/мини вирт.машина (средствами vbox-а), например
ubuntu-23.10.1_new
автоматом:
- нов.машина добавляется в список
- создается каталог (с минимальным наполнением):

Код: Выделить всё

~/.VirtualBox/mac/ubuntu-23.10.1_new/
далее по вкусу: копирую со старого каталога диски, настройки машины делаю персонально/руками в свойствах.

в вашем случае, по условиям топика, нужно сохранить UUID дисков, так?
т.е. мы берем и полностью копируем содержимое исходного каталога в новый (что бы, самое главное, скопировать UUID-дисковых разделов).
вот тут вылезают грабли vbox-a, как следствие:
*.vdi - файл-имидж-диска (новый, скопированный) будет иметь тот-же UUID что и старый, боксина будет орать как резаная и не позволит запуститься.
для этого используется скрипт/команда смены UUID для файла-имиджа-диска:

Код: Выделить всё

#!/bin/bash
set -e; clear
VBoxManage internalcommands sethduuid *.vdi # new uuid
echo "### OK ###"
в моем случае этого было достаточно, что-бы боксина заткнулась и стала выполнять свои обязанности :yes3:

уточнение:
- мы скриптом меняем UUID - именно имиджа диска, что-бы боксина не орала на "дубликат".
- а вот UUID-разделов (что прописано в ф.настроек машины) - мы не меняли, а скопировали их с исходника (ваша задача), но как себя поведет боксина с этими "дублями" хрен знает (башка у нее тЁмная :crazy:) и что от нее ожидать... это можете сказать только Вы сами, после экспериментов.

так, что дерзайте, описывайте что у вас получилось (надеюсь пригодится всем, кто юзает vbox)

вроде все?! :drinks:
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob, спасибо, мы к этому ещё вернёмся а пока же- эксперименты с командой
VBoxManage internalcommands sethduuid привели к такому результату. Поменяться-то UUID поменялся, но машина теперь не запускается:

Shell

$ VBoxManage startvm "klon_deb_12_original_0"
Waiting for VM "klon_deb_12_original_0" to power on...
VBoxManage: error: UUID {c02c46ea-48c0-4e06-91a9-9319672f70fa} of the medium '/home/user/VirtualBox VMs/klon_deb_12_original_0/deb_12_original_0.vdi' does not match the value {76bf6571-5556-4378-a1ba-81c8eda351d9} stored in the media registry ('/home/user/.config/VirtualBox/VirtualBox.xml')
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium
$
То есть один идентификатор c02c46ea-48c0-4e06-91a9-9319672f70fa не соответствует другому 76bf6571-5556-4378-a1ba-81c8eda351d9, который в файле /home/user/.config/VirtualBox/VirtualBox.xml. А самое плохое, что в файле /home/user/.config/VirtualBox/VirtualBox.xml идентификатора 76bf6571-5556-4378-a1ba-81c8eda351d9 нет и в помине!

Shell

$ VBoxManage startvm "klon_deb_12_original_0"
Waiting for VM "klon_deb_12_original_0" to power on...
VBoxManage: error: UUID {c02c46ea-48c0-4e06-91a9-9319672f70fa} of the medium '/home/user/VirtualBox VMs/klon_deb_12_original_0/deb_12_original_0.vdi' does not match the value {76bf6571-5556-4378-a1ba-81c8eda351d9} stored in the media registry ('/home/user/.config/VirtualBox/VirtualBox.xml')
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium
$
$ cat /home/user/.config/VirtualBox/VirtualBox.xml | grep 4378
$
Вот это грусть так грусть.
Последний раз редактировалось жучара 08.02.2025 19:58, всего редактировалось 1 раз.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

день добрей!
пока не вчитывался в выхлоп ошибок (сорри, нет времени)!
т.е. вы изменили GUID диска, и виртуалка заорала на что?
попробуйте
- в настройках вирт.машины осводобить/удалить hdd
- в общих настройках vbox - удалить, добавить hdd
- в настройках вирт.машины добавить этот, только что добавленный, диск
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob писал(а):
08.02.2025 00:41
т.е. вы изменили GUID диска, и виртуалка заорала на что?
она заорала, что в файле VirtualBox.xml прописан определённый идентификатор, а он там не прописан. Вы всё-таки посмотрите потом, это баг какой-то, что ли.
-----------------------------------------------------------------
...Короче, самый верный способ клонировать, чтобы всё сохранилось

1) Бэкапим папку "~/VirtualBox VMs"
2) Из папки "~/VirtualBox VMs" удаляем все папки, кроме нужной
3) Бэкапим файл ~/.config/VirtualBox/VirtualBox.xml

Запускаем виртуалку, и радуемся жизни. Ну там ещё ~/.config/VirtualBox/VirtualBox.xml перед запуском можно подправить, чтобы не показывал несуществующих машин, но это опционально уже.

Потом восстанавливаем всё из бэкапов и живём дальше. Такие дела.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

вот теперь еще больше запутали...
- что правили, ни чего не правили (в настройках/файлах вирт.машины, вирт-бокса)?

по поводу ошибок, первый выхлоп

Код: Выделить всё

$ VBoxManage startvm "klon_deb_12_original_0"
Waiting for VM "klon_deb_12_original_0" to power on...
VBoxManage: error: UUID {c02c46ea-48c0-4e06-91a9-9319672f70fa} of the medium '/home/user/VirtualBox VMs/klon_deb_12_original_0/deb_12_original_0.vdi' does not match the value {76bf6571-5556-4378-a1ba-81c8eda351d9} stored in the media registry ('/home/user/.config/VirtualBox/VirtualBox.xml')
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium
на сколько я понял, говорит о том, что (я и писал в пред. сообщении)
- вы сменили номер диска
- а в настройках он остался прежний (чего бы удивляться?!)

поэтому я и написал:
- разблокировать диск
- удалить из виртуалки (локально)
- удалить из вбокса (глобально)
- добавить "обновленный" диск

собственно, ни чего особенного

а вообще, да, архитекторы/погромисты вбокса редкостные идиоты: навалили какашей на каждом углу, заложили мины, самоликвидаторы а теперь - давайте всю эту ху%ню попробуем поднять в воздух?! :о)

последний ваш "рабочий вариант" меня сильно смущает, заумно как-то (у меня работа по клонированию/переносу ни требует таких приседаний, вообще, почти, ни чего не требует, только вполне логично понятное копирование в новый какталог/вирт.машину)
в работе сейчас около 50ти разношерстых виртуалок, ни чего удалять, бекапить, восстанавливать не требуется (в процессе клонирования/копировани итд (*)).
ладно, с другой стороны, если у вас все работает и все устраивает - ну тады и славно! :drunk:

(*) - естественно, все манипуляции с "материалом" делаются вручную, без участия v-box-а :yes3:
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob писал(а):
08.02.2025 13:56
- а в настройках он остался прежний (чего бы удивляться?!)
да кабы оно так было, разговора бы не было. Он НЕ остался прежний, я написал же:

Код: Выделить всё

А самое плохое, что в файле /home/user/.config/VirtualBox/VirtualBox.xml идентификатора 76bf6571-5556-4378-a1ba-81c8eda351d9 нет и в помине!
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

ну ваще все вообще запутали! :о)

если хотите "мнения/взгляда со стороны", то:
- разложи все по полкам (так, что бы и самому стало понятно после прочтения)
- все-все... (каталоги, что где лежит, серийные/GUID итд)
- что у нас есть изначально (что не работает, не устраивает, что надо)
- что делаете (дотошно, все команды с описанием)
- что получаем (так-же, дотошно, с полным описанием)
- с максимально полным выхлопом ошибок, пояснений, итд

как то так... (попробую с нубука глянуть, а то с патифона сложно воспринимать :о)))
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob
Ось говорит, что идентификатор есть, а его нет. Если вам это непонятно, то что бы я не написал дальше, вас всё только запутает. Поэтому спасибо и расходимся.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

жучара писал(а):
08.02.2025 21:17
а его нет
так вот вопрос в том, что он "вроде как" был "тот что надо", а когда он вдруг "изменился", на каком этапе?!
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение жучара »

sunjob писал(а):
08.02.2025 22:09
так вот вопрос в том, что он "вроде как" был "тот что надо", а когда он вдруг "изменился", на каком этапе?!
жучара писал(а):
07.02.2025 23:18
sunjob, спасибо, мы к этому ещё вернёмся а пока же- эксперименты с командой
VBoxManage internalcommands sethduuid привели к такому результату. Поменяться-то UUID поменялся, но машина теперь не запускается:
Ну то есть я скоманднул, как вы мне и велели VBoxManage internalcommands sethduuid и такое вот.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 489

Re: VirtualBox. Клонирование машины. Как на самом деле сохранить идентификаторы оборудования?

Сообщение sunjob »

- вы в паспорте сменили фамилию
- на границе предьявляете его и говорите старую фамилию
- тамоЖник смотрит в паспорт и у него некоторе непонимание почему "задекларированная/произнесенная" фамилия не соответствует "фактической/записанной в паспорте"

для этого я и уточнял, что нужно сначало удалить старый жд а уже потом добавить в систему/в.машину новый, пропатченный.

+++

еще раз, надеюсь, теперь понятнее, рассмотрим структуру каталогов Virtual-Box (у меня все кастом, но вы, надеюсь, разберетесь)

Код: Выделить всё

~/vbox/mac        - каталог/подкаталоги с вирт.машинами
~/vbox/vdi        - каталог/подкаталоги с дисками
~/conf/VirtualBox - кат.с настройками Virtual-Box (глобальные)
создаем 2е дефолтные в.машины (один в один без hdd), каталоги с машинами будут, соответственно:

Код: Выделить всё

~/vbox/mac/vm1
~/vbox/mac/vm2
смотрим чем отличаются "машины/настройки":

Код: Выделить всё

cd   ~/vbox/mac/vm2
diff ~/vbox/mac/vm1/vm1.vbox vm2.vbox           > vm2.vbox.diff
diff ~/vbox/mac/vm1/vm1.vbox-prev vm2.vbox-prev > vm2.vbox-prev.diff
diff vm2.vbox-prev.diff vm2.vbox.diff           > vm2.vbox_pref.diff
посмотрели, запомнили
далее, проделываем тоже-самое: создаем еще 2е в.машины, только уже с hdd
так-же смотрим "отличия"

все перевариваем и делаем выводы :о)
удачи

если будет полезно для дела ... :drinks:
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали: