Вот как я это сделал:
подготовка
Рабочий стол Windows 10
Следующие шаги должны предоставить способ копирования образа диска. У меня не было внешнего устройства хранения данных с достаточным пространством для хранения образа диска моего ноутбука, поэтому я подключил свой компьютер с Windows через SSH. Есть и другие способы сделать это, но для меня это было проще всего в данной ситуации.
- Включить WSL и перезагрузиться при появлении запроса
- Установите Ubuntu из Магазина Windows
- Запустите Ubuntu из меню «Пуск»
- Запустите
sudo apt install openssh-server
для установки sshd
- Запустите
sudo nano /etc/ssh/sshd_config
для редактирования конфигурации sshd
- Измените
PasswordAuthentication no
на PasswordAuthentication yes
, затем нажмите Ctrl+x , y , введите, чтобы сохранить
- Запустите
sudo /etc/init.d/ssh restart
Откроется диалоговое окно брандмауэра Windows, нажмите «Принять», чтобы разрешить входящие подключения.
Linux ноутбук
Запустите sudo apt install sshfs virtualbox
чтобы получить команды sshfs
и vboxmanage
.
Сейчас самое время проверить, можете ли вы установить SSH-соединение с вашим Windows-компьютером.
Создание загрузочного образа
Если в следующем разделе вы создадите образ всего диска, а не только раздела Linux, то вам, вероятно, не нужно будет этого делать.
Я хотел сэкономить место, поэтому взял только мой корневой раздел Linux, но он сам по себе не загрузочный, поэтому я создал загрузочный ISO-образ:
Linux ноутбук
- Установите пакеты, необходимые для grub-mkrescue:
sudo apt install grub-pc-bin xorriso
- Создайте каталог для хранения загрузочных файлов:
mkdir -p efibootiso/boot/grub
- Скопируйте загрузчик Grub EFI:
cp /usr/lib/grub/x86_64-efi/* efibootiso/boot/grub/
- Скопируйте конфигурацию Grub на вашем ноутбуке:
cp /boot/grub/grub.cfg efibootiso/boot/grub
- Сделайте образ:
grub-mkrescue -o boot.iso efibootiso
- Скопируйте его на свой компьютер с Windows:
scp boot.iso username@windowsten:/mnt/d/VMs/WorkLaptop/
Создание образа диска
Linux ноутбук
- Перезагрузитесь и выберите дополнительные параметры, затем режим восстановления из загрузчика
- Выберите сеть из меню восстановления, чтобы включить сеть
- Затем выберите опцию корневой консоли и нажмите Enter
- Запустите mount, чтобы проверить ваш корневой раздел (у меня
/dev/sda8
)
- Создайте временный каталог для монтирования вашего компьютера с Windows, например:
mkdir /run/windowsten
- Смонтируйте свой компьютер с Windows, например:
sshfs username@windowsten:/ /run/windowsten
- Перейдите в каталог, в который вы хотите сохранить образ диска, например:
cd /run/windowsten/mnt/d/VMs/WorkLaptop
Вот хитрость: если вы запустите mount -o remount,ro /
now, вам сообщат, что он используется, поэтому вместо этого используйте волшебные ключи sysrq: SysRq + s для принудительной синхронизации, а затем SysRq + u для принудительной повторной установки только для чтения.
(SysRq на моем ноутбуке был Alt Gr + Print Screen)
- Теперь создайте файл VDI с помощью
vboxmanage convertfromraw /dev/sda8 worklaptop.vdi
Это займет много времени. Я получил около 10 ГБ / час с обеих машин, использующих 802.11n Wi-Fi. В следующий раз я буду использовать проводное соединение.
Когда он в конце концов закончится, у вас будет образ диска Linux-раздела вашего ноутбука.
Рабочий стол Windows 10
- Запустите VirtualBox
- Нажмите Новый
- Нажмите Экспертный режим
- Дайте вашей ВМ имя
- Выберите тип и версию ОС (например, Linux, Ubuntu (64 бит)
- Дайте ему достаточно оперативной памяти
- Установите переключатель "Использовать существующий файл виртуального жесткого диска"
- Нажмите на желтый значок папки
- Найдите и выберите файл VDI из предыдущего шага
- Нажмите Создать
- Выберите вашу новую виртуальную машину
- Нажмите Настройки
- Нажмите Хранилище
- Выберите оптический привод
- Нажмите значок диска и выберите "Выбрать файл виртуального оптического диска".
- Найдите и выберите образ boot.iso
- Нажмите Система
- Убедитесь, что оптический дисковод находится над жестким диском в порядке загрузки
- Установите флажок Включить EFI
- Нажмите ОК
Теперь вы должны быть в состоянии загрузить свою виртуальную машину.