Физический диск для монтирования Virtualbox

Обновлено: 21.11.2024

Виртуализация оказала огромную помощь таким разработчикам, как я. Это избавляет нас от необходимости держать кучу жестких дисков/машин с разными операционными системами. И хотя это здорово, бывают случаи, когда вы можете захотеть использовать необработанный жесткий диск. Например, если вы вытащили жесткий диск из существующей системы и хотите сохранить ОС/данные нетронутыми, но использовать его как виртуальную машину внутри другой хост-ОС.

Вы можете настроить VirtualBox на использование физического жесткого диска внутри виртуальной машины. Этот метод называется «необработанный доступ к жесткому диску». Это позволяет подключать или загружать дополнительный жесткий диск или внешний USB-накопитель в качестве устройства хранения внутри виртуальной машины.

Предупреждение. Не пытайтесь монтировать или загружать раздел, на котором работает основная ОС, с виртуальной машиной, так как это может привести к серьезному повреждению данных. И независимо от того, какой диск или раздел вы хотите смонтировать, всегда полезно сделать резервную копию всех существующих на нем данных, прежде чем продолжить.

Создание виртуальной машины:

Сначала вам нужно создать виртуальную машину в графическом интерфейсе VirtualBox. Выберите все параметры, как обычно, но когда вас спросят о виртуальном жестком диске, выберите Не добавлять виртуальный жесткий диск.

Затем вам нужно найти путь и номер физического диска, который вы хотите подключить:

В Windows откройте «Управление дисками». Связанные номера дисков вы увидите слева. Позднее они будут идентифицированы как PhysicalDrive0, PhysicalDrive1 и т. д.

В Linux выполните следующую команду: sudo fdisk -l . Вы увидите список разделов. Запишите нужный диск в формате dev/sda0, dev/sda1 и т. д.

В Mac OS X используйте следующую команду: diskutil list . Вы увидите список разделов. Запишите нужный диск в формате /dev/disk0, /dev/disk1 и т. д.

Теперь откройте командную строку в вашей ОС. Если вы используете Windows в качестве основной ОС, вам также потребуется перейти в корневой каталог VirtualBox с помощью следующей команды: cd C:\Program Files\Oracle\VirtualBox

Создание жесткого диска VirtualBox:

Теперь вы можете запустить команду для создания файла виртуального жесткого диска, указывающего на нужный физический диск. Для каждого из следующих примеров убедитесь, что вы вводите нужные имена между стрелками и заменяете число или знак решетки нужным номером диска.

Для Windows:
Вы часто должны быть администратором, чтобы выполнить эту команду. Убедитесь, что ваш cmd.exe запущен от имени администратора. Это также означает, что вы должны запустить VirtualBox от имени администратора, чтобы использовать эти ссылки на диски.

Внутренние команды VBoxManage createrawvmdk -filename ".vmdk" -rawdisk /dev/sda

Этот VMDK будет очень маленьким файлом, который просто указывает на ваш физический диск. Теперь вы можете подключить VMDK к вашей виртуальной машине. Для этого откройте графический интерфейс VirtualBox, выберите нужную виртуальную машину, нажмите «Настройки», нажмите «Хранилище», нажмите кнопку «Добавить жесткий диск», выберите «Выбрать существующий диск», а затем выберите только что созданный файл VMDK.

Хотя можно создать образ виртуального жесткого диска из существующего содержимого физического диска, может оказаться полезным напрямую смонтировать или загрузить физический диск на виртуальной машине (ВМ).

И хотя это довольно легко сделать с помощью графического интерфейса VMware и Hyper-V при настройке виртуальной машины, это не относится к созданию физического диска VirtualBox или необработанного диска VirtualBox в VirtualBox, поскольку процесс требует некоторого использования CLI.

VirtualBox может монтировать целые физические жесткие диски, а также только отдельные разделы диска. В сегодняшнем уроке мы обсудим только монтирование целых физических жестких дисков VirtualBox.

