Ответы:
Я сделал самодовольный комментарий («Прямо вперед»), когда этот вопрос был первоначально опубликован, и через несколько месяцев попал на эту страницу в поисках того же ответа.
Сегодня мне удалось загрузиться с физических дисков. Это достижение требуется;
20 минут пробуем разные варианты в VirtualBox
Уважаемый читатель , ваше внимание направлено на то, что уничтожение ваших данных при обращении к диску таким же способом также просто. Процедура того, как этого добиться, оставлена в качестве упражнения ...
Чтобы создать образ, представляющий весь физический жесткий диск (который не будет содержать никаких фактических данных, поскольку все они будут храниться на физическом диске), на хосте Linux используйте команду
VBoxManage internalcommands createrawvmdk \
-filename /path/to/file.vmdk \
-rawdisk /dev/sda
У вас должен быть доступ на чтение к файлу физического диска /dev/sda
. Для этого вы можете либо сменить владельца и права доступа к файлу устройства, либо запустить VBoxManage internalcommands createrawvmdk
… с правами root (поставить sudo
перед командой).
На хосте Windows вместо вышеуказанной спецификации устройства используйте, например, \\. \ PhysicalDrive0. На хосте Mac OS X используйте, например, / dev / disk1 (и размонтируйте все разделы на disk1).
(all on one line)
C:\VirtualBoxDrives>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
internalcommands createrawvmdk
-filename C:\VirtualBoxDrives\raw-0.vmdk
-rawdisk \\.\PHYSICALDRIVE0
(output)
RAW host disk access VMDK file C:\VirtualBoxDrives\raw-0.vmdk created successf..
ВМ -> Настройки -> Хранилище -> Добавить ide / sata -> Выбрать существующий диск -> Обзор
Файл -> Диспетчер виртуальных носителей -> например, raw-0.vmdk -> [изменить] -> (o) Запись
ВМ -> Настройки -> Система -> Порядок загрузки
[./] Hard Disk
[./] CD/DVD
[ ] Floppy
[ ] Network
ВМ -> Настройки -> Хранилище -> Контроллер: SATA -> например, raw-5.vmdk -> Жесткий диск: порт SATA 0
Глава 9. Расширенные темы
Глава 5. Виртуальная память
Перечисление физических дисков в Windows:
C:\Users\win7>wmic diskdrive list brief
Caption DeviceID Model Partitions Size
Samsung SSD 840 EVO 250GB ATA Device \\.\PHYSICALDRIVE3 Samsung SSD 840 EVO 250GB ATA Device 6 250057228288
ST1000DM003-1CH162 ATA Device \\.\PHYSICALDRIVE1 ST1000DM003-1CH162 ATA Device 5 1000202273280
ST1000DM003-1CH162 ATA Device \\.\PHYSICALDRIVE2 ST1000DM003-1CH162 ATA Device 5 1000202273280
ST1000DM003-1CH162 ATA Device \\.\PHYSICALDRIVE0 ST1000DM003-1CH162 ATA Device 5 1000202273280
WDC WD1000DHTZ-04N21V0 ATA Device \\.\PHYSICALDRIVE5 WDC WD1000DHTZ-04N21V0 ATA Device 6 1000202273280
WDC WD1000DHTZ-04N21V0 ATA Device \\.\PHYSICALDRIVE4 WDC WD1000DHTZ-04N21V0 ATA Device 5 1000202273280
ST1000DM 003-1CH162 SCSI Disk Device \\.\PHYSICALDRIVE6 ST1000DM 003-1CH162 SCSI Disk Device 5 1000202273280
Вы также можете получить номера дисков с помощью PowerShell:
PS C:\ Get-Disk
The I/O cache encountered an error while updating data in medium "ahci-0-0" (rc=VERR_ACCESS_DENIED).
даже при запуске VirtualBox с правами администратора.
Документация VirtualBox относится к доступу к сырому жесткому диску:
http://www.virtualbox.org/manual/ch09.html#rawdisk
Чтобы создать образ, представляющий весь физический жесткий диск (который не будет содержать никаких фактических данных, поскольку все они будут храниться на физическом диске), на хосте Linux используйте команду
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda
Это создает образ /path/to/file.vmdk (должен быть абсолютным), и все данные будут считываться и записываться из / dev / sda.
Чтобы создать специальный образ для поддержки необработанных разделов (который будет содержать небольшой объем данных, как уже упоминалось), на хосте Linux используйте команду
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5
VirtualBox использует ту же нумерацию разделов, что и ваш хост Linux. В результате числа, приведенные в вышеприведенном примере, будут относиться к первому первичному разделу и первому логическому диску в расширенном разделе соответственно.
См. Документацию по предостережениям и инструкциям для Windows.
MacOS 10.14:
Создайте файл виртуального диска, соответствующий реальному диску:
# First, find the device you want to use inside Virtual Box:
diskutil list
# Create the virtual disk
sudo VBoxManage internalcommands createrawvmdk \
-filename ~/realdisk.vmdk \
-rawdisk /dev/disk2
Запустите VirtualBox от имени суперпользователя:
sudo VirtualBox
Добавить ~/realdisk.vmdk
в Storage --> Controller: Sata
.
Я не мог заставить это работать в Windows 10 в течение самого длительного времени; Я продолжал получать сообщение VERR_ACCESS_DENIED
об ошибке при попытке подключить VMDK.
Тем не менее, я (наконец) смог заставить это работать с несколькими трюками:
Откройте PowerShell от имени администратора (я не уверен, почему, но мне не удалось заставить некоторые команды работать в командной строке администратора)
Выполните следующую команду, чтобы создать VMDK:
VBoxManage.exe internalcommands createrawvmdk \
-filename "path\to\physical\disk\file.vmdk" \
-rawdisk \\.\PhysicalDrive[n]
... где path\to\physical\disk\file.vmdk
находится файл , который будет создан для представления диска и [n]
является номером диска (использование Disk Management , чтобы получить этот номер)
Выполните следующую команду, чтобы подключить VMDK:
VBoxManage.exe storageattach [VM NAME] \
--storagectl [CONTROLLER] \
--device 0 \
--port 0 \
--type hdd \
--medium "path\to\physical\disk\file.vmdk"
... где [CONTROLLER]
имя контроллера диска, к которому вы подключаетесь - "IDE" в моем случае
Запустите следующую команду, чтобы запустить виртуальную машину:
VBoxManage.exe startvm [VM NAME]
Я пытался загрузить виртуальную машину Linux (в частности, Ubuntu 19.10) в macOS, где Ubuntu установлена на физическом разделе в формате ext4. Многие ответы, которые я нашел, в том числе от @ ЯрославРахматуллин, помогли мне пройти большую часть пути, но я продолжал получать следующее сообщение об ошибке:
FATAL: не найдено загрузочного носителя! Система остановлена.
Один из ответов касался загрузки LiveCD и изменения конфигурации GRUB для решения этой проблемы. Тем не менее, у меня даже не установлен GRUB на моем Mac. В конце концов я обнаружил, что ключ к моей ситуации заключается в том, чтобы гарантировать, что виртуальная машина имеет доступ к разделу EFI на моем физическом диске, и включить поддержку EFI в настройках виртуальной машины.
Ниже приведен вывод diskutil list
с моего компьютера Mac:
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI NO NAME 536.9 MB disk0s1
2: Apple_HFS Macintosh HD 161.1 GB disk0s2
3: Microsoft Basic Data Development 9.1 GB disk0s3
4: Apple_HFS Recovery HD 650.0 MB disk0s4
5: Linux Filesystem 79.2 GB disk0s5
Исходя из этого, я сгенерировал файл VMDK следующим образом, предоставив гостевой ВМ доступ только для чтения к разделу EFI и полный доступ на запись к разделам NTFS (3) и Ext4 (5).
sudo VBoxManage internalcommands createrawvmdk -filename disk0.vmdk -rawdisk -partitions 1r,3,5
Теперь я могу выполнить двойную загрузку MacOS или Ubuntu, а когда уже в MacOS, я могу при необходимости загрузить Ubuntu в качестве виртуальной машины. Счастливые дни!