Расположение для logfolderpath находится не на жестком диске

Обновлено: 02.07.2024

Пытался установить Forza Horizon 4 не на системный диск С, а на жёсткий диск D. При попытке изменения места сохранения нового содержимого выходит ошибка 0х80070005.

В интернете был единственный адекватный способ решения данной проблемы.

Когда хочу сменить диск с системного на основной для установки приложений из WS пишет: Не удалось… Что делать, если отказано в доступе к файлу или папке в Windows 10? Эта инструкция расскажет вам…

Но при изменении на Администратора вылезает ошибка Windows Defender. Я пытался перемещать папку на другой диск, но это только отключило половину функционала, пока точно отвалился store и xbox.
Есть кто ещё сталкивался с подобными проблемами? Кто как решал?

Так выбери при установке.

Так укажи это место как расположение приложений. В чем дело-то?

Ооооо, великий ПК гейминг. Сам недавно с этим встретился. Проблема может быть в том, что у тебя уже на С диске созданы папки в отношении XBOX игр. Я откровенно мучался с этим несколько часов, пока смог удалить эти папки и только после этого пропала ошибка и дал поменять файл установки. Но меня безумно выбесил подход и потом какими-то левыми путями давать себе же администратору права доступа.

Величайший ПК гейминг, но без него никак(
Обожаю копаться в драйверах и реестре

Лучший, почему мне этого никто раньше не сказал, все заработало!

Просто воткнул диск больше и все :))) Я вот gear of wars 4 не играл пока диск не поменял :)) Да мне не хотелось ставить на HDD. Я в тяжелые игры приятней играть на SSD.

спасибо тебе, добрый человек! похожая проблема была:
1) есть два жестких диска: системный и под мусор. на мусорном были установлены игры по Xbox PlayAnywhere
2) произошел BSOD, который ничем не лечился, кроме как сбросом винды
3) изменить место хранения нового содержимого
3) .
4) ошибка 0x80004004!

почти час гуглил то тут, то там, и пробовал разные методы, пока не нашел твой комментарий.
как оказалось, проблема решилась простым убийством вообще всех папок прошлой винды, которые были залочены на прошлую ОС.

Да, это проблема ПК-гейминга. Ведь на консоли можно запросто подключить к ней дополнительно любой диск и сменить установку игр, хоть на D, хоть на C.

Это как говорить, что на москвичах нет проблем с коробкой-автоматом, в отличие от тойот. Но есть нюанс.

date

27.10.2021

directory

Exchange, PowerShell

comments

Один комментарий

После развертывания Exchange вы можете заметить, что свободное место на дисках начинает очень быстро уменьшаться. Помимо роста самых почтовых баз данных, в Exchange очень много место съедают различные логи. Особенно сильно проблема большого размера логов актуальна для версий, начиная с Exchange 2013. Если не использовать механизмы очистки логов, очень часто бывают случаи, когда почтовые базы аварийно отмонтируются и почтовый сервис становится недоступным для пользователей (часто сопровождается ошибкой 4.3.1 Insufficient system resources) из-за того, что логи Exchange заняли все свободное место на диске. В этой статье мы рассмотрим несколько стратегий очистки (усечения) и перемещения лог файлов в Exchange Server 2013/2016/2019.

Транзакционные логи в Exchange

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

Есть несколько способов очистки транзакционных логов:

Логи базы данных очередей в Exchange 2013/2016/2019

Очистка транспортных логов Exchange

Вы можете проверить включены ли транспортные логи на вашем сервере и пути к ним с помощью следующих команд PowerShell:

Get-TransportService -Identity meskexch1 | fl *logpath*
Get-TransportService -Identity meskexch1| fl *logenabled*

Основные транспортные логи Microsoft Exchange Server по умолчанию хранятся в каталогах:

%ExchangeInstallPath%TransportRoles\Logs\Hub\Connectivity
%ExchangeInstallPath%TransportRoles\Logs\MessageTracking (используется при отслеживании писем через Get-MessageTrackingLog)
%ExchangeInstallPath%Logging\IRMLogs
%ExchangeInstallPath%TransportRoles\Logs\Hub\ActiveUsersStats
%ExchangeInstallPath%TransportRoles\Logs\Hub\ServerStats
%ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive
%ExchangeInstallPath%TransportRoles\Logs\Hub\Routing
%ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpSend
%ExchangeInstallPath%TransportRoles\Logs\Hub\QueueViewer
%ExchangeInstallPath%TransportRoles\Logs\Hub\AgentLog

Можно изменить каталог для хранения SMTP логов отправки/получения (Protocollogs) через EAC: Servers -> servers -> выберите сервер -> Transport Logs -> Protocol log.

перенести траспортные лог иexchnage server на другой диск

Если нужно изменить каталог хранения логов отслеживания Message Tracking, измените значение в поле Message Tracking log path в EAC.

Останется только изменить путь к каталогу с логами с помощью командлета:

Set-TransportService meskexch1 –ReceiveProtocolLogPath “D:\ReceiveSMTPLosg”

Таким образом вы можете хранить любые другие транспортные логи в сетевой папке на удаленном сервере.

Ротация и удаление IIS логов в Exchange

В логах IIS накапливается информация о подключениях к почтовым ящикам Exchange через OWA и ActiveSync. Со временем логи IIS, генерируемые пользователями при доступе к Exchange, могут занимать довольно много места.

Вы можете автоматически удалять старые логи IIS. Можно сделать автоматическое задание в планировщике Windows, которое запускается каждый день и удаляет логи IIS старше 30 дней:
set-location c:\inetpub\logs\LogFiles\W3SVC1\
foreach ($File in get-childitem) if ($File.LastWriteTime -lt (Get-Date).AddDays(-30)) del $File
>
>

Осталось создать новое задание в планировщике, которое должно запускать ваш PS1 скрипт очистки логов.

Чтобы Windows не блокировало запуск PowerShell скриптов, нужно изменить настройки политики PowerShell Execution, подписать PS1 файл или запускать его в планировщике с аргументами: powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File c:\ps\clear_iis_logs.ps1

Если вам нужны старые логи IIS для анализа и траблшутинга, вы можете перенести их на другой диск:

Также можно изменить путь к логам IIS через PowerShell:

Import-Module WebAdministration
Set-ItemProperty ‘IIS:\Sites\Default Web Site’ -name logfile.directory "F:\IISLogs"

Очистка папки Logging в Exchange

Большое количество логов различных служб хранятся в каталоге Logging (например, в Exchange 2013 это C:\Program Files\Microsoft\Exchange Server\V15\Logging). Со временем все эти логи начинают занимать довольно много места.

Особо стоит отметить логи диагностики и производительности в C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics (при включенной диагностике на высоком уровне они могут занимать десятки гигабайт).

Вы можете автоматически очищать старые логи Exchange в этих папках:
gci ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging’,’C:\inetpub\logs’ -Directory | gci -Include ‘*.log’,’*.blg’ -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-21) | Remove-Item
gci ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics’ -Directory | gci -Include ‘*.log’,’*.blg’ -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-5) | Remove-Item

Можно добавить эти команды в задание Task Scheduler.

PowerShell скрипт очистки логов Exchange

Можно объединить все рассмотренные выше команды для очистки старых логов Exchange в один PowerShell скрипт, который нужно запускать по расписанию:

$days = 15
$dirs=@(
"C:\inetpub\logs\LogFiles\",
"C:\Program Files\Microsoft\Exchange Server\V15\Logging\",
"C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\",
"C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs\",
"C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\"
)
Get-ChildItem $dirs -Recurse -File | Where-Object < $_.Name -like "*.log" -or $_.Name -like "*.blg" -or $_.Name -like "*.etl" >| Where-Object LastWriteTime -lt (Get-Date).AddDays(-$days) | Remove-Item -ErrorAction "SilentlyContinue"

Я установил wsl2 на свой компьютер с Windows и не смог понять, где на самом деле хранятся файлы.
Обратите внимание: я не хочу сказать, что хочу просматривать их в проводнике файлов - я знаю, что это можно сделать, набрав в проводнике \\wsl$\ .
Если бы мне пришлось угадывать, я бы сказал, что файлы хранятся на том же жестком диске, что и операционная система.