Доступ к жесткому диску VirtualBox Raw

Этот метод называется VirtualBox "необработанный доступ к жесткому диску". Это позволяет, например, монтировать или загружать дополнительный жесткий диск или внешний USB. Мы покажем, как это сделать при запуске VirtualBox на хост-компьютере Windows, Linux или Mac OS X.

Предупреждение. Не пытайтесь монтировать или загружать раздел, на котором работает основная ОС, с виртуальной машиной, так как это может привести к серьезному повреждению данных. И независимо от того, какой диск или раздел вы хотите смонтировать, всегда полезно сделать резервную копию всех существующих на нем данных, прежде чем продолжить.

Сначала вам нужно создать виртуальную машину в графическом интерфейсе VirtualBox. Выберите все параметры, как обычно, но когда вас спросят о виртуальном жестком диске, выберите Не добавлять виртуальный жесткий диск.

Затем вам нужно найти путь и номер физического диска, который вы хотите подключить:

В Windows откройте «Управление дисками». Связанные номера дисков вы увидите слева. Позднее они будут идентифицированы как PhysicalDrive0, PhysicalDrive1 и т. д.

В Linux выполните следующую команду: sudo fdisk -l . Вы увидите список разделов. Запишите нужный диск в формате dev/sda0, dev/sda1 и т. д.

В Max OS X используйте следующую команду: diskutil list . Вы увидите список разделов.Запишите нужный диск в формате /dev/disk0, /dev/disk1 и т. д.

Теперь откройте интерфейс командной строки вашей ОС. Если вы используете Windows в качестве основной ОС, вам также потребуется перейти в корневой каталог VirtualBox с помощью следующей команды: cd C:Program FilesOracleVirtualBox

Создание жесткого диска VirtualBox

Теперь вы можете запустить команду для создания файла виртуального жесткого диска, указывающего на нужный физический диск. Для каждого из следующих примеров убедитесь, что вы вводите нужные имена между стрелками и заменяете число или знак решетки нужным номером диска.

Внутренние команды VBoxManage createrawvmdk -filename "

.vmdk" -rawdisk /dev/sda

Внутренние команды VBoxManage createrawvmdk -filename "

Этот VMDK будет очень маленьким файлом, который просто указывает на ваш физический диск. Теперь вы можете подключить VMDK к вашей виртуальной машине. Для этого откройте графический интерфейс VirtualBox, выберите нужную виртуальную машину, нажмите «Настройки», нажмите «Хранилище», нажмите кнопку «Добавить жесткий диск», выберите «Выбрать существующий диск», а затем выберите только что созданный файл VMDK.

Теперь вы можете запустить виртуальную машину, которая будет загружаться с физического диска, указанного вами при создании файла VMDK. Если вам нужна дополнительная помощь, вы можете обратиться к официальной документации VirtualBox по этой теме.

Как с помощью Virtual Box установить ОС на вторичный физический диск и загрузить ее как в Virtual Box (в разное время), так и в качестве обычной вторичной установки ОС?

9 ответов 9

Я сделал самодовольный комментарий ("Прямо вперед"), когда этот вопрос был изначально опубликован, и через несколько месяцев обнаружил себя на этой странице в поисках того же ответа

Сегодня мне удалось загрузиться с физических дисков. Требуется это достижение;

  • 60 минут прямого чтения
  • 30 минут на написание этого
  • 20 минут на пробу различных вариантов в VirtualBox

Уважаемый читатель, ваше внимание обращено на тот факт, что в равной степени просто уничтожить ваши данные, когда доступ к диску осуществляется таким образом. Процедура того, как это сделать, оставлена ​​в качестве упражнения.

Фото (было :)

Чтобы создать образ, представляющий весь физический жесткий диск (который не будет содержать реальных данных, поскольку все они будут храниться на физическом диске), на хосте Linux используйте команду

