Возможно ли выполнить двойную загрузку * и * виртуализировать один и тот же физический диск, содержащий Windows 10?

11

Я использую Linux в качестве ежедневного драйвера и только что установил Windows 10 на новый физический диск в моем ПК для двойной загрузки. Некоторое время я использовал Windows 7 через образ VirtualBox, который я смонтировал через iSCSI 1 .

Теперь у меня есть две разные среды Windows, и это очень расстраивает. Я хотел бы отказаться от виртуальной машины Windows 7 и получить доступ к установке Windows 10 напрямую через VirtualBox для удобства, но не теряю возможности переключиться на двойную загрузку, когда мне нужна производительность в «сыром» виде.

Можно ли загрузить существующую установку Windows 10 на выделенный физический носитель (внутренний SATA3 SSD) через VirtualBox, не теряя при этом возможности двойной загрузки?

Если это усложняет (или делает невозможным), стоит отметить, что твердотельный накопитель Windows 10 защищен FDE через VeraCrypt.

Крис Тонкинсон
источник
1
Я был бы рад, если бы это было возможно, но я еще не нашел пути. Помимо проблемы запуска виртуальной машины с физическим диском, существует два аспекта переключения между жесткой и виртуальной загрузкой. (1) При переключении между рабочими средами будет происходить серьезная реконфигурация драйвера. (2) Как следствие, Windows, вероятно, потребуется повторная активация лицензии на каждом коммутаторе: если это вообще возможно, лицензирование почти наверняка будет жаловаться после нескольких повторных активаций. Что вы можете сделать, это создать виртуальный диск из физической установки, но опять-таки лицензирование будет вероятной проблемой.
AFH
Вы можете лучше рассмотреть возможность установки Linux на виртуальной машине Windows: по крайней мере, это позволит избежать трудностей с лицензией.
AFH
@AFH Проблему с лицензией можно решить путем клонирования аппаратного uuid и серийных идентификаторов контроллера диска в виртуальную машину. Он позволяет запускать Windows один раз из виртуальной машины и один раз напрямую (хотя лицензия m $ по-прежнему не позволяет использовать несколько установок с одним и тем же ключом продукта одновременно, поэтому это можно сделать исключительно в запрашиваемой конфигурации).
Петер - Восстановить Монику
@peterh - Спасибо. Я не знал, что клонирования UUID достаточно для лицензирования Windows. При переключении остается проблема перенастройки драйвера. Я поэкспериментирую с вашим ответом, когда у меня будет время.
AFH

Ответы:

7

Да, это возможно.

  1. Настройте виртуальную коробку для использования вашего физического диска. Это немного рискованно, потому что гость виртуальной машины будет видеть ваш хост-диск напрямую. Подробности здесь .
  2. Предоставьте прямой доступ для чтения / записи к своему физическому диску ( setfacl -m u:yourusername:rw /dev/sda)
  3. Обновите виртуальную машину virtualbox, чтобы использовать тот же системный UUID, что и у вашего хоста ( dmidecode -s system-uuidпоказывает ваш системный UUID, vboxmanage modifyvm your-vm-name --hardwareuuid <your-hardware-uuid>). Возможно, вам придется клонировать также ваши uuids контроллера дисковода ( lsblk --nodeps --no name,serialпоказывает серийные идентификаторы вашего хоста. Мне не нужно было клонировать их в мой виртуальный ящик, но это может понадобиться. Возможно, какая-то хитрая vboxmanage modifyvmкоманда делает это, или вам нужно отредактировать vm config xml вручную.
  4. Попробуйте установить в виртуальной машине те же типы дисков и dvd-контроллеров, что и для вашего хоста (если ваш хост основан на SATA, используйте виртуальные контроллеры SATA, если он основан на IDE, используйте IDE и т. Д.).

Существует еще одна опасность: если вы загружаете виртуальную машину непосредственно с вашего хост-диска, возможно, вы загружаете одну и ту же ОС дважды. Или вы открываете один и тот же раздел дважды. Это убьет ваши данные, поэтому никогда не монтируйте несколько разделов одновременно. Кроме того, не монтируйте разделы NTFS, пока они используются вашей Windows (но вы все равно можете обмениваться данными между разделами, например, с Samba).

Если это произошло случайно, перезагрузитесь с помощью sysrq (alt + printscreen + b) и fsck everything. Для этого также может потребоваться некоторая хитрость grub (я переконфигурировал grub для загрузки окон по умолчанию, поэтому я избегаю проблемы, когда я случайно загружаю свой Linux снова в виртуальной машине Windows - и это обязательно произойдет, потому что Центр обновления Windows часто перезагружает Windows за твоей спиной).

Осторожно: Win10 использует системный uuid и uuid контроллера дисковода для идентификации вашего ПК. Если вы пропустите (3), ваш win10 будет думать, что он был клонирован на новую машину, и он больше не будет активирован. Хотя, если вы вернетесь к исходному hw, он снова будет активирован.

Петер - Восстановить Монику
источник
Я сделал все, что вы написали в своем ответе, но я получаю сообщение об ошибке отказа в доступе. Я немного запутался, похоже, что setfaclпосле перезагрузок не держит. Предложения? Примечание: я не монтирую диск, потому что я не хочу повреждения данных. ACL документация говорит , что диски , нуждающиеся в ACL должны быть включены в fstab, который будет монтировать его ...
Картики
1
@Kartik Правильно, это не так. Самое простое, но немного грязное решение - вставить команду setfacl в ваш /etc/rc.local. Довольно хорошим решением было бы отредактировать его в / etc / udev. Лично я не перезагружаюсь достаточно часто, чтобы ввод этой команды раздражал.
Петер - Восстановить Монику
Я использовал udev для установки правильных разрешений, но виртуальная машина застряла на логотипе Windows. Любые идеи?
Картик
@Kartik Если он может хотя бы начать загрузку, то разрешения в порядке. Вероятно, это не имеет ничего общего с этим решением, вероятная причина в том, что окна не будут запускаться в эмулируемой среде (победа может увидеть, как если бы она была перенесена в совершенно новое оборудование, поэтому она должна перемонтировать много драйверы). Попробуй завести машину в какой-нибудь деградирующий побольше из аналога. Или попробуйте включить какой-нибудь режим отладки, или аналогичный. Вы можете решить эту проблему как проблему «Windows не загружается на новом оборудовании». И попробуйте настроить в vbox наиболее похожую среду hw, как у вас на физической машине.
Петер - Восстановить Монику
1
Ошибка загрузки была вызвана обновлением 1703 или обновлением Создателя, как называет его Microsoft. Откат этого обновления устранил проблему. Виртуальные машины несовместимы с этим обновлением. Если Windows обновляется при работе на металле, то откат ее исправляет застрявшую загрузку в ВМ.
Картик
1

Мне удалось с Windows 10 в качестве гостя и Linux Mint в качестве хоста.

Сначала вам нужно удалить все обновления Windows 10 (на всякий случай, может быть, бесполезно), затем: В Linux откройте консоль и построчно:

 sudo su

 fdisk -l # looking for EFI et Microsoft basic data for me 1 and 3 of sdb 

 VBoxManage internalcommands createrawvmdk -filename /home/borto/ww10.vmdk -rawdisk /dev/sdb -partitions 1,3 -relative

Добавьте машину в виртуальный ящик (всегда с «sudo virtualbox» в качестве пользователя root) и включите EFI на вкладке системы, и выберите windows xp 64 вместо windows 10, иначе у вас будет просто замороженный флаг windows 10. Это все.

bormat
источник