Windows 11

WSL в Windows перенесіть на інший диск

WSL в Windows перенесіть на інший диск

Підсистема Windows для Linux (Підсистема Windows для Linux, WSL2Сьогодні він широко використовується розробниками, адміністраторами та звичайними користувачами для запуску різних розподілів (Ubuntu, Debian, OpenSuse, Kali Linux, Alpine), інструментів та додатків Linux серед Windows без використання віртуалізації та подвійного завантаження. У цій статті ми розглянемо, як перенести встановлені файли на інший диск або комп'ютер.

Під час встановлення WSL у Windows всі екологічні файли зберігаються на системному диску (C: \, як правило). Якщо розмір системного диска недостатній (невеликий диск SSD), то з часом розмір файлової системи WSL може серйозно зрости, і ви захочете перенести файли WSL на інший диск. У Windows 10 та 11 ви можете перенести WSL на інший диск або комп'ютер декількома способами.

Перш за все, визначте поточний розмір файлової системи WSL на вашому диску. Принесіть список встановлених розподілів WSL на комп’ютері:

Wsl -list --verbose

У нашому прикладі встановлено лише Ubuntu-20.04. Виконайте наступну команду PowerShell, щоб отримати ім'я UWP за допомогою вашого розподілу Linux:

Get -appxpackage -name "*ubuntu20*" | Виберіть PackageFamilyName

У моєму прикладі назва UWP -пакет - Canonicalgrouplimited.Ubuntu20.04OnWindows_79rhkp1fndgsc. Файлова система WSL цього розподілу Linux зберігається у файлі VHD Ext4.VHDX Userprofile %\ appdata \ local \ packages \ canonicalgrouplimated.Ubuntu20.04OnWindows_79rhkp1fndgsc \ localstate \ ext4.VHDX

Щоб отримати розмір файлу за допомогою PowerShell, виконайте:

$ Path = $ env: userprofile + ”\ appdata \ local \ packages \” + (get -appxpackage -name "*ubuntu20*").Пакетфамілі -ім'я + “\ localstate \ ext4.Vhdx "
Get -childim -path $ path | Fl @label = "sizegb"; Вираз = $ _.Довжина / 1 Гб

Ви можете спробувати зменшити розмір файлу VHD за допомогою командлета Optimize-VHD (з модуля PowerShell Hyper-V). Іноді цього достатньо:

Оптимізувати -vhd -path -mode повний

Шлях до файлу VHD цього розподілу WSL зберігається в параметрі Базовий Гілки реєстру HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ lxss \ uuid .

Ви можете зупинити WSL, перемістити ext4.VHDX на інший диск і змініть шлях до каталогу в реєстрі. Але цей сценарій не рекомендується!

У сучасних будівлях Windows 10 та 11 ви можете виконати правильну передачу середовища WSL за допомогою побудованої процедури експорту та імпорту.

Запустіть WSL та перевірте ім'я користувача:

WSL
Хто я

У нашому прикладі це Синопи.

Закрийте всі програми, запущені в консолі Linux та WSL:

Wsl -shutdown

Щоб створити резервну копію (експортувати) своє середовище WSL та розмістити його на окремому Disc E:, виконайте команди:

Mkdir e: \ резервне копіювання
WSL-Export Ubuntu-20.04 E: \ Backup \ Ubuntu.Дьогте

Зачекайте кінців експорту WSL (може зайняти довго). У цільовому каталозі з’явиться архів TAR з вашим середовищем WSL.

Тепер ви можете видалити екологічні файли WSL на вихідному диску:

WSL-Unregister Ubuntu-20.04

Створіть каталог для вашого зображення Linux на новому диску та імпортуйте архів дьогтю в команді WSL:
Mkdir e: \ wsl
WSL -IMPORT Ubuntu-20.04 E: \ wsl \ e: \ backup \ ubuntu.Дьогте

Корінь використовується для введення Ubuntu за замовчуванням. Щоб змінити його на інше ім'я користувача (ми отримали його раніше), виконайте:

CD $ env: userprofile \ appdata \ local \ microsoft \ windowsapps
.\ Ubuntu2004.Sysops exe config-default-user

Запустіть своє середовище WSL:

Wsl -d ubuntu -20.04

Порада. Бажаний розподіл WSL може бути запущений з терміналу Windows.

Цей же сценарій можна використовувати для перенесення налаштованого зображення WSL на інші комп’ютери.

Ви також можете використовувати третю партію утиліту для перенесення WSL на WSL на WSL Lxrunoffline (Доступно на Github - https: // github.Com/ddosolatient/lxrunoffline). Ви можете встановити утиліту через Chocolatey:

Set -ExecutionPolicy BYPass -cope Process -force; [Система.Сітка.ServicePointManager] :: SecurityProtocol = [Система.Сітка.ServicePointManager] :: SecurityProtocol -бор 3072; Iex ((нова об'єктна система.Сітка.WebClient).DownloadString ('https: // спільнота.Шоколадний.Org/встановити.PS1 '))
Choco встановити lxrunoffline

Принесіть список доступних зображень WSL:

Список LxRunoffline

Ми закінчуємо всі процеси:

Wsl -shutdown

Дізнайтеся поточний каталог, в якому зберігається зображення WSL:

Lxrunoffline get-dir -n ubuntu-20.04

Передача WSL на інший диск:

LxRunoffline Move -n Ubuntu -20.04 -d d: \ wsl2 \ ubuntu -20.04

Після закінчення передачі запустіть розподіл WSL. Команда:

Wsl -d ubuntu -20.04

або

Lxrunoffline run -n ubuntu -20.04 -w

У Windows 11, за аналогією з WSL, ви також можете запустити підсистему Windows для Android (WSA).
Розшифровка звукових сигналів BIOS
Діагностичне значення найпоширеніших звукових сигналів BIOS Методи ідентифікації виробника BIOS Таблиці декодування біосів різних виробників Основна...
Встановити та запустити Linux на Android
Ми говоримо про те, як завантажити та встановити Linux на мобільний пристрій за допомогою Android. Про Android та Linux По -перше, варто зазначити, що...
Як виправити помилку ESENT 455 у подіях Windows
Багато помилок в експлуатації операційної системи та програм непомітно, поки користувач не заважає розглянути Журнал подій. Дивлячись, користувач може...