Содержание
Ошибка Virtualbox «Не удалось открыть файл виртуального жёсткого диска»
На английском языке ошибка звучит так:
Cannot register the hard disk because a hard disk with UUID ... already exists.
Данная ошибка возникает при попытке добавить файл виртуального жёсткого диска к виртуальной машине после перемещения этого файла.
Зачем перемещать файл виртуального жёсткого диска
Это бывает необходимо, если на текущем жёстком диске компьютера недостаточно свободного места. Либо в случае, если вы хотите переместить файл на более быстрый накопитель компьютера (например SSD) для улучшения быстродействия виртуальной машины.
Перемещение файла виртуального жёсткого диска
1.Поиск файла и собственно перемещение
Откройте менеджер виртуальных машин. Выберите нужную виртуальную машину и вызовите её свойства (Настроить):
На вкладке Носители выясните путь к файлу виртуального жёсткого диска и скопируйте его:
Вставьте в адресную строку путь, сотрите имя файла в конце и нажмите Enter. Вы попадёте в папку, где расположен файл.
Переместите файл, куда желаете. Мы в нашем примере перемещаем с диска E на диск C SSD.
2. Изменение UUID виртуального жёсткого диска в Virtualbox
Выполните следующие действия:
1. Запустите командную строку:
2. Откройте папку, где установлена Virtualbox.
3. В командной строке наберите cd и поставьте один пробел.
4. Перетащите иконку папки в командную строку. Должна получиться строка:
cd "C:\Program Files\Oracle\Virtualbox"
5. Нажмите Enter:
6. Наберите команду vboxmanage internalcommands sethduuid и поставьте один пробел.
7. Перетащите файл жёсткого диска в командную строку. Должна получиться строка вида:
vboxmanage internalcommands sethduuid C:\folder\win7.vdi
8. Нажмите Enter:
Вот так выглядит окно консоли после выполнения всех команд:
Если вы видите сообщение
UUID changed to:...
значит, всё получилось.
Если при попытке изменить UUID вы получили ошибку Syntax error: Invalid UUID parameter, возьмите путь в кавычки следующим образом:
vboxmanage internalcommands sethduuid "E:\VirtualBox VMs\win8\win8.vdi"
Чаще всего эта ошибка возникает из-за того, что в имени какой-то папки в пути есть пробелы.
3. Подключение перемещённого файла к виртуальной машине
Откройте свойства виртуальной машины и перейдите на вкладку Носители.
Удалите жёсткий диск:
Добавьте жёсткий диск, указав новое расположение перемещённого файла виртуального жёсткого диска:
Нажмите ОК для сохранения изменений виртуальной машины:
Как видите, теперь ошибки не наблюдается.
На счет перемещения:
Можно сделать все гораздо проще. Если у нас есть виртуальные машини — есть и папка «C:\Users\имя пользователя\VirtualBox VMs». Далее вы найдете папки с виртуальными машинами, или по крайней мере с когфиг.файлами. Для примера — далее у меня идет папка «linux mint», в ней 2 папки (которые в данном случае нам не нужны) и 2 конфиг. файла. linux mint.vbox и linux mint.vbox-prev. Открываем оба файла (к слову — они идентичны) в обыкновенном блокноте (даже без прав админа), в первой строчке находим следующее:
<HardDisk uuid="{не обращаем внимания на все эти циферки}" location="H:/бла-бла-бла/linux mint.vdi" <- вот здесь вписываем новый путь к файлу, закрываем блокнот и отвечаем "сохранить" перед закрытием. И все. После запуска виртуалбокса он сразу увидит новое расположение файла и без вопросов запустит машину.
ИНОГДА: location может выглядеть вот так: location="linux mint.vdi". В этом случае наши действия аналогичны. меняем его на location="С:\новая папка, куда вы переместили диск\linux mint.vdi" (на счет слешей не уверен, в какую сторону). Было 2 случая, где в одном слеши стояли в одну сторону (так как в линуксе), а во втором, когда виртуалился так же линукс — слеши были как в винде…
Как то так.
Способ в статье проще:)
Спасибо, помогло
Я еще проще сделал. Открываем в хекс редакторе образ. По адресу 00000188 от балды меняем uuid на любой. Например меняем местами буквы. 4e — > e4. Сохраняем файл. Теперь образ добавится точно
ПОМОГЛО !!!!!!!!! в там не только 188 а по этой строке то есть и 187 можно поменять потом название поменять в VM и вуаля работает, неделю мучался СПАСИБО !
Спасибо, помогло!
а что делать если нужно еще снимки добавить на другой диск?
Спасибо большое! Помогло. Сохранил на будущее для себя.
Автор, дай Бог тебе здоровья!
В virtualbox 6.0 достаточно ПКМ по виртуальной машине и выбрать в контекстном меню строку «Перенести». Всё.
У меня не сработало. Но потом я увидел, что машина находилась не в выключенном состоянии, а в состоянии сохранения сеанса. Возможно из-за этого не вышло.
У меня во всех случаях в конце получалась ошибка.
Я сделал по другому:
1. Скопировал файл жесткого диска .vdi в нужное мне место
2. Создал новую виртуальную машину и указал для неё в настройках этот файл
3. Убедившись что новая машина пашет, старую удалил вместе со старым .vdi файлом