Ось як я тільки що це зробив:
Підготовка
Робочий стіл 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, enterщоб зберегти
- Біжи
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 /
зараз, то вам скажуть, що він використовується, тому замість цього використовуйте магічні клавіші sysrq: SysRq+ sдля примусової синхронізації, а потім SysRq+ uдля примусового повторного повторного повторного перегляду. ( SysRqна моєму ноутбуці було Alt Gr+ Print Screen)
- Тепер зробіть файл VDI за допомогою
vboxmanage convertfromraw /dev/sda8 worklaptop.vdi
Це займе багато часу. Я отримав близько 10 Гб / год на обох машинах за допомогою Wi-Fi 802.11n. Наступного разу я використовуватиму провідне з'єднання.
Коли це врешті-решт закінчиться, у вас з’явиться образ диска на Linux-розділі вашого ноутбука.
Робочий стіл Windows 10
- Запустіть VirtualBox
- Натисніть кнопку Створити
- Клацніть Експертний режим
- Назвіть своє ВМ ім'я
- Виберіть тип та версію ОС (наприклад, Linux, Ubuntu (64 біт)
- Дайте йому достатньо оперативної пам’яті
- Виберіть перемикач "Використовувати наявний файл віртуального жорсткого диска"
- Клацніть на значку жовтої папки
- Перейдіть до та виберіть файл VDI з попереднього кроку
- Натисніть Створити
- Виберіть нову віртуальну машину
- Клацніть Налаштування
- Клацніть Збереження
- Виберіть оптичний привід
- Клацніть піктограму диска та виберіть "Вибрати файл віртуального оптичного диска"
- Перейдіть до та виберіть зображення boot.iso
- Клацніть Система
- Переконайтесь, що оптичний привід знаходиться над жорстким диском у порядку завантаження
- Поставте прапорець Увімкнути EFI
- Натисніть кнопку ОК
Тепер ви повинні мати можливість завантажувати свій VM.