Как изменить UUID виртуального диска в VirtualBox

Когда вы создаёте виртуальную машину в VirtualBox, ей присваивается уникальный идентификатор — UUID. Аналогично, виртуальные жёсткие диски (файлы .vdi, .vhd, .vmdk и т.д.) имеют свои UUID. Если два диска имеют одинаковые UUID, VirtualBox обнаружит конфликт и не позволит запустить виртуальную машину.
Ниже — подробная инструкция, объяснения что происходит и дополнительные рекомендации на случай проблем.
Короткое определение
UUID — 128‑битный уникальный идентификатор, используемый VirtualBox для однозначной идентификации виртуальных устройств и файлов образов дисков.
Когда это возникает
Обычно проблема появляется после копирования, клонирования, резервного копирования и восстановления или при попытке подключить один и тот же VDI/VMDK файл к двум разным ВМ. VirtualBox откажется подключить диск с дублирующимся UUID и выдаст сообщение об ошибке.

Инструмент vboxmanage
VirtualBox содержит командную строку vboxmanage. Она предоставляет расширенные возможности управления виртуальными машинами, которые не всегда доступны в главном графическом интерфейсе.
Примеры возможностей vboxmanage: создание и изменение ВМ, клонирование, работа с сетями, и — что нам нужно — изменение UUID виртуального диска.

Если VirtualBox установлен, vboxmanage уже доступен. Проверьте это в терминале:
vboxmanageПолезные команды
Две команды, которые полезно запомнить при диагностике:
vboxmanage list vmsvboxmanage showhdinfo FILEПервая показывает список всех виртуальных машин, зарегистрированных в VirtualBox. Вторая выводит информацию о файле виртуального жёсткого диска — включая его текущий UUID.
Совет: запустите showhdinfo до и после смены UUID, чтобы убедиться, что он действительно изменился.

Пошаговая инструкция
- Остановите виртуальную машину, которая использует проблемный диск.
- Откройте VirtualBox и перейдите в меню “Файл -> Менеджер виртуальных носителей” (Virtual Media Manager).

- В списке найдите проблемный виртуальный диск и выберите его.
- Нажмите “Отсоединить” (Release) для удаления связи диска с VirtualBox. Подтвердите действие, когда программа спросит.

Важно: при появлении сообщения “As this hard disk is inaccessible, its image file can not be deleted.” нажимайте “Remove” только если вы уверены, что VirtualBox пытается удалить ссылку, а не сам файл. Если сообщение предлагает физически удалить файл из диска, не подтверждайте удаление.
- Откройте терминал и выполните команду для смены UUID:
vboxmanage internalcommands sethduuid "ПОЛНЫЙ_ПУТЬ_К_ФАЙЛУ"Замените ПОЛНЫЙПУТЬК_ФАЙЛУ на путь к вашему .vdi/.vmdk/.vhd-файлу. Утилита выведет новый UUID.
# пример
vboxmanage internalcommands sethduuid "/home/user/VirtualBox VMs/Ubuntu/Ubuntu.vdi"
- Вернитесь в Менеджер виртуальных носителей и нажмите “Добавить” (Add). Выберите тот же файл диска — теперь с новым UUID — и подключите его обратно.

- Откройте настройки виртуальной машины -> Хранилище (Storage). Выберите контроллер, нажмите значок диска с плюсом и выберите “Выбрать существующий диск” (Choose existing disk). Подключите обновлённый образ.

