" title="Написать письмо">Написать письмо
Донаты на карту ВТБ:
2200 4002 2461 6363

Статистика

Пользователи : 1
Статьи : 2172
Просмотры материалов : 8114591
 
Смена UUID в виртуальных машинах (09.04.2025). Печать E-mail
2025 - Апрель
09.04.2025 15:32
Save & Share
Никогда не спрашивайте пользователя, зачем ему столько виртуальных машин: это как спросить у сотрудника размер его зарплаты - что равносильно исповеданию. Конкретно мне это требуется каждый раз, когда пишется новая программа: должен быть уверен, что запустится под любым Windows/Linux (в т.ч. с обновлениями и без), - что уточняет и системные требования к ПО, и список необходимых файлов для успешной работы конечного дистрибутива.



Создание множества виртуальных машин диктует свои правила: настройки их - должны быть идентичны, различия - только в ОС. Это диктует копирование как настроечного файла виртуалки (изменяя только название), так и пустого жёсткого диска (максимум, изменяя его максимальный размер). Вот тут и возникла проблема: UUID жёстких дисков таких виртуалок одинаков - значит, невозможно добавить 2 виртуальные машины одновременно (VirtualBox на эту тему очень ревнив). Так и жил: загружал по-одной и удалял из списка по-одной, вместе с удалением жёсткого диска в менеджере носителей.

Шло время. В отделе появился стажёр. Поручил ему эту простую рутину по исправлению бага открытия виртуалок. Опустим то, что он ещё и стеклянную дверцу шкафа разбил (то есть, нанесение прямого вреда). Но уточним, что работу он не выполнил (последний шанс ему давался). Отчитался, что "сделал" - но:
- не перепроверил результат (результат - провальный);
- умолчал об изменении алгоритма решения проблемы (часть виртуалок изначально вообще не открывалась - просто скопировал носители по итогу - не заморачиваясь с найденной проблемой и никому не сказав о ней);
- 2 раза было сказано: не запускать виртуалки, чтобы размер носителей не увеличивался (проблемы со свободным местом преследуют и на работе, и дома и на сайте), - запускал (выяснилось при микроконтроле его сделанных действий - да и размер дисков особо не скроешь);
- уничтожил исходные виртуальные машины на предоставленном носителе (чтобы скрыть предыдущий пункт?.. Так у меня копий полно).

Вывод: стажёр опасен для окружающих (несколько раз так подставлял по рабочим вопросам - хорошо, что результаты его "работ" не применял ни в чём серьёзном) - в топку такого работника. Хотя выглядит тихим и милым - это не маска, но обманка.

Изначально задача звучала просто: чтобы виртуалки добавлялись в список корректно - через интерфейс виртуалки сделать копию всех носителей, изменив таким образом их UUID. Ясное дело, что старый носитель из каждой виртуалки нужно удалить, а новый добавить, - но оказалось, что не ясное. Начал делать стажёрскую работу самостоятельно - вот тут и всплыли не только его косяки, но и нюансы работы:
- смена UUID носителя именно его копированием - не решила проблему. Закрались сомнения в смене UUID, хотя интерфейс показывал успех смены;
- смена UUID носителя при помощи первой же команды в гугле ""Путь_к_VBoxManage.exe" internalcommands sethduuid "путь_к_носителю"" (мгновенно - значительно быстрее, чем копировать носитель и возиться с его передобавлением) - не решила проблему;
- потому что UUID ещё и у самой виртуалки есть - нужна правка в блокноте "<Machine uuid=" хотя бы одного символа. Эти виртуалки не только носители имели идентичные - но и сами при этом, в большинстве, являлись копиями себя - расплата за скорость их создания в далёком прошлом.

Итоговый алгоритм решения: sethduuid + один символ в .vbox-файле поменять.

А вот с неоткрывающимися виртуалками с ошибкой E_INVALIDARG 0x8007005 - вышел квест. Выяснилось, что ошибка очень многогранна (вплоть до глюков виртуальных USB-портов), - на этом страшном открытии всё и закончилось. Подчистил подключенные несуществующие ISO-файлы, перегрузил ПК - и всё заработало.

(добавлено 11.04.2025) Копирование дисков привело к хорошему вторичному результату: уменьшение размера виртуальных машин с Windows - суммарно на 10ГБ (на ~12%). Возможно и уменьшение конечного архива с виртуалками.

(добавлено 12.04.2025) Копирование дисков привело к хорошему вторичному результату: уменьшение размера сжатых виртуальных машин с Windows - суммарно на 2ГБ (на ~9%).
Обновлено ( 12.04.2025 18:56 )
 
 

Последние новости


©2008-2025. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru