Разгрузка системного диска через симлинк, и перенос OSPanel

Последнее время все программы почему-то хранят свои данные в папке пользователя на системном диске. В частности, ScreamingFrog при сканировании сайта, особенно если сайт большой — может сохранят данные на 20-40+Гб, и всё это хранит он на диске C. Так же, поставил LM Studio, но эту программу установил на другой диск, чтобы системный диск не загружать данными, т. к. места на нём катастрофически не хватает. И эта программа снова хранит кеш в папке пользователя на системном диске.
Раньше не знал, но оказывается на некоторые папки, можно использовать симлинк. Фактически данные могут хранится на другом диске, а программы будут думать, что они все данные будут сохранять в папке пользователя на системный диск. У меня пользователь в windows называется 911, и все команды будут с данным ником.
Любая программа, создающая папку с точкой в начале (.название) в C:\Users\911\ — можно смело переносить через mklink /J. Это работает для:
- .lmstudio ✅
- .ScreamingFrogSEOSpider ✅
- .cache (многие Linux-программы под Windows)
- .gradle, .m2 (Java-инструменты)
- .docker, .virtualenvs
Итак, общая схема:
1. Закройте программу полностью
2. Переместите папку на D:
cmd # Из командной строки (от администратора)
cd C:\Users\911
# Перемещаем папку на D:
move .ScreamingFrogSEOSpider D:\ScreamingFrog_cache
3. Создайте симлинк
cmd # Создаём ссылку в той же папке, где была оригинальная папка
mklink /J .ScreamingFrogSEOSpider D:\ScreamingFrog_cache
4. Проверьте
cmd
dir .ScreamingFrogSEOSpider
Далее уже короткий набор команд без описаний, предполагая что все данные уже скопированы в нужные папки, и просто на диске C создаем симлинки для нужных папок:
# Для Visual Studio Code
cd C:\Users\911
mklink /J .vscode D:\vscode_cache
dir .vscode
# Для ScreamingFrogSEOSpider
cd C:\Users\911
mklink /J .ScreamingFrogSEOSpider D:\ScreamingFrog_cache
dir .ScreamingFrogSEOSpider
# Для LM Studio
cd C:\Users\911
mklink /J .lmstudio D:\lmstudio_cache
dir .lmstudio
В результате проверки список каталогов должен выглядеть примерно так:
C:\Users\911>dir .lmstudio
Том в устройстве C имеет метку Windows 10
Серийный номер тома: DEEB-C4A3
Содержимое папки C:\Users\911\.lmstudio
28.05.2026 12:49 <DIR> .
28.05.2026 12:49 <DIR> .internal
28.05.2026 12:49 <DIR> bin
26.05.2026 16:32 <DIR> config-presets
28.05.2026 12:16 <DIR> conversations
26.05.2026 16:32 <DIR> credentials
26.05.2026 16:33 <DIR> extensions
26.05.2026 16:33 <DIR> hub
21.05.2026 00:23 22 mcp.json
26.05.2026 16:33 <DIR> models
26.05.2026 16:34 <DIR> projects
26.05.2026 16:34 <DIR> server-logs
28.05.2026 12:49 3 416 settings.json
26.05.2026 16:34 <DIR> user-files
26.05.2026 16:34 <DIR> working-directories
2 файлов 3 438 байт
13 папок 65 049 235 456 байт свободно
Но фактически все данные будут расположены на другом диске.
Потом, думал что симлинк сработает и с OSPanel, т. к. эта папка весит больше 70Гб. Скопировал по аналогии выше, создал симлинк, при загрузке локального сервера — список доменов появился, но все сайты давали только ошибку Forbibden. И не открывались. Так же, несмотря на то, что в папке баз данных находились файлы всех таблиц — они автоматически не подтянулись, и пришлось переносить всё уже по другому. С OSPfnel перенос всех данных был таким:
### Шаг 1. Запустите старый OpenServer с C: (или с резервной копии)
### Шаг 2. В консоли OpenServer (старого) выполните:
mysqldump -u root --all-databases --single-transaction --quick --max_allowed_packet=1G --hex-blob > D:\all_databases.sql
или
mysqldump --no-defaults -u root --all-databases --single-transaction --quick --max_allowed_packet=1G --hex-blob > D:\all_databases.sql
Ключ --no-defaults заставляет mysqldump игнорировать все конфиги, включая проблемную строку wait_timeout.
Дождитесь завершения (5-30 минут в зависимости от размера).
### Шаг 3. Остановите старый MySQL и закройте старый OpenServer
### Шаг 4. В новом OpenServer на D: остановите MySQL
### Шаг 5. Очистите папку с базами (у меня БД были в MySQL-5.6, поэтому указываю эту папку ниже):
rmdir /s /q D:\OSPanel\userdata\MySQL-5.6\data
mkdir D:\OSPanel\userdata\MySQL-5.6\data
### Шаг 6. Запустите MySQL в новом OpenServer
### Шаг 7. В консоли нового OpenServer выполните:
mysql -u root < D:\all_databases.sql
Если завершено с ошибками, то выполнить запрос с игнорированием ошибок:
mysql -u root --force < D:\all_databases.sql
Дождитесь завершения (30-60 минут).
### Шаг 8. Проверьте в phpMyAdmin, что базы данных и таблицы видны
PS данный пост, это больше для себя, чтобы в будущем не гуглить подобное, а быстро можно было найти в блоге.