Загрузка ОС на физический диск - p2v

У меня есть машина с двойной загрузкой. Обе ОС работают с разных дисков. Linux находится на внутреннем жестком диске, а Windows - на внутреннем SSD.

Я просто хотел иметь возможность запускать оба одновременно. Я полагаю, что будет проще виртуализировать существующий Linux из Windows, чем наоборот.

Виртуализация включена в BIOS.

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

Я открыт для любого решения, Hyper-V, VMWare, Oracle Virtualbox или любого другого.

1 ответ

Я сделал нечто подобное несколько лет назад. Проверьте этот пост для некоторых подробностей о моей настройке на тот момент. Я был очень доволен результатами. Однако обновление GRUB было беспорядочным, потому что я хотел иметь возможность загружать Linux как в виртуальной машине на хосте Windows, так и напрямую с чистого листа. Если вы хотите типичный P2V, все немного проще.

Я выбрал Windows в качестве хоста, а Linux в качестве гостя, потому что в то время Windows была моей повседневной машиной. Сегодня я бы подумал сделать это по-другому, но у меня нет практического опыта с этим подходом, поэтому я не буду фокусироваться на этом в этом ответе. Если вы хотите использовать Windows для игр и т. Д., То сделайте ее хостом - поддержка сквозного PCI-подключения в VirtualBox очень ограничена, у нее необычные аппаратные требования, и вам потребуется второй графический процессор + второй экран. Почему VirtualBox: особых причин нет, я с ним знаком.

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

После того, как диск сопоставлен в файле VMDK, вы хотите создать отдельный /boot раздел - вероятно, на виртуальном диске, хранящемся в разделе хоста - размером около 300 МБ. Вам не нужен системный раздел EFI, потому что поддержка EFI в VBox... ну, не удовлетворяет, поэтому вы хотите загрузиться через MBR. Так что прикрепите этот маленький виртуальный диск как первый, а физический VMDK, который вы создали, как второй.

Загрузите ВМ из Linux ISO и загрузитесь в вашу установку P2V. Переехать /boot в новый раздел: простая rsync его содержимого + обновление в /etc/fstab сделает свое дело. Установите GRUB2 в MBR маленького диска. Не удаляйте /boot из исходного раздела еще, вы хотите сначала очистить GRUB от хоста. Загрузите хост с Windows ISO и нажмите Shift+F10, появится командная строка. bootrec /fixboot + bootrec /fixmbr следует удалить его из настройки MBR, для UEFI вам придется удалить запись EFI (в настройке UEFI или с помощью efibootmgr из Linux), а затем удалите связанные файлы из системного раздела EFI (который скрыт в Windows Disk Management, но вы можете назначить ему письмо, используя diskpart). Убедитесь, что Windows загружается. Если нет, восстановите из резервных копий. Я упоминал, что вы должны сделать резервные копии заранее? Сначала сделайте хорошие резервные копии.

И это в основном все. Возможно, вы могли бы написать книгу о настройке загрузки Linux и обо всех проблемах, которые могут возникнуть, но у меня нет времени, чтобы сделать это прямо сейчас, поэтому я только оставляю этот ответ. Надеюсь, это будет полезно. Удачи!

Другие вопросы по тегам