60

Этот вопрос довольно теоретический:

Предположим, у меня есть ПК с двумя разными ОС на двух разных разделах: OS1 на sda1 и OS2 на sda2. Можно ли как-то настроить программу типа VMWare или Virtualbox в OS1, которая обращается к sda2, загружает его и запускает OS2? С другой стороны, OS2 также должна быть загружаемой напрямую.

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

6 ответов6

58

Это возможно, да, и это не обязательно должно быть медленнее, поскольку в наши дни это больше не эмуляция, а виртуализация - большинство процессоров поддерживают аппаратную виртуализацию (VT-x и тому подобное), но даже без таковой у VirtualBox есть много хитрости для того, чтобы виртуальные машины с программным обеспечением работали быстро.

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


Но я не совсем уверен, как это сделать в VirtualBox - я думаю, что вы должны создать специальный файл .vdi , используя vboxmanage который указывает на реальный раздел? Также у меня нет идей, как заставить загрузчик работать в такой ситуации.

Хотя я использовал для отладки различных проблем с загрузкой в Linux, запуская внутри себя только для чтения копию текущей ОС, используя qemu-system-x86_64 -enable-kvm -hda /dev/sda -snapshot -monitor stdio .

28

qemu позволит вам использовать блочные устройства, такие как /dev/sda2 и т. д. в качестве виртуальных жестких дисков. VMWare делает то же самое. Не уверен насчет Virtualbox.

Когда вы загружаете /dev/sda2 в виртуальной машине, это будет иметь такой же эффект, как если бы вы вынули жесткий диск и загрузили его на другой компьютер с другим оборудованием. Если операционная система может справиться с этим изменением, то вы должны нормально работать с операционной системой как в виртуальной машине, так и в исходном режиме. Конечно, Windows создаст вам проблемы, и Linux, вероятно, очень хорошо это выдержит.

Вы можете уменьшить потенциальные проблемы, подбирая виртуальное оборудование как можно ближе к физическому оборудованию в вашей системе - хотя, конечно, вам придется указывать меньше ОЗУ. Особое значение имеет указание того же типа контроллера диска (IDE, SCSI и т.д.).

19

Это вполне возможно, на самом деле я раньше делал это!

У меня был один раздел / диск (я забыл, какой) с Windows, один с Linux, я думаю, что это было во времена Windows XP (по общему признанию, это продолжалось некоторое время). Это был хороший способ получить доступ к обоим наборам данных без использования дискового пространства при различных установках.

Единственная проблема, которую я помню, заключалась в том, что мне нужно было настроить два разных аппаратных профиля в XP. Это было действительно запутано, когда это загрузилось в неправильные.

Я не уверен, как текущие процессы активации будут реагировать на переключение оборудования. Это может вызвать некоторые проблемы ... (но если вы когда-нибудь загрузите Windows как физическую машину, а Linux - как виртуальная машина или физическая, это решит эту проблему)

Насколько я помню, я делал это с рабочей станцией VMware. Это определенно поддерживает загрузку с сырого диска. Я уверен, что версия MS делает. Я не очень уверен насчет виртуальных машин Linux, но я был бы очень удивлен, если нет.

8

Интересно, что для тех, кто работает с VMware Fusion на Mac, с разделом bootcamp в Windows, можно запустить виртуальную машину, которая запускается из раздела bootcamp:

VMware Fusion позволяет запускать уже установленный раздел Boot Camp, не влияя на его способность к начальной загрузке. Это дает вам возможность получить доступ к разделу Boot Camp как из Mac OS, используя Fusion, так и путем перезагрузки и запуска Windows напрямую.

Обратите внимание, однако:

Вам может быть предложено повторно активировать Windows, поскольку операционная система распознает другое оборудование.

Источник: VMware - запуск раздела Boot Camp в VMware Fusion.

7

Я сделал это. Это довольно полезно, но есть некоторые ограничения, и его настройка не тривиальна.

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

  • В Windows вы не можете загрузить ОС на виртуальной машине, пока ее раздел смонтирован на хосте. Это не имеет большого значения, так как в этом случае вы, вероятно, захотите загрузить Linux в Windows, и Windows в любом случае не поддерживает файловые системы ext .

  • Установка загрузчиков сложна. Вам нужна отдельная конфигурация загрузки для загрузки в ВМ и для начальной загрузки. Я использовал Grub4DOS / NeoGrub в качестве загрузчика 1-го этапа при начальной загрузке, затем я смог загрузить загрузчик Windows по цепочке или загрузить в Ubuntu. В ВМ был установлен небольшой (несколько МБ) диск с более высоким приоритетом, чем основной. Этот диск содержал установленный вручную GRUB2, который я использовал для загрузки Ubuntu внутри ВМ.

  • Необычная настройка загрузчика требует тщательного обновления. Например, обновление GRUB при естественном запуске Linux может привести к разрыву цепочки вашего загрузчика. Обновление внутри ВМ требует установки вручную в загрузочный раздел.

0

Это возможно довольно легко .. Если вы используете отдельные жесткие диски для каждой установки!

Посмотрите здесь, например: http://www.serverwatch.com/server-tutorials/using-a-physical-hard-drive-with-a-virtualbox-vm.html - или выполните поиск на сайте VirtualBox (который не работает на данный момент) по этим ключевым словам.

Я использую его, чтобы получить доступ к своему разделу Linux, когда я выполняю какую-то работу в Windows, например, Adobe или другие вещи, которые не работают гладко в Wine или Virtualization of Windows в Linux.

Кроме того, потому что я часто обращаюсь к своей башне удаленно - и весь мой жесткий диск Linux зашифрован, в то время как мой жесткий диск Windows не содержит и содержит только конфиденциальные данные. Поэтому я запускаю Windows (предварительно выбрана запись Windows в GRUB), регистрируюсь в Teamviewer, запускаю Virtualbox и затем мой жесткий диск Linux.

В этом направлении - Windows -> Virtualbox -> другие HD с Linux -> это возможно довольно просто, потому что на лету обнаружение аппаратного обеспечения выше, которое поддерживает Linux, а именно Ubuntu.

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

Тем не менее, вы хотите сохранить Windows в качестве предварительно выбранной загрузочной записи в GRUB, но действительно следите за тем, чтобы вы выбрали правильную запись в GRUB, когда она запускается в Virtualbox. Если у вас есть проблемы с лагами удаленно, увеличьте время ожидания загрузки в GRUB, чтобы быть в безопасности.

Надеюсь, что это помогло вам :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .