Vboxmanage internalcommands createrawvmdk linux

Use VirtualBox to boot a physical drive/partition [duplicate]

I have two partitions on my hard drive, one for Windows and one for linux. I would like to use VirtualBox in Linux to boot the Windows partition as a virtual machine. How can I acheive this?

If you’re planning to sometimes boot the partition physically and sometimes virtually, be aware that this isn’t easy to set up. Windows doesn’t like having the hardware changed underneath it.

3 Answers 3

There’s actually a really easy solution to achieve this. The following process will create a virtual disk ( .vmdk ) that will boot to a designated drive/partition. You essentially «fake» boot directly to the drive so the created virtual drive isn’t very big in size and it doesn’t get any bigger.

However, a downfall to the following suggestion would be that it boots virtually. Meaning, you can run any programs or files that are on it but once in the Virtual Machine, settings/program changes can’t be made on the physical drive. If you wanted to add programs, updates, etc. you would have to normally boot to the drive, make desired changes, then boot from the VirtualBox. I don’t know if this is a deal breaker for you but here’s the goods.

Part of this example is for doing it in Windows because I don’t know the Linux directory structure and path variables by heart but the VirtualBox command will be the same, regardless of Host OS. Same process just supplement the OS commands accordingly

1: WindowsKey + R > Type diskmgmt.msc Make note of the disk number of the drive you’re trying to virtualize. Linux alternative for figuring this out would be running one of the following utilities > fdisk , lsblk , gparted

2: Open a CommandPromptTerminal with Admin/Sudo privileges > type cd %programfiles%\oracle\virtualbox . I don’t know what the default directory path for VirtualBox is in Linux distros but simply find it and cd to it.

Читайте также:  Удаление postgresql astra linux

3: Run the following VirtualBox command: VBoxManage internalcommands createrawvmdk -filename «%USERPROFILE%»\.VirtualBox\CUSTOMNAMEOFVHD.vmdk -rawdisk \\.\PhysicalDrive#

~ Replace «CUSTOMNAMEOFVHD» to whatever you would like. You can also change the entire path of that file to something else. It’s simply telling VBoxManage where to put the created .vhd

~ Change the last character # do the disk drive number recorded in step 1.

Источник

Как в VirtualBox загрузиться с USB

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

Этот трюк позволит не только загружаться с установочного USB — что, на мой взгляд, довольно бессмысленно, поскольку на флешку записывается .ISO образ, которой намного проще подключить к виртуальному компьютеру в VirtualBox. Если подключить USB диск или флешку к гостевой системе в качестве обычного диска, то можно делать такие интересные вещи как:

  • загрузка с физического SATA диска через USB переходник
  • установка Windows на USB диск или флешку

Если у вас нет возможности подключить SATA диск непосредственно в компьютер — например, к ноутбуку — но вам очень нужно загрузиться именно в операционную систему, которая развёрнута на нём, то описанный здесь трюк поможет это сделать: через USB переходник подключите SATA диск к компьютеру, а затем USB диск подключите к виртуальной машине в качестве обычного диска, как это показано в этой инструкции.

По поводу второго пункта — установка Windows на USB носитель — если вы хотите установить Linux на флешку (не записать Live-образ, а именно установить полноценную систему), то для установки необязательно проделывать показанный здесь трюк — поскольку Linux прекрасно устанавливается на переносной носитель. Но в Windows стоит запрет для установки на USB диски и флешки.

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

Читайте также:  Linux mint примонтировать диск ntfs

Как в VirtualBox загрузиться с USB в Windows

Подсоедините USB флешку или диск к компьютеру. Затем нажмите Win+r и выполните diskmgmt.msc.

Найдите вашу флешку и запомните номер диска:

К примеру, на моём скриншоте флешка имеет номер 2.

Закройте все окна VirtualBox, если они открыты.

Далее нам нужно открыть командную строку как администратор. Для этого нажмите Win+x и выберите «Windows PowerShell (администратор)».

Теперь перейдите в папку, где у вас установлена VirtualBox. Если эта программа установлена в директорию по умолчанию, то команда для перехода:

cd $Env:programfiles\Oracle\VirtualBox

Если вы выбрали другое расположение для VirtualBox, то отредактируйте предыдущую команду соответствующим образом.

Теперь в командной строке вставьте следующую команду, в которой замените # на номер диска, который мы посмотрели чуть выше, затем нажмите Enter:

.\VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#

Например, у меня это второй диск, тогда команда выглядит так:

.\VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive2

Если всё прошло успешно, должна появиться надпись:

RAW host disk access VMDK file C:\usb.vmdk created successfully.

Обратите внимание, что вы можете заменить C:\usb.vmdk на любое расположение файла по своему желанию.

Эта команда создаёт файл диска виртуальной машины (VMDK) указывающий на физический диск, который вы выбрали. Когда вы загружаете VMDK файл в качестве диска в VirtualBox, то VirtualBox на самом деле будет иметь доступ к физическому диску.

Теперь откройте VirtualBox от администратора — это обязательно, иначе не сработает как надо. Для этого нажмите кнопку Пуск, наберите VirtualBox и выберите «Запуск от имени администратора»:

VirtualBox может иметь доступ к сырым дисковым устройствам только с правами администратора.

Теперь в VirtualBox создайте новую виртуальную машину, выберите соответствующую операционную систему и когда дойдёт дело до выбора жёсткого диска, вместо создания нового, выберите Использовать существующий виртуальный жёсткий диск:

Теперь откройте файл C:\usb.vmdk (или другой, если вы сохранили его в другом месте или под другим именем):

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

Читайте также:  Linux посмотреть зависимости бинарника

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

Как в VirtualBox загрузиться с USB в Linux

Чтобы понимать принцип, прочитайте предыдущий раздел про Windows.

Чтобы в Linux обойтись без прав root, нужно добавить пользователя (себя) в группу disk:

sudo usermod -a -G disk $USER

После этого перезагрузитесь.

Если вы не добавите себя в группу disk, то вам нужно будет запускать VirtualBox от пользователя root или с sudo, иначе вы столкнётесь с ошибкой:

VD: error VERR_ACCESS_DENIED opening image file '/home/mial/VirtualBox VMs/usb.vmdk' (VERR_ACCESS_DENIED).

В Linux, чтобы узнать имя USB диска выполните команду:

В моём случае у диска имя /dev/sdb.

Для создания файла виртуального диска, указывающее на реальный диск, выполните команду вида:

VBoxManage internalcommands createrawvmdk -filename '~/VirtualBox VMs/usb.vmdk' -rawdisk /dev/sdX

Где вместо X впишите букву соответствующего диска. Пример для моих условий:

sudo VBoxManage internalcommands createrawvmdk -filename '~/VirtualBox VMs/usb.vmdk' -rawdisk /dev/sdb

В этой команде вы можете заменить ‘~/VirtualBox VMs/usb.vmdk’ на другое расположение по своему усмотрению.

Всё остальное — создание виртуальной машины и выбор в качестве жёсткого диска существующий виртуальный диск — в точности как в Windows.

Обратите внимание, что файл usb.vmdk — это простой текстовый файл, который вы можете переместить в любое расположение и даже отредактировать.

Вместо имени вида /dev/sdX вы можете использовать постоянное имя на основе by-id, например:

VBoxManage internalcommands createrawvmdk -filename flash.vmdk -rawdisk '/dev/disk/by-id/usb-Samsung_Flash_Drive_0325121050019952-0:0'

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

Настоятельно рекомендуется ознакомиться с Руководством по VirtualBox

Связанные статьи:

Источник

Оцените статью
Adblock
detector