Как исследовать файл ext4.vhdx и посмотреть, что внутри, используя wsl2

Как исследовать файл ext4.vhdx и посмотреть, что внутри, используя wsl2

В настоящее время я использую wsl2 и замечаю, что для ext4.vhdx требуется значительный объем дискового пространства. Я знаю, что это система управления файлами Ubuntu, но не очень хорошо понимаю, что там внутри. Поэтому я хочу заглянуть внутрь и удалить все ненужные файлы. Как это сделать? Я знаю, что wsl2 не возвращает использованное дисковое пространство хост-системе (я использую Windows 10). Поэтому я хочу узнать, сколько места на диске занимает Ubuntu.

решение1

Ответ @thomas-ward правильный, но мне кажется, что внутри вашего вопроса есть дополнительный «вопрос», на который все еще нужно ответить.

Для начала, перефразируя другой ответ, вы можете проще всего увидеть все содержимое, ext4.vhdxпросто запустив WSL и просмотрев файлы. Например:

sudo find / -xdev | less

Это позволит найти все файлы в ext4файловой системе, смонтированной как корневая ( /), но не файлы на смонтированных дисках NTFS/Windows ( -xdevисключая другие файловые системы).

Вы также можете увидеть объем хранилища, используемый этими же файлами, с помощью:

sudo du -hdx

Если эта сумма отличается от размера файла ext4.vhdx, то да, как вы уже подозреваете, у вас, скорее всего, есть невостребованное пространство. Как вы упомянули в своем вопросе, WSL будетрастиэтот файл по мере необходимости, но он не будет автоматическисокращатьэто когда файлы удаляются.

Чтобы вручную сжать файл, вы можете выполнить любой из шагов, которые я упомянул здесьэтот ответ Суперпользователя. Вот один из них, скопированный из указанного комментария на Github:

wsl --shutdown
# At this point, it is recommended that you back up your ext.vhdx and delete the backup once you have confirmed the other commands are successful.
diskpart
# open window Diskpart
select vdisk file="C:\WSL-Distros\…\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

Примечание: Альтернативным способом vhdxпрямого доступа будет запуск новой виртуальной машины на базе Linux на Hyper-V и добавление этого виртуального диска (или его копии) к экземпляру. Невозможно проверить его напрямую в Windows, поскольку Windows не понимает файловую систему ext4.

решение2

Непосредственное изучение VHDX в Windows не рекомендуется, поскольку он содержит ext4файловую систему.

По сути, VHDX содержит всю операционную систему Ubuntu, а также любые дополнительные файлы/программы/библиотеки и т. д., которые вы установили в WSL. Это весь «жесткий диск» системы, который WSL2 использует с виртуализацией для запуска среды Ubuntu WSL. По сути, любой файл, к которому вы можете перейти в WSL и увидеть ( /usr/lib/...например), находится в VHDX.

Связанный контент