Как подключить реальный жесткий диск к VirtualBox 2.0 я уже писал раньше. В предыдущей версии к сожалению были проблемы работы с подключением жесткого диска из под OS X. В последней версии такая проблема была устранна.
Вот примеры использования:
Mac OS X:
Работать с реальым жестким диском не рекомендуется из под простого пользователя из за слижком больших прав на изменение данных. Поэтому будет лучше создать виртуальную машину из под учетной записи администратора, и уже специально для нее открыть доступ к жесткому диску. Для этого откройте консоль, и напишите sudo su, после чего VirtualBox для запуска менеджера виртуальных машин. Тем самым вы запустите VirtualBox под учетной записью администратора, что не позволит случайно изменить данные на жестком диске простым пользователям. Виртуальную машину лучше создайте под именем localhost, без каких либо дополнительных параметров, только на всякий случай создайте вируальный жесткий диск с параметрами по умолчанию (ни размер, ни имя менять не нужно).
Далее вам необходимо создать файл vmdk, открывающий доступ к жесткому диску для виртуальной машины. Для этого придется сделать несколько действий, так как в VB есть ошибка под номером 1461. Если в будущем ее исправят, то процедура создания vmdk диска упростится до следующей:
# sudo su
# VBoxManage internalcommands createrawvmdk -filename ~/Library/VirtualBox/HardDisks/localhost.vmdk -rawdisk /dev/disk0 -partitions 0,1,3,4
При создании диска учитывайте какие разделы своего жесткого диска вы хотели использовать под виртуальной машиной, но учтите: необходимо пропустить все партиции которые использует операционная система, по просту она заблокирует создание диска со смантированными партициями. В моем случае я игнорирую партицию номер 2 с установленной и запущенной Mac OS X. Для того что бы увидеть список партиций введите команду:
# VBoxManage internalcommands listpartitions -rawdisk /dev/disk0
VirtualBox Command Line Management Interface Version 3.0.10
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0xee 1023/254/63 1023/254/63 200 1
2 0xaf 1023/254/63 1023/254/63 40879 409640
3 0x83 1023/254/63 1023/254/63 395020 84557864
4 0x07 1023/254/63 1023/254/63 40631 893558872
Кроме того, Mac OS X частенько монтирует виндус раздел при старте системы, поэтому для успешной работы команды createrawvmdk вам придется его вручную отмонтировать.
Так как в настоящий момент ошибка 1461 не исправлена, то процедура создания vmdk файла несколько усложняется. Вы его просто напросто создадите руками. Для этого вызовите команду:
# gpt -r show /dev/disk0
gpt show: /dev/disk0: Suspicious MBR at sector 0
start size index contents
0 1 MBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 83722224 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
84131864 426000
84557864 809001008 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
893558872 83214256 4 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
976773128 7
976773135 32 Sec GPT table
976773167 1 Sec GPT header
Далее используя эту таблицу мы видим физическое распределение секторов на диске (предыдущая команда VBoxManage internalcommands listpartitions показывала логические сектора). Далее выполните команду создания жесткого диска через VirtualBox, как показано в рабочем примере, но создающую не правильный жесткий диск из за ошибки 1461.
Вот пример части файла vmdk, который создала VirutualBox:
# Extent description
RW 1 FLAT "localhost-pt.vmdk"
RW 409639 FLAT "/dev/disk0s1"
RW 83722224 ZERO
RW 426000 ZERO
RW 809001008 FLAT "/dev/disk0s3"
RW 83214256 FLAT "/dev/disk0s4"
RW 40 ZERO
Как мы видим, первый сектор диска (загрузчик) помечан 1 сектором. И явно указывает на логическое разбиение диска, нам же нужно повторить физическую его структуру для этого меняем значения в секции # Extent description на следующие:
# Extent description
RW 40 FLAT "localhost-pt.vmdk"
RW 409600 FLAT "/dev/disk0s1"
RW 83722224 ZERO
RW 426000 ZERO
RW 809001008 FLAT "/dev/disk0s3"
RW 83214256 FLAT "/dev/disk0s4"
RW 40 FLAT "localhost-bt.vmdk" 0
Как не солжно догадатся, мы просуммировали длинну gpt информации о диске взятой из вывода команды gpt show (1 + 1 + 32 + 6) == 40. Далее, чуть чуть подкорректировали размер первого раздела, и оставили без изменения остальные значения. Так как они полностью совпадают со значениями из вывода gtp show утилиты.
В целом мы почти закончили. Нехватает только скопировать данные с нашего реального диска в файл раздела localhost-pt.vmdk. Делется это командой:
# dd if=/dev/disk0 of=localhost-pt.vmdk count=40 bs=512
# dd if=/dev/disk0 of=localhost-bt.vmdk skip=976773128 count=40 bs=512После чего запускаем VirtualBox и монтируем наш vmdk жесткий диск вместо виртуального присоединенного к localhost.
# VirtualBox
Linux:
Работа с родным жестим диском из под линукса схожа с работой из под OS X. Вам так же необходимо использовать две учетные записи из под пользователя и супер пользователя (root).
Создание образа диска делается следующей командой:
# VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/HardDisks/localhost.vmdk -rawdisk /dev/sda
Далее необходимо создать вайл для запуска хост машины:
~/localhost.sh
#!/bin/bash
# монтирование папки с образами OS
gvfs-mount smb://mini.local/www
/sbin/sfdisk -A4 /dev/sda
VBoxManage startvm localhost
И запускать его с помощью dbus-launch, обеспечив тем самым возможность монтирования файловой системы gvfs.
Windows XP
Работа из под Windows XP несколько проще, так как вам ненужно запускать отдельную учетую запись.
Для создание диска нажмите Win_key+R и выполните слудющую команду:
"C:\Program Files\Sun\xVM VirtualBox\VBoxManage" internalcommands createrawvmdk -filename "%USERPROFILE%\.VirtualBox\HardDisks\localhost.vmdk" -rawdisk \\.\PhysicalDrive0
Запуск виртуальной ос лучше осуществлять следующими запускающими файлами:
c:\soft\localhost.bat
start "VB" "C:\Program Files\Sun\VirtualBox\VirtualBox"
c:\soft\localhost.txt
sel disk 0
sel part 3
act
Ссылки по теме:


0 коммент.:
Отправить комментарий