Подключите зашифрованный раздел с HD ext4 в WSL.

Вопрос или проблема

При наличии двойной загрузки, 1 SSD для Windows, 1 для Linux,
можно смонтировать диск/раздел ext4 Linux в WSL на Windows 11 с помощью:

wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>

Источник

Существует ли способ правильно смонтировать раздел, зашифрованный с помощью LUKS?

Для двойной загрузки (находясь в системе Linux) рекомендации:

  • проверьте идентификатор пользователя, которому принадлежит раздел (это можно сделать в WSL позже).
  • проверьте размеры разделов с помощью lsblk, так как они могут иметь совершенно разные имена в WSL, чтобы позже идентифицировать зашифрованный.

в Powershell [администратор]

# идентифицировать диск
GET-CimInstance -query "SELECT * from Win32_DiskDrive"

# смонтировать диск (DiskPath: \\.\PHYSICALDRIVE*)
wsl --mount <DiskPath> --bare

в WSL:

# 1
sudo apt-get update
sudo apt-get install cryptsetup

# 2 идентифицировать интересующий раздел
lsblk

# 3 Монтирование зашифрованного раздела
sudo cryptsetup open /dev/sdXn cryptpart

# 4 создать точку монтирования и смонтировать
sudo mkdir /mnt/your-mount-point
sudo mount /dev/mapper/cryptpart /mnt/your-mount-point

# 5 проверить владение разделом и вошедшим пользователем
ls -l /mnt/your-mount-point/
id USERNAME
# если они совпадают, продолжайте читать/изменять файлы

# 7 Размонтировать
sudo umount /mnt/your-mount-point
sudo cryptsetup close cryptpart

если идентификатор, владеющий смонтированным разделом, отличается от идентификатора вошедшего пользователя WSL

# создать пользователя с идентификатором 
# владельца /mnt/your-mount-point

EXISTING_UID=<id-of-owner-of-files-in-mount-point>
NEWUSER=<your_username> # имя может отличаться от имени в системе Linux

# использовать однострочник, убрав \
# этот пример требует установленного zsh 
useradd --create-home --shell /usr/bin/zsh --user-group --groups \ 
adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --uid \
$EXISTING_UID --password $(read -sp Password: pw ; echo $pw | openssl passwd \
-1 -stdin) $NEWUSER

# изменить пользователя по умолчанию, для целей vscode, изменить `/etc/wsl.conf`
# добавление имени пользователя, когда его идентификатор не 1000
[user]
default=username-when-its-id-is-not-1000

Ответ или решение

Как смонтировать зашифрованный раздел ext4 из Linux в WSL

С учетом современного многоуровневого управления данными и безопасности, работа с зашифрованными разделами становится все более актуальной для пользователей, которые используют такие системы, как Windows и Linux в режиме двойной загрузки. В данной статье мы рассмотрим, как правильно смонтировать зашифрованный раздел, используя Windows Subsystem for Linux (WSL), на примере системы с разделом ext4, зашифрованным с помощью LUKS.

Предварительная подготовка

  1. Проверка прав доступа: Прежде всего, вам нужно убедиться, что у вас есть достаточные права для доступа к данному разделу. Можно сделать это, определив ID пользователя, который владеет разделом.

  2. Определение размеров разделов: Используйте команду lsblk в WSL, чтобы узнать размеры и названия всех доступных разделов. Это поможет вам идентифицировать зашифрованный раздел для дальнейшей работы.

Процесс монтирования

Шаг 1: Идентификация диска в Windows PowerShell

Откройте PowerShell от имени администратора и выполните следующую команду для получения информации о дисках:

GET-CimInstance -query "SELECT * from Win32_DiskDrive"

Это позволит вам узнать путь к диску (например, \\.\PHYSICALDRIVE0), который позже понадобится для монтирования в WSL.

Шаг 2: Монтирование диска в WSL

В PowerShell выполните команду для монтирования диска в WSL:

wsl --mount <DiskPath> --bare

Замените <DiskPath> на путь, полученный на предыдущем шаге. Это монтирует диск в WSL без назначения файла системы.

Шаг 3: Установка необходимых инструментов

Теперь вам нужно установить cryptsetup, если он еще не установлен, для работы с LUKS:

sudo apt-get update
sudo apt-get install cryptsetup
Шаг 4: Определение раздела и его открытие

Используйте команду lsblk для отображения списка всех разделов и найдите нужный зашифрованный раздел. Затем выполните следующую команду:

sudo cryptsetup open /dev/sdXn cryptpart

Замените /dev/sdXn на идентификатор вашего зашифрованного раздела.

Шаг 5: Создание точки монтирования и монтирование

Создайте директорию, которая будет служить точкой монтирования, и затем смонтируйте раздел:

sudo mkdir /mnt/your-mount-point
sudo mount /dev/mapper/cryptpart /mnt/your-mount-point
Шаг 6: Проверка прав доступа

После успешного монтирования проверьте права собственности на данные в вашем каталоге:

ls -l /mnt/your-mount-point/
id USERNAME

Замените USERNAME на ваше имя пользователя. Если ID владельца совпадает с вашим, вы можете безопасно работать с файлами.

Шаг 7: Размонтирование

Не забудьте размонтировать раздел и закрыть LUKS после завершения работы:

sudo umount /mnt/your-mount-point
sudo cryptsetup close cryptpart

Создание пользователя с правами владельца (при необходимости)

Если ID владельца монтируемого раздела отличается от вашего, вы можете создать нового пользователя с нужным ID, чтобы избежать проблем с доступом:

EXISTING_UID=<идентификатор-владельца-файлов>
NEWUSER=<ваше_имя_пользователя>

# Убедитесь, что у вас установлен zsh
useradd --create-home --shell /usr/bin/zsh --user-group --groups \
adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --uid \
$EXISTING_UID --password $(read -sp Password: pw ; echo $pw | openssl passwd -1 -stdin) $NEWUSER

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...