- Сохраните настройки и запустите виртуальную машину. Если всё сделано правильно, ОС загрузится без ошибок UUID.
Что делать, если команда не запускается
- Убедитесь, что вы запускаете команду под той же учётной записью, где установлен VirtualBox. На Windows используйте PowerShell/Командную строку с правами администратора. На macOS/Linux — обычный терминал (root не нужен, но может пригодиться для доступа к файлу).
- Проверьте корректность пути и отсутствие пробелов в аргументе или заключите путь в кавычки.
- Если vboxmanage не найден, добавьте каталог VirtualBox в PATH или укажите полный путь к vboxmanage.
Альтернативные подходы
- Клонирование диска через интерфейс Virtual Media Manager или vboxmanage clonehd. Клон обычно получает новый UUID автоматически.
- Полный экспорт/импорт ВМ в формат OVA: при импорте VirtualBox может переназначить идентификаторы.
- Создание новой ВМ и подключение старого диска как дополнительного. В некоторых сценариях это проще.
Когда этот метод не сработает
- Файл образа повреждён или отсутствует. Команда изменит UUID только для существующего файла.
- Виртуальный диск подключён к другому процессу/процессу блокировки. Разблокируйте/отсоедините его прежде, чем менять UUID.
- Если вы случайно удалили файл через менеджер носителей — восстановление потребует бэкапа.
Быстрый чеклист для администратора
- Остановить ВМ
- Скопировать путь к файлу образа диска
- Отсоединить диск через Virtual Media Manager
- Выполнить vboxmanage internalcommands sethduuid
- Проверить новый UUID через vboxmanage showhdinfo
- Добавить диск в менеджере и подключить к ВМ
- Запустить ВМ и проверить загрузку
Роль‑ориентированные шаги
- Системный администратор: автоматизируйте проверку UUID в скриптах резервного копирования. Добавьте проверку vboxmanage showhdinfo после восстановления.
- Разработчик: при клонировании тестовых ВМ добавляйте шаг изменения UUID в CI/CD скрипт, чтобы избежать блокировок при параллельных запусках.
- Пользователь: перед изменением UUID сделайте резервную копию файла .vdi или снимок состояния ВМ.
Критерии приёмки
- ВМ успешно запускается и ОС загружается без ошибок UUID.
- vboxmanage showhdinfo показывает новый UUID, отличный от предыдущего.
- Нигде в конфигурациях VirtualBox не осталось ссылок на старый UUID, ведущих к недоступному файлу.
Диагностика проблем и рекомендации
- Если ВМ по‑прежнему не стартует, проверьте лог VirtualBox (Menu -> File -> Preferences -> Log) и системный лог гостевой ОС.
- Если ошибка связана с VMDK и внешними снапшотами, убедитесь, что вы не ломаете цепочку снапшотов: изменение UUID начального файла может нарушить связь снапшота с базовым диском.
- При работе с VMDK, особенно созданными другими гипервизорами, рассмотрите вариант конвертации в VDI через vboxmanage clonehd с опцией –format VDI, а затем подключите полученный VDI.
Ментальные модели и советы
Представьте UUID как уникальный штрих‑код на коробке: если две коробки с разными предметами получили одинаковый штрих‑код, автоматизированная система запутается. Изменение UUID — это как наклеить новый уникальный штрих‑код на одну из коробок, чтобы система снова могла отличать их.
Мини‑правило: всегда работайте с копией файла, если не уверены в последствиях.
Краткая сводка действий (SOP)
- Остановить ВМ. 2. Отсоединить диск в Virtual Media Manager. 3. vboxmanage internalcommands sethduuid “путь/к/файлу”. 4. Добавить диск обратно. 5. Подключить диск в настройках ВМ. 6. Запустить и проверить.
Часто задаваемые вопросы
Что такое UUID
UUID — уникальный 128‑битный идентификатор, который позволяет VirtualBox однозначно идентифицировать диск.
Безопасно ли менять UUID
Да, если вы не удаляете физический файл. Изменение UUID затрагивает только метаданные виртуального диска и помогает устранить коллизии.
Если vboxmanage не найден
Укажите полный путь к утилите или добавьте каталог VirtualBox в системную переменную PATH. На Windows путь обычно выглядит как C:\Program Files\Oracle\VirtualBox\vboxmanage.exe.
Похожие статьи
- Как установить Guest Additions в VirtualBox
- Как импортировать и экспортировать OVA файлы в VirtualBox
- Как уменьшить размер виртуальной машины VirtualBox в Windows 10
Важно: всегда имейте резервные копии дисков перед операциями, затрагивающими файловые образы.
Резюме: изменение UUID через vboxmanage — надёжный способ избавиться от конфликтов идентификаторов после копирования или восстановления ВМ. Следуйте описанным шагам и проверьте результат через showhdinfo.
Похожие материалы
Измерение энергопотребления ПК — руководство
Обратная прокрутка в Windows — инструкция
Как исправить ошибку «The server stumbled» в Microsoft Store
Удаление Windows‑вирусов с Live Linux и ClamAV
Как подключиться к Wi‑Fi в Windows 10