Використовуйте фізичний жорсткий диск у віртуальному вікні


59

Як за допомогою Virtual Box я можу встановити ОС на вторинний фізичний диск і завантажувати її як в окремий час (як в окремий час), так і як типова інсталяція вторинної ОС?


Відповіді:


87

Я зробив самовдоволений коментар ("Прямо вперед"), коли це питання було опубліковано спочатку і я опинився на цій сторінці через кілька місяців, шукаючи ту саму відповідь


Вказівки прямо вперед

Сьогодні мені вдалося завантажитися з фізичних приводів. Це досягнення потрібно;

  • 60 хв прямого читання вперед
  • 30 хв писати це
  • 20 хв спробу різних варіантів у VirtualBox

    Шановний читачу , ваша увага спрямована на те, що однаково прямо вперед знищувати ваші дані, коли диск доступний таким чином. Процедура, як це досягти, залишається як вправа ...

Фото (це сталося :)

грязь 2

1. Створіть диски vmdk, які читаються з реальних дисків

Щоб створити зображення, яке представляє цілий фізичний жорсткий диск (який не буде містити фактичних даних, оскільки це все буде зберігатися на фізичному диску), на хості 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..

 

2. Призначте диски vmdk до VM

VM -> Налаштування -> Зберігання -> додавання ide / sata -> Вибір існуючого диска -> перегляд

призначити

 

3. Встановіть один з режимів запису.

Файл -> Менеджер віртуальних медіа -> напр. Raw-0.vmdk -> [змінити] -> (o) Прописаний текст

  • повторити для всіх приводів

встановити опис

 

3. Упорядкуйте пріоритет завантаження (напівфакультативно)

VM -> Налаштування -> Система -> Порядок завантаження

[./] Hard Disk
[./] CD/DVD
[  ] Floppy
[  ] Network

VM -> Налаштування -> Зберігання -> Контролер: SATA -> наприклад raw-5.vmdk -> Жорсткий диск: Sata Port 0

 

Відповідні глави ( посібник )

  • Глава 9. Додаткові теми

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

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

Перерахування фізичних дисків у 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

7
Дуже дякую за чіткі покрокові інструкції. Однак одна з проблем у мене є те, що віртуальний файл .vmdk може належати мені як користувачеві, але коли я запускаю VirtualBox і намагається отримати доступ до нього, створюється помилка. Це, мабуть, тому, що фізична / dev / sda належить root. Я спробував змінити право власності, але ніякої радості - все ж така помилка. Запуск VirtualBox як root працює (хоча я завжди обережно запускаю будь-яку програму як root, і така, як ця, з можливістю стільки помилитися, мене дурно лякає).

Більшість дистрибутивів мають спеціальну групу, таку як "диск" або "блок". Бокові пристрої в / dev / sd? повинні писати користувачі, що належать до однієї з цих груп. Перевірте документи на свій дистрибутив.
Ярослав Рахматуллін

1
Хтось це працював у Windows 10? Я отримую цю помилку: The I/O cache encountered an error while updating data in medium "ahci-0-0" (rc=VERR_ACCESS_DENIED).навіть при запуску VirtualBox як адміністратора.
szx

2
@szx Мені вдалося обійти проблему VERR_ACCESS_DENIED, виконуючи ці кроки
Epigene

1
Як можна випадково вбити їх дані через доступ до необробленого диска? Я думаю, що знання того, що не робити, допоможе уникнути проблем. Інструкції виглядають так просто ...
Wowfunhappy

6

Документація 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.


8
Відповіді лише на посилання є менш оптимальними і, безумовно, не заслуговують на прийняття, коли є краща відповідь. * підморгнути *
Ярослав Рахматуллін

0

MacOS 10.14:

  1. Створіть файл віртуального диска, що відповідає реальному диску:

    # 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
    
  2. Запустіть VirtualBox як супер користувач:

    sudo VirtualBox
    
  3. Додати ~/realdisk.vmdkв Storage --> Controller: Sata.


0

Мені не вдалося так довго працювати в Windows 10; Я VERR_ACCESS_DENIEDнамагався приєднати VMDK до помилки.

Однак мені (нарешті) вдалося домогтися цього, працюючи за допомогою декількох хитрощів:

  1. Відкрийте PowerShell як адміністратор (я не впевнений, чому, але я не зміг отримати деякі команди для роботи в командному рядку адміністратора)

  2. Виконайте таку команду, щоб створити VMDK:

    VBoxManage.exe internalcommands createrawvmdk \
        -filename "path\to\physical\disk\file.vmdk" \
        -rawdisk \\.\PhysicalDrive[n]
    

    ... де path\to\physical\disk\file.vmdkзнаходиться файл , який буде створений для подання диска і [n]є номером диска ( з допомогою управління дисків , щоб отримати цей номер)

  3. Виконайте таку команду, щоб приєднати VMDK:

    VBoxManage.exe storageattach [VM NAME] \
        --storagectl [CONTROLLER] \
        --device 0 \
        --port 0 \
        --type hdd \
        --medium "path\to\physical\disk\file.vmdk"
    

    ... звідки [CONTROLLER]назва дискового контролера, до якого ви приєднуєтесь - "IDE" у моєму випадку

  4. Виконайте таку команду, щоб запустити VM:

    VBoxManage.exe startvm [VM NAME]
    
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.