LINUX.ORG.RU

Реальные жесткие диски в VirtualBox


0

1

На VirtualBox установлена Windows XP. Нужно, чтобы этот Windows XP работал с реальными жесткими дисками, путем гугления в Яндексе я нашел: http://digit-stream.blogspot.com/2010/01/virtualbox.html

Не помогло:

denis@desktop:~$ VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/VDI/localhost.vmdk -rawdisk /dev/sda
VBoxManage: error: Cannot open the raw disk '/dev/sda': VERR_ACCESS_DENIED
VBoxManage: error: The raw disk vmdk file was not created
denis@desktop:~$ sudo VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/VDI/localhost.vmdk -rawdisk /dev/sda
[sudo] password for denis: 
VBoxManage: error: VMDK: could not create new file '/home/denis/.VirtualBox/VDI/localhost.vmdk'
VBoxManage: error: Error code VERR_FILE_NOT_FOUND at /home/vbox/vbox-4.0.2/src/VBox/Storage/VMDK.cpp(3593) in function int vmdkCreateRawImage(VMDKIMAGE*, VBOXHDDRAW*, uint64_t)
VBoxManage: error: Cannot create the raw disk VMDK: VERR_FILE_NOT_FOUND
VBoxManage: error: The raw disk vmdk file was not created
Так как же работать с реальными жесткими дисками?

★★

sudo cp -r ~/.VirtualBox /root/
sudo -i
VBoxManage ....


VBoxManage: error: Cannot create the raw disk VMDK: VERR_FILE_NOT_FOUND

Вы уверены, что директория «/home/denis/.VirtualBox/VDI/» существует?

AITap ★★★★★
()
Ответ на: комментарий от intel

sudo -i
VBoxManage internalcommands createrawvmdk -filename куда-положить-файл.vmdk -rawdisk /dev/sda
virtualbox

Или (от пользователя): sudo adduser $(whoami) disk
Возможно, это даст возможность читать/писать напрямую на диск от пользователя.

AITap ★★★★★
()
Ответ на: комментарий от intel

> Нет :) Но есть /home/denis/VirtualBox VMs/Windows/ Что ввести в терминале? :)

man mkdir .)

Bad_Habit
()

можно при помощи dd перенести образ диска в файл, переименовать его в образ.img и подключать :)

derlafff ★★★★★
()
Ответ на: комментарий от derlafff

Правда при этом надо дописать 16*512 байт заголовка для соотвествия формату винтов виртуалбокса. А так можно конечно. Проверено.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Правда при этом надо дописать 16*512 байт заголовка для соотвествия формату винтов виртуалбокса.

УМВР без этого, вроде

derlafff ★★★★★
()
Ответ на: комментарий от derlafff
root@desktop:~# VBoxManage internalcommands createrawvmdk -filename /home/denis/VirtualBoxVMs/Windows/win1.vmdk -rawdisk /dev/sdb5
RAW host disk access VMDK file /home/denis/VirtualBoxVMs/Windows/win1.vmdk created successfully.
root@desktop:~# 

Но win1.vmdk не появился=>в машине новый диск не добавился.

intel ★★
() автор топика
Ответ на: ПонЕл, но... от intel

Снова понял, но почему-то пишет The medium '/home/denis/VirtualBox VMs/Windows/win1.vmdk' can't be used as the requested device type.

intel ★★
() автор топика
Ответ на: комментарий от intel

Разобрался. Добавил себя в группу disk. И подключил его к виндовсу. Но почему-то он увидел его, но не подключил. Что делать?

intel ★★
() автор топика
Ответ на: комментарий от massimus

>>~/

Пробовал абсолютный путь писать?

~ раскрывается шеллом. исполняемый файл получает уже полный путь.

Nao ★★★★★
()
Ответ на: комментарий от massimus

Решил проблему так: Добавил жесткий диск в общие папки VirtualBox. И настроил этот диск, как шару, через сетевые подключения->vboxserv.

intel ★★
() автор топика
Ответ на: комментарий от intel

Если достаточно шары, то вот это

Нужно, чтобы этот Windows XP работал с реальными жесткими дисками


немного вводит в заблуждение :)

Доступ к raw нужен, если надо какие-то манипуляции с самим диском проводить (разделы, например, менять). Или ещё помогает, когда реальная система не поддерживает какие-то файловые системы, а гостевая поддерживает. Я таким макаром в винде доступ к разделам с ext4 получал: монтировал как raw в гостевой линукс и расшаривал в нём по сети эти разделы для реальной винды. Да, изврат, зато работает :)

massimus ★★★
()

>На VirtualBox установлена Windows XP. Нужно, чтобы этот Windows XP работал

На винфак!

Led ★★★☆☆
()
Ответ на: комментарий от massimus

> Что ж они пишут про полный? Перестраховываются?
«~» это спец-символ который интепретируется и раскрывается шеллом. процессу уже передаётся раскрытый (абсолютный) путь
./blah - тут спец-символов нет, путь передаётся процессу как есть

будет понятно если выполнить например такое:
strace -e trace=execve echo ~/ /usr/foo/bar/ ./bin/foo/bar

Nao ★★★★★
()
Ответ на: комментарий от Nao

Спасибо, я в курсе. Мне непонятно, почему разработчики виртуалбокса в мануале особо указывают, что путь должен быть абсолютный.
http://www.linux.org.ru/jump-message.jsp?msgid=5889628&cid=5890003

This creates the image /path/to/file.vmdk (must be absolute)

must be absolute

massimus ★★★
()
Ответ на: комментарий от intel

Дык я и не участвовал в решении проблемы, а только занимался крючкотворством/просвещением по поводу тильды :)

Nao ★★★★★
()

смонтировать <реальный жесткий диск> в папку ~$home/ololo

в виртуальной машине установить «Дополнения гостевой ОС»

в «свойствах» виртуальной машины определить «общие папки» выбрав ~$home/ololo

в запущенной виртуальной машине средствами самой винды подключить «Общие сетевые папки» указав путь к «Shared VirtualBox folders» .

profit ...

Gramozeka ★★
()
Ответ на: комментарий от Nao

Проблемы, похоже, никакой и не было. ТС надо было просто локальные файлы для гостя расшарить.
[offtop]
Часто такая ерунда бывает, что ищется одно решение, а находится другое. Недавно кто-то здесь искал гуй для расшаривания по ftp, а нашёл консольную команду для расшаривания по http, и нормально :)
[/offtop]

massimus ★★★
()
Ответ на: комментарий от massimus

Мне непонятно, почему разработчики виртуалбокса в мануале особо указывают, что путь должен быть абсолютный.

Потому что при запуске вбокса текущий каталог не будет установлен на тот, в котором ты выбираешь диск, а путь сохраняется без подстановки $PWD вместо '.'? К тильде это не относится, ясно же.

Xenesz ★★★★
()
Ответ на: комментарий от Xenesz

>К тильде это не относится, ясно же.

Всё, понял, затупил вчера.

massimus ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.