У вас должен быть доступ для чтения к файлу устройства физического диска /dev/sda . Для этого вы можете либо изменить владельца и права доступа к файлу устройства, либо запустить внутренние команды VBoxManage createrawvmdk … от имени пользователя root (поставьте sudo перед командой).

На хосте Windows вместо приведенной выше спецификации устройства используйте, например, \\.\PhysicalDrive0 (см. ниже раздел «Перечисление физических дисков в Windows»). На хосте Mac OS X используйте, например. /dev/disk1 (и размонтировать все разделы на disk1).

ВМ -> Настройки -> Хранилище -> добавить ide/sata -> Выбрать существующий диск -> просмотреть

Файл -> Диспетчер виртуальных носителей -> например, raw-0.vmdk -> [изменить] -> (o) Сквозная запись

VM -> Настройки -> Система -> Порядок загрузки

VM -> Настройки -> Хранилище -> Контроллер: SATA -> например. raw-5.vmdk -> Жесткий диск: порт Sata 0

Глава 9. Дополнительные темы

  • 9.9. Расширенная конфигурация хранилища
    • 9.9.1. Использование необработанного жесткого диска хоста от гостя
    • 9.9.1.1. Доступ ко всему физическому жесткому диску

    Глава 5. Виртуальное хранилище

    • 5.2. Файлы образов дисков (VDI, VMDK, VHD, HDD)
    • 5.3. Менеджер виртуальных носителей
    • 5.4. Специальные режимы записи изображений.

    Перечисление физических дисков в Windows:

    Вы также можете получить номера дисков с помощью PowerShell:

    Большое спасибо за четкие пошаговые инструкции. Одна проблема, с которой я столкнулся, заключается в том, что виртуальный файл .vmdk может принадлежать мне как пользователю, но когда я запускаю VirtualBox и он пытается получить к нему доступ, возникает ошибка. Похоже, это связано с тем, что физический /dev/sda принадлежит пользователю root. Я попытался сменить владельца, но без радости - все та же ошибка. Запуск VirtualBox с правами root работает (хотя я всегда осторожен с запуском любого приложения с правами root, и такое, как это, с возможностью так много чего пойти не так, пугает меня до глупости).

    В большинстве дистрибутивов есть специальная группа, например "диск" или "блок". Заблокировать устройства в /dev/sd? должен быть доступен для записи пользователям, принадлежащим к одной из этих групп. Проверьте документы для вашего дистрибутива.

    У кого-нибудь это работает на Windows 10?Я получаю эту ошибку: Кэш ввода-вывода обнаружил ошибку при обновлении данных в среде "ahci-0-0" (rc=VERR_ACCESS_DENIED). , даже при запуске VirtualBox от имени администратора.

    Документация VirtualBox относится к доступу к необработанному жесткому диску:

    Чтобы создать образ, представляющий весь физический жесткий диск (который не будет содержать никаких фактических данных, поскольку все они будут храниться на физическом диске), на хосте Linux используйте команду

    При этом создается образ /path/to/file.vmdk (должен быть абсолютным), и все данные будут считываться и записываться из /dev/sda.

    Чтобы создать специальный образ для необработанного раздела support (который будет содержать небольшой >количество данных, как уже упоминалось), на хосте Linux используйте команду

    VirtualBox использует ту же нумерацию разделов, что и ваш хост Linux. В результате номера, указанные в приведенном выше примере, будут относиться к первому основному разделу и первому логическому диску в расширенном разделе соответственно.

    Предостережения и инструкции для Windows см. в документации.

    Просто хочу уточнить, как это сделать в Windows 10

    Я пытался загрузить виртуальную машину Linux (в частности, Ubuntu 19.10) в macOS, где Ubuntu установлена ​​на физическом разделе в формате ext4. Многие из ответов, которые я нашел, в том числе ответ от @ЯрославРахматуллин, помогли мне в этом, но я продолжал получать следующее сообщение об ошибке:

    FATAL: загрузочный носитель не найден! Система остановлена.

    В одном ответе говорилось о загрузке с LiveCD и последующем изменении конфигурации GRUB для решения этой проблемы. Однако на моем Mac даже не установлен GRUB. В конце концов я обнаружил, что ключевым моментом в моей ситуации было обеспечение доступа виртуальной машины к разделу EFI на моем физическом диске и включение поддержки EFI в настройках виртуальной машины.

    Ниже показан вывод списка diskutil с моего хост-компьютера Mac:

    Из этого я создал файл VMDK следующим образом, предоставив гостевой виртуальной машине доступ только для чтения к разделу EFI и полный доступ для записи к разделам NTFS (3) и Ext4 (5).

    Теперь я могу выполнять двойную загрузку MacOS или Ubuntu, а когда уже работаю в MacOS, при необходимости могу загружать Ubuntu как виртуальную машину. Счастливых дней!

    Мне очень долго не удавалось заставить это работать в Windows 10; Я продолжал получать ошибку VERR_ACCESS_DENIED при попытке подключить VMDK.

    Однако мне (наконец-то) удалось заставить это работать с помощью нескольких приемов:

    Откройте PowerShell от имени администратора (не знаю почему, но мне не удалось заставить некоторые команды работать в командной строке администратора)

    Выполните следующую команду, чтобы создать VMDK:

    <р>. где path\to\physical\disk\file.vmdk — это файл, который будет создан для представления диска, а [n] — это номер диска (используйте Управление дисками, чтобы получить этот номер)

    Выполните следующую команду, чтобы подключить VMDK:

    <р>. где [КОНТРОЛЛЕР] — имя контроллера диска, к которому вы подключаетесь, в моем случае «IDE»

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

    Я обнаружил, что для добавления необработанного файла vmdk в гостевую систему vbox (запуск Ubuntu в качестве хоста) необходимо изменить разрешения файла /dev/sdx на 777 перед созданием файла vmdk.

    В основном я работал с хостом Windows и гостем Linux, следуя принятому ответу.

    Однако я столкнулся с проблемой, что нумерация физических дисков в Windows не остается неизменной при перезагрузке. По-видимому, это ожидаемое поведение для нумерации дисков:

    Таким образом, технически, если у вас есть хост Windows и гость Linux, вы должны сделать дополнительный шаг: еще раз проверить выходные данные wmic diskdrive list Brief, прежде чем запускать виртуальную машину. Если нумерация отличается от той, которая была при создании виртуальной машины, не запускайте ее. В противном случае существует риск того, что он загрузит жесткий диск Windows изнутри себя, что является опасным поведением, о котором они вас предупреждают (хотя в моем случае, похоже, это не привело к необратимому повреждению). Или, если хотите, создайте вторую виртуальную машину с замененными жесткими дисками и выберите, какую из них запустить, основываясь на выходных данных wmic diskdrive list Brief . Все это должно быть возможно сделать в сценарии, но сценарий будет зависеть от вашей системы.

    Или, что проще, сделать Linux хостом, а Windows гостевой, если это возможно. Linux может получить непротиворечивую идентификацию диска, используя /dev/disk/by-id/. , как указано в комментарии.

    И хотя через графический интерфейс VMware и Hyper-V при настройке виртуальной машины довольно легко выполнить перенос USB-накопителя, это не относится к созданию физического диска VirtualBox или необработанного диска VirtualBox, учебные пособия по Windows Server в VirtualBox, так как этот процесс требует некоторого использования CLI.VirtualBox может монтировать целые физические жесткие диски, а также только отдельные разделы диска.

    В этом руководстве мы обсудим два метода доступа к USB-накопителю VirtualBox: с помощью специального программного обеспечения и встроенного монтирования целых физических жестких дисков VirtualBox.

    Оглавление:

    Программное решение для переадресации USB-накопителя в VirtualBox

    USB Network Gate – это программное решение, упрощающее реализацию сквозного USB-перехода VirtualBox на гостевых виртуальных машинах. Это гибкое приложение, которое решает проблему подключения USB при работе в виртуальных средах.

    Вы можете настроить доступ VirtualBox к жесткому диску USB всего за три шага:

      приложение USB Network Gate на компьютере с подключенным USB-накопителем.
    1. Используйте программный интерфейс, чтобы предоставить общий доступ к диску.
    2. На виртуальной машине установите USB Network Gate. Запустите приложение и подключите его к внешнему жесткому диску VirtualBox.

    Посмотрите наше видео-руководство по сквозному USB-подключению VirtualBox

    Используя технологию перенаправления USB, USB Network Gate позволяет пересылать данные жесткого диска VirtualBox через Интернет или локальную сеть. Теперь у вас есть доступ к USB-накопителям с гостевой ВМ, даже если устройство подключено к удаленному ПК, а не к локальному хосту.

    USB Network Gate — отличное решение для различных операционных систем. Он обеспечивает кросс-платформенную совместимость, позволяя перенаправлять передачу данных USB между системами Windows, Mac и Linux.

    Доступ к жесткому диску VirtualBox Raw

    Существует несколько способов доступа к данным на жестком диске из виртуальной среды. Один из вариантов — использовать содержимое физического диска для создания образа виртуального жесткого диска. Иногда бывает выгоднее смонтировать или загрузить физический жесткий диск непосредственно с гостевой ВМ.

    VirtualBox позволяет монтировать весь жесткий диск или его часть. Вы можете указать определенные разделы для монтирования или выбрать использование всего диска. Мы будем обсуждать метод, известный как прямой доступ к жесткому диску VirtualBox. Здесь монтируется весь физический жесткий диск VirtualBox. К преимуществам этого метода относится предоставление пользователям возможности загружать свою систему с внешнего USB-накопителя или дополнительного жесткого диска.

    Мы покажем, как это сделать в операционных системах Windows, Mac OS X и Linux.

    Примечание. Перед подключением дисков или разделов к виртуальной машине всегда следует создавать резервные копии данных. Избегайте монтирования или загрузки раздела с основной операционной системой, так как это может привести к существенному повреждению данных.

      Первый шаг — использовать пользовательский интерфейс VirtualBox для создания виртуальной машины. Используйте свою обычную конфигурацию, за исключением выбора виртуального жесткого диска. Выберите параметр «Не добавлять виртуальный жесткий диск».

    Windows: откройте «Управление дисками», где номера дисков будут отображаться слева. Они будут идентифицированы как PhysicalDrive0, PhysicalDrive1 и т. д.

    Mac OS X: введите команду «diskutil list», которая возвращает список доступных разделов диска. Имена дисков будут отображаться в формате /dev/disk0, /dev/disk1 и т. д.

    Linux: для просмотра списка разделов в Linux используется команда «sudo fdisk -l». Формат дисков в Linux: dev/sda0, dev/sda1 и т. д.

      Получив номер диска, вы готовы открыть интерфейс командной строки вашей операционной системы. Когда Windows является основной ОС, вам нужно перейти в корневой каталог VirtualBox. Используйте эту команду: «cd C:\Program Files\Oracle\VirtualBox».

    Для Mac OS X: внутренние команды VBoxManage createrawvmdk -filename "

    Для Linux: внутренние команды VBoxManage createrawvmdk -filename "

    .vmdk" -rawdisk /dev/sda

    Создаваемый файл VMDK представляет собой небольшой файл, который действует как указатель на физический жесткий диск. Чтобы использовать диск, вы просто подключаете VMDK к своей виртуальной машине. Выполните следующие шаги после открытия графического интерфейса VirtualBox.

    1. Выберите нужную виртуальную машину, которая будет обращаться к диску.
    2. Нажмите "Настройки > Хранилище > Добавить жесткий диск".
    3. Выберите вариант «Выбрать существующий диск».
    4. Выберите ранее созданный файл VMDK.

    Ваша виртуальная машина теперь может загружаться с физического диска, связанного с файлом VMDK.

    Читайте также: