LINUX.ORG.RU
ФорумAdmin

Достать Linux из виртуалки, запихать винду в виртуалку и пробросить ей всё

 , , , ,


1

1

Понимаю, что не совсем по теме форума, но тут же много спецов и по винде, так что рискну спросить.

Имеется комп с 11 виндой. Сейчас там для разработки используется VirtualBox с линуксом. Но, из-за того что 11 корпоративная требует Virtualization Based Security, там включен HyperV и VirtualBox работает с конкретыми торомозами. Сейчас попробовал временно выключить vbs, виртуалка просто летает, но винда теряет авторизацию aad.

Захотелось вывернуть куртку^W виртуализацию наизнанку: запускать линукс, там qemu-kvm, ну или на крайняк, VMWare или что-то ещё, а в виртуалке - корпоративную винду. Возможно такое? Я так понимаю, что TPM, и сканер отпечатка пальца можно пробросить в виртуалку, и винда будет довольна? Или нет? Мне важно, чтобы она не теряла авторизацию Entra Id / aad.

Кто-нибудь пробовал такое?

★★★★★

В windows для всех систем виртуализации, что для Hyper-V, что для Virtualbox, что для Vmware сейчас предоставляется единое API виртуализациии.

Но Virtualbox сам по себе тормозной, что с сетью, что с дисками.

Попробуй перенести ВМ с Linux в родной Hyper-V.

А так, поставить Windows 11, если нужна именно она можно спокойно в ВМ, TPM для этого не требуется.

Перенести имеющуюся Windows в виртуальную машину тоже можно.

Снимаешь посекторый образ диска с Windows в RAW формате, конвертируешь в qcow2, подключаешь к ВМ.

Для минимизации размера диска ВМ создай на все свободное пространство файловой системы в Windows файл забитый нулями, потом удали, тогда при конвертации в qcow2 получится сжатый файл образ диска ВМ.

Для конвертации qemu-img.

Если Windows сейчас стоит на NVME, а в ВМ будет SATA, то нужно будет в ВМ загрузиться с установочного диска Windows и в реестре активировать загрузку SATA драйверов. Если тип контроллера virtio - установить в систему драйверы и активировать их загрузку через реестр.

Возможно, достаточно только установки, без реестра. Пробуй.

Вот примерная инструкция:

Только драйвер в инструкции, вроде бы не тот указан, пробуй так же viastor, а не vioscsi. Пробуй и тот и тот.

Без них загрузчик не сможешь поправить, установочная среда не увидит диск.

Затем через bcdboot переустановить загрузчик, смотри MSDN Windows.

Если схема разметки диска GPT - в ВМ должна быть EFI прошивка.

В случае, если в ВМ будет BIOS - нужно средствами fdisk в Linux удалить имеющуюся таблицу разделов GPT на диске ВМ и создать разделы в тех же границах с разметкой MBR.

В windows есть ограничения:

  • BIOS -> MBR -> BIOS загрузчик
  • EFI -> GPT -> EFI загрузчик.

А так, возможно, проще поставить чистую Windows в ВМ.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от kostik87

А почему SATA, qemu же умеет

-device nvme,serial=deadbeef,drive=nvm

?

Заново устанавливать мне не вариант: мне надо чтобы она в рабочем домене оставалась, сохранила имя и всё остальное. Лучше вообще, чтоб не заметила, что что-то поменялось, но это мечты, конечно. Да, тот образ, который есть - это GPT

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

Я не использовал nvme в Qemu / libvirt / virt-manager.

Гугли, пробуй, но драйверы, скорее всего, все равно придется ставить, а может и нет.

Если запустишь на nvme в QEMU перенесённую ОС - напиши.

В qemu есть поддержка EFI.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Дык, именно, что отключил на время (см. оригинальный пост). Всё летает, но из-за того что выключена virtualization-based protection of code integrity, defender говорит, что эта машина не может обращаться к корпоративным ресурсам. Так что, придётся включить обратно.

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

nested в виде qemu внутри другого qemu - да.

А вот я когда-то пытался внутри qemu запустить винду и в этой винде vmware workstation - нельзя, несовместимо. Правда это было давно, может что и изменилось.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Вот, 4 года назад кто-то запустил винду, https://www.reddit.com/r/VFIO/comments/s18mre/windows_on_qemu_kvm_with_nested_virtualization/

а внутри неё WSL2 (и ещё внутри опять QEMU, но мне так глубоко не надо)

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

Это вроде еще от процессора зависит. Года 2-3 назад пробовал завести эмулятор андроида (qemu) внутри виртулки и в винде на амд это не работало. На сайте мс писали что мол есть но в превью версиях. А на интеле давно поддерживалось на тот момент

cobold ★★★★★
()
Ответ на: комментарий от kostik87

Снимаешь посекторый образ диска с Windows в RAW формате, конвертируешь в qcow2, подключаешь к ВМ.

Полезно, но не обязательно. Qemu можно не образ подсовывать, а физический диск.

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

А ещё так можно через qemu устанавливать ОС на другой диск чтобы потом её нативно с него запускать.

И в целом я бы не сказал что qcow2 - полезно. Если хочешь снапшоты делать то да, полезен, в остальных случаях лучший вариант это raw, причём заранее аллоцированный и желательно не фрагментированный на физическом носителе. Либо диск и пробрасывать, если под него есть свободный sata-слот.

Удивительно, кто-то кроме топикстартера читает простыни костика. Я вот не попытался осиливать даже.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Ну опыт будет емче и ближе к истине. А так, man курить дольше. В целом, если зайти на сайты разрабов, то там ащемто use case и так приводят. К тому, что таких вопросов будет больше. Хорошо ли это: спорно.

anonymous
()
Ответ на: комментарий от alt-x

Я понимаю. Ну попроси админа. Нормальным я считаю было бы дать соответствующие задачам права. Где бы я не работал, везде получал права. С тех пор, как стал дипломированным инженером.

sparkie ★★★★★
()
Ответ на: комментарий от sparkie

Ну, у меня локальные права есть. Глобальные получить нереально, их нет даже у обычных админов, есть только у главного.

Ну и, опять же, (пере)установка виндов - не является моей официальной задачей. Я просто пытаюсь свою работу оптимизировать

alt-x ★★★★★
() автор топика
Последнее исправление: alt-x (всего исправлений: 1)
Ответ на: комментарий от alt-x

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

anc ★★★★★
()
Ответ на: комментарий от kostik87

А так, поставить Windows 11, если нужна именно она можно спокойно в ВМ, TPM для этого не требуется.

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

masa ★★★
()
Ответ на: комментарий от masa

Ну тут неопонятно, вот у меня корп ноут Thinkpad. Он зашит корпорацией таким образом, что какую бы ты винду не ставил, она сама во время установки конвертируется в корп версию и сразу из установки логинится в домен и без логина в домен не ставится в принципе.

Одно из предположений, что зашитое лежит в efi т.е. выковорить его оттуда скорее всего возможно.

anc ★★★★★
()

То есть админы настроили политики безопасности, чтобы для клиентских машин требовалась Virtualization Based Security, а ты это пытаешься обойти? Знаешь, что потом бывает с теми, кто злостно нарушает политики компании?

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

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Почему обойти? Винда работала бы с VBS, всё как требуется.

В intune можно делать исключения? Тогда да, нетехнический метод лучше. Спасибо за идею!

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

Заново устанавливать мне не вариант: мне надо чтобы она в рабочем домене оставалась, сохранила имя и всё остальное. Лучше вообще, чтоб не заметила, что что-то поменялось, но это мечты, конечно.

Эксперимент по выворачиванию куртки наизнанку технически интересный, но ты делаешь его не так.

Правильный способ такой: пишешь айтишному начальству письмо, в котором излагаешь свои проблемы и методы их решения (установить линукс на хост, а винду — в виртуалку), получаешь официальное одобрение, далее действуешь. Даже если перенести винду в виртуалку не получится, можно её установить заново, т. к. включить машину в домен при наличии официального одобрения — не проблема.

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

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

debugger ★★★★★
()
Ответ на: комментарий от debugger

Слова правильные, но в моём случае официального одобрения не будет. Если бы выворачивание куртки работало, могли бы глаза закрыть, формально все требования соблюдены, им по шапке не прилетит.

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

alt-x ★★★★★
() автор топика

При P2V конвертации точно слетит активация. Плюс, что скорее всего будет заметно админам - это смена железной конфигурации, если они используют какой-то inventory софт.
Кстати, а почему Linux в HyperV не развернуть, раз VirtualBox тормозит?

MirandaUser2
()