Windirstat показывает, что Ubuntu занимает 70 Гб пространства

В качестве предисловия я использую Ubuntu с WSL.

В последнее время я пытаюсь выяснить, как именно очистить дисковое пространство, занимаемое жестким диском с именем ext4.vhdx, хранящимся в CanonicalGroupLimitedUbuntu.../LocalState.

Снимок экрана визуализации Windirstat:

Screenshot of Windirstat visualization

Когда я проверяю Ubuntu, чтобы увидеть, сколько памяти используется с ncdu, видно, что используется только 323,6 МБ памяти. Однако, когда я запускаю df, это показывает мне тонну файловых систем, которые занимают почти 99% от их выделенного пространства.

Скриншот df:

Screenshot of df output

Являются ли эти файловые системы причиной того, что мое хранилище заполнено, и могу ли я что-нибудь сделать, чтобы это исправить?

-1
задан 7 March 2021 в 22:33

1 ответ

Кажется, что проблема была в колесе мыши, которое я случайно нажимал иногда.

Для этого см. Как отключить среднюю кнопку мыши?

-121--909393-

Тип файла определяется содержимым, а пустой файл является типом.

Расширение действительно является только частью имени, и если противоречит типу (определяется содержимым), содержимое является выбором по умолчанию для POSIX/unix с 1973 года.

Используйте

file filename.py

, и вы, вероятно, увидите, что он сообщает как пустой файл...

1973 было давно... так что это соглашение теперь для любого unix, как операционная система, преддейнинг microsoft/msdos и т.д.

-121--909033-

Из того, что вы показали с df , я бы рискнул, что ncdu правильно с количеством потребляемого места хранения, который используется правильно. Номер будет около 325MB, давать или брать. То, что вы видите в df - это ряд монтировок, которые указывают на одно и то же местоположение, поэтому все они имеют одинаковый набор чисел.

Проблема, с которой вы сталкиваетесь, не имеет ничего общего с Ubuntu и с Windows. Существует давний выпуск WSL Github по этой теме, открытый с ноября 2019 года. WSL автоматически увеличит размер вашего виртуального диска, который вы правильно определили как ext4.vhdx , но его сокращение для освобождения неиспользуемого пространства в настоящее время необходимо выполнить вручную.

Прежде всего:

  1. Выключите машину WSL:
     wsl --shutdown
    
  2. Создайте копию vhdx в качестве резервной копии (в случае, если все пойдет в сторону)

Далее, если вы используете Windows Professional (или что-то более дорогое), вы можете установить Hyper-V и использовать Optimise-VHD для изменения размера образа , как описано выше в выпуске GitHub :

optimize-vhd -Path .\ext4.vhdx -Mode full

Если используется Windows Home или выше, необходимо использовать разрозненные следующим образом:

diskpart
select vdisk file="C:\WSL-Distros\…\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

Третьим вариантом является экспорт образа WSL и его повторный импорт , что можно сделать следующим образом:

wsl --shutdown
wsl -l -v
wsl --export <DistroName> <PathToTarArchive>
wsl --unregister <DistroName>
wsl --import <DistroName> <PathToDistroNewDirectory> <PathToTarArchive>
wsl -l -v

Примечание. После импорта образа необходимо сбросить имя пользователя по умолчанию .

Что касается, «Почему Windows использует 70.3 ГБ места хранения или изображения WSL на 0.3 ГБ?», вы должны будете спросить людей в Редмонде как знание, что ответ далеко за пределами моего ранга оплаты.

Надеюсь, что это поможет вам освободить хорошую часть места хранения.

0
ответ дан 18 March 2021 в 23:28

Другие вопросы по тегам:

Похожие вопросы: