WindowsパーティションのOneDriveフォルダにアクセスする

WindowsパーティションのOneDriveフォルダにアクセスする

私はLinux Mint 18.2とWindows 10をデュアルブートしています。 WindowsでOneDriveを同期しましたが、LinuxではOneDriveフォルダにアクセスできないようです。

端末に OneDrive フォルダがあると表示されますが、ls -allOneDrive フォルダで次のエラーが発生します。 unsupported reparse point

インターネット検索を行いましたが、問題はNTFSパーティションにあることとMicrosoftがOneDriveコンテンツを圧縮することに関連している可能性がありますが、結論を確認することはできません。

他の人にこの問題がある人はいますか?状況によっては、LinuxでOneDriveを同期する必要はありません。 Linuxでは、Windowsパーティションに保存されているOneDriveコンテンツにアクセスしようとしています。

答え1

見つけました! マイケル WSLリンク答えが提供されます。

Windowsを終了する前にOneDrive再解析ポイントを削除してください。これは私のコードです。 fsutil reparsepoint delete "C:\Path\To\OneDrive\Folder"

答え2

上記の手順に従いましたが、ルートディレクトリでのみ機能し、終了するたびに実行する必要がありますが、これは面倒です。

別の解決策が見つかりました。

  1. Windows で OneDrive 設定に移動し、オプションの選択を解除します。スペースを節約して使用しながらファイルをダウンロードする~へ設定ブランド。
  2. OneDriveアカウントからログアウトします(これにより設定が保存されます)。
  3. OneDriveフォルダ(C:\ Users \ \ OneDrive)に移動してフォルダを削除するか、別の場所に移動します。
  4. コンピュータを再起動します。
  5. OneDriveにもう一度ログインして同期を完了してください。
  6. Linuxで起動したら、フォルダとファイルにアクセスできる必要があります。

答え3

確立された現在承認されている回答OneDrive再分析ポイントを削除するために後でログインすると、OneDriveはディレクトリツリーの下にさらに再分析ポイントを自動的に作成することがわかりました。したがって、定期的にディレクトリ内のすべての再分析ポイントを再帰的に削除する必要があります。私はこれを行うために.batファイルを作成し、Windowsのタスクスケジューラを使用してログインしたときに毎時間実行されるタスクをスケジュールしました(「ログオフ」トリガがなかったため)。 .batスクリプトは次のとおりです。

@echo off
setlocal

:: Recursively deletes ReparsePoints from the current direcotry, so that Linux
:: can read the on-disk data.
::
:: Usage: call fix_onedrive_for_linux.bat from the OneDrive folder.
::

for /F "delims=" %%d in ('dir /S /AL /B') do fsutil reparsepoint delete "%%d"

:END
endlocal
echo on

関連情報