Так что на самом деле у меня есть два связанных вопроса.

  1. Где хранятся файлы?
  2. Если они хранятся на жестком диске моей операционной системы, могу ли я каким-то образом переместить мой wsl на другой жесткий диск?

РЕДАКТИРОВАТЬ:
Мне удалось найти путь установки, на моем компьютере путь:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState

Есть ли способ установить это в другое место?

1 ответ

Все файлы хранятся в ext4.vhd файлах в каталоге установки, которые вы не можете смонтировать непосредственно в Windows, как в et4 (obv)

Есть два способа изменить расположение вышеупомянутого vhd-файла: официальный, утомительный и неофициальный, быстрый и грязный.

Официальный утомительный способ

  1. Экспортируйте дистрибутив в папку с помощью wsl.exe --export <Distro> <FileName> из CMD / PowerShell.
  2. Импортируйте дистрибутив в другое место с помощью wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]

Проблема заключается в том, что это занимает довольно много времени, и после того, как вы это сделаете, молитесь, чтобы он без проблем экспортировал и импортировал несколько гигабайт тысяч файлов.

Быстрый и грязный способ

Это вызывает неофициальный WSL-менеджер с открытым исходным кодом, который называется lxrunoffline.

Чтобы установить его (занимает от минуты до максимума), прочтите инструкции разработчика здесь

Если вы установили его, вручную загрузив двоичные файлы со страницы выпуска, обязательно установите его в каталог в PATH, например C:\Windows

Теперь процесс прост, как lxrunoffline move -n <distroname> -d <destination-folder>

ex2013

При внедрении Exchange возникает неприятная ситуация – мы вроде бы все требования по месту для Exchange выполнили, но оно неумолимо уменьшается… начинаем разбираться и понимаем что всевозможные логи растут быстрее чем мы предполагали, так как же с ними бороться? Далее описаны способы по усечению\перемещению различных логов, в общем все то, что поможет нам решить проблему. Отдельно замечу, что вся информация есть в технической библиотеке technet 🙂 и здесь она всего лишь подобрана для определенной задачи: напомнить способы решения проблем с нехваткой места по причине разрастания логов.

Transaction logs

1. Резервное копирование

Одной из функций, выполняемых при успешном завершении полной или добавочной архивации, является усечение файлов журнала транзакций, которые больше не требуются для восстановления базы данных. Exchange 2013 поддерживает только резервные копии Exchange на основе службы теневого копирования томов (VSS).

Отличная статья по настройке резервного копирования с использованием Windows Server Backup здесь

2. Включение Circular Logging

При включении circular logging журнал транзакций очищается сразу после того, как транзакции помещаются в базу данных.

С помощью EAC Circular Logging включается так:

ExchLogs1

При включенном циклическом ведении журнала расширенного обработчика хранилищ дополнительные файлы журнала не создаются, вместо этого при необходимости перезаписывается текущий файл журнала. Однако в среде с непрерывной репликацией(DAG) файлы журнала необходимы для доставки и преобразования журналов. В результате при включении циклического ведения журнала непрерывной репликации текущий файл журнала не перезаписывается, а для процесса доставки и преобразования журналов создаются закрытые файлы журнала, т.е обеспечивается непрерывность журналов, а журналы не удаляются, пока они необходимы для репликации. Служба репликации Microsoft Exchange и служба банка данных Microsoft Exchange взаимодействуют с помощью удаленного вызова процедур (RPC), касающихся того, какие файлы журнала могут быть удалены.

3. Перемещение Transaction logs

Ну и в конце концов мы можем переместить логи вместе с базой в другое место\другой диск.

Для этого есть прекрасный командлет Move-DatabasePath. Приведем пример переноса базы данных MDB01 и журналов транзакций на диск M в соответствующие директории:

Move-Databasepath “MDB01” –EdbFilepath “M:\DB\MDB01\database\mdb01.edb” –LogFolderpath “M:\DB\MDB01\logs\”

ExchLogs2

Queue Database

Все что мы можем сделать с нею, это переместить ее в другое место. Достаточно исчерпывающая информация о перемещении находится в библиотеке technet в статье Change the Location of the Queue Database

Transport Logs

Журналы транспорта предоставляют сведения о происходящем в транспортном конвейере. Достаточно исчерпывающая информация о отключении\включении логирования и их перемещении находится в библиотеке technet в статье Transport Logs.

В Microsoft Exchange Server 2013 доступны следующие журналы транспорта:

  • Agent logs
  • Connectivity logs
  • Message tracking and delivery reports
  • Pipeline tracing
  • Protocol logs
  • Routing table logs

Например изменить путь хранения Protocollogs через EAC: servers\servers\выбрать сервер\transport logs\protocol log

ExchLogs3

Например изменить путь хранения Message Tracking через EAC: servers\servers\выбрать сервер\transport logs\message tracking log.

ExchLogs4

IIS log files

В логе IIS у вас будет информация например о подключении вашего ipad с помощью протокола activesync. Размер IIS логов, если за ним не уследить может быть очень большим. Как же их автоматом удалить или переместить на другой диск?

1.Автоматическое удаление логов

Запускайте ежедневно через scheduler следующий скрипт ps1 (измените путь хранения логов если нужно) и все ваши логи IIS старше 30 дней будут удаляться не требуя вашего внимания.

foreach ($File in get-childitem)

if ($File.LastWriteTime -lt (Get-Date).AddDays(-30))

Запускать скрипт ps1 через scheduler вы можете следующим образом:

  • Создайте задачу в scheduler
  • Создайте action: start a program
  • В поле program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • В поле add arguments(optional): -command “pathTOscript\name.ps1”

ExchLogs5

2.Перемещение логов в другое место

  • Откройте IIS Manager from Administrative Tools и выберете Default Web Site.

ExchLogs6

  • Откройте Logging (щелкните два раза на иконке Logging)
  • Измените место хранения логов

ExchLogs7

  • Сохраните изменения. Следующий файл лога запишется в новое место хранения
  • Тоже самое можно сделать при мощи powershell:

Папка Logging

На просторах интернета было найдено простое решение этого вопроса, запускайте ежедневно через scheduler и все логи из этих папок старше 14 дней перестанут вас беспокоить 🙂

P.S. Я лично предпочитаю резать только diagnostics:

Параметр Identity принимает одно из следующих значений:

CopyLogFolderPath

Параметр CopyLogFolderPath указывает путь к месту хранения журналов группы хранения. Путь по умолчанию: <ExchangeInstallPath>\ LocalCopies\<SGName>

CopySystemFolderPath

Параметр CopySystemFolderPath указывает путь к месту хранения системных файлов группы хранения. Путь по умолчанию: <ExchangeInstallPath>\ LocalCopies\<SGName>

DomainController

Включите в команду параметр DomainController, чтобы задать полное доменное имя (FQDN) контроллера домена, которое указывает на кластерный сервер почтовых ящиков в Active Directory.

SeedingPostponed

При использования параметра SeedingPostponed заполнение копии группы хранения в задаче не производится. Администратор должен впоследствии явным образом заполнить эту копию группы хранения.

У администратора Exchange может возникнуть необходимость добавить копию локальной непрерывной репликации в существующую группу хранения на сервере Exchange 2007 с установленной ролью сервера почтовых ящиков.

Для успешного выполнения операции Enable-StorageGroupCopy должны быть выполнены следующие условия:

    Указанная группа хранения должна существовать, а для всех баз данных в этой группе должна быть включена ее копия с помощью команды Enable-DatabaseCopy.

Результаты выполнения операции Enable-StorageGroupCopy выглядят следующим образом.

    Группа хранения имеет все требуемые атрибуты.

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

Для выполнения этой задачи необходимо делегировать учетной записи, используемой для инициации задачи, роль администратора сервера Exchange и членство в локальной группе администраторов целевого сервера. Дополнительные сведения о разрешениях, делегировании ролей и правах, необходимых для администрирования Exchange Server 2007, см. в разделе Вопросы, связанные с разрешениями.

The LogFolderPath and CopyLogFolderPath that you specified must not be the same. Specified folder path: %logfolderpath%

Другая группа хранения на том же сервере использует это местоположение файла журнала копирования. Необходимо указать уникальный путь к местоположению файла журнала копирования.

The SystemFolderPath and CopySystemFolderPath that you specified must not be the same. Specified folder path: %logfolderpath%

Другая группа хранения на том же сервере использует это местоположение системного файла. Необходимо указать уникальный путь к местоположению системного файла.

The storage group you specified is a recovery storage group. Specified storage group: %SGIdentity%

Указанная группа хранения является группой хранения для восстановления. Локальная непрерывная репликация не поддерживает группы хранения для восстановления.

A storage group copy is already defined for '<SGName>'.

Для данной группы уже включена локальная непрерывная репликация.

The database under this storage group is not local continuous replication enabled. Please enable local continuous replication on the database before enabling local continuous replication on this storage group.

Для одной или нескольких баз данных в этой группе хранения не включена локальная непрерывная репликация. Необходимо включить локальную непрерывную репликацию для всех баз данных перед включением такой репликации для данной группы хранения

This task is not supported on a cluster.

Командлет Enable-StorageGroupCopy нельзя выполнять на кластере, поскольку в данном кластере не поддерживается локальная непрерывная репликация.

The location for log files is not a fixed drive.

Файл журнала копирования находится не на несъемном диске. Для выполнения командлета Enable-StorageGroupCopy необходимо указать местоположение на несъемном диске.

The location for system files is not a fixed drive.

Системный файл копии находится не на несъемном диске. Для выполнения командлета Enable-StorageGroupCopy необходимо указать местоположение на несъемном диске.

The location specified for log file copies (<LogPath>) is illegal/invalid. Please verify that the directory exists and is empty.

Местоположение, указанное для копий файла журнала транзакций, недопустимо или недоступно. Перед выполнением командлета Enable-StorageGroupCopy необходимо убедиться в том, что данный каталог существует и в нем отсутствуют файлы.

The location of the copy's system files (<SystemPath>) is not available in the file system.

Местоположение системного файла копии недоступно в файловой системе. Перед выполнением командлета Enable-StorageGroupCopy необходимо убедиться в том, что указанное местоположение существует и к нему можно получить доступ.

The log path (<logPath>) for the copy already contains files with a matching prefix. To avoid overwriting the existing files, use Move-StorageGroupPath -ConfigurationOnly to change the configuration without moving any files.

Путь к журналу, указанный для копии локальной непрерывной репликации, уже содержит файлы с совпадающим префиксом. Можно избежать перезаписи существующих файлов, воспользовавшись необязательным параметром ConfigurationOnly команды Move-StorageGroup для изменения конфигурации без перемещения файлов.

The system path (<SystemPath>) for the copy already contains files with a matching prefix. To avoid overwriting the existing files, use Move-StorageGroupPath -ConfigurationOnly to change the configuration without moving any files.

Путь к системным файлам, указанный для копии локальной непрерывной репликации, уже содержит файлы с совпадающим префиксом. Можно избежать перезаписи существующих файлов, воспользовавшись необязательным параметром ConfigurationOnly команды Move-StorageGroup для изменения конфигурации без перемещения файлов.

Automatic initial seed failed for <SGName> with error code <ErrorCode>. Use Update-StorageGroupCopy task to retry.

Командлету Enable-StorageGroupCopy не удалось завершить автоматическое первоначальное заполнение для указанной группы хранения. Необходимо выполнить повторное заполнение с помощью командлета Update-StorageGroupCopy.

Automatic initial seed was not attempted for <SGName>.

Командлету Enable-StorageGroupCopy не удалось выполнить автоматическое первоначальное заполнение для указанной группы хранения. Необходимо выполнить первоначальное заполнение с помощью командлета Update-StorageGroupCopy.

В следующем примере кода показано использование командлета Enable-StorageGroupCopy для включения копирования группы хранения для группы хранения с именем SG1. Местоположения указаны с помощью параметров CopyLogFolderPath и CopySystemFolderPath.

Читайте также: