設定 - ファイルシステム

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要



Linux Reader (推奨)

Linux Reader / Linux Reader Proは、以下のファイルシステム上のファイルへのアクセスを提供するソフトウェアである。
Linux Readerの公式webサイトにアクセスして、ダウンロードおよびインストールする。

  • Ext2 / 3 / 4
  • ReiserFS, Reiser4
  • HFS, HFS+(reader)
  • FAT, exFAT
  • NTFS, ReFS
  • UFS2
  • RomFS(reader)
  • RAID 0, 1, 4, 5, 50, 10, and JBOD
  • APFS (Reader mode)
  • ZFS (無料版はプレビューのみ※)
  • XFS (無料版はプレビューのみ※)
  • Hikvision NAS and DVR (無料版はプレビューのみ※)


※ ファイルへのフルアクセスを行う場合は、Linux Reader Proが必要となる。

Linux Reader Proを使用すると、さらに多くのファイルシステムからファイルを読み取ることができる。
また、SSH接続を介してリモートアクセスして、仮想ドライブの作成およびFTP経由でのファイルのエクスポート等も可能である。

Linux Reader Proは、上記のファイルシステムに加えて、以下のファイルシステムへのフルアクセスを提供する。

  • ZFS
  • 暗号化されたAPFS
  • XFS
  • Hikvision NAS / DVR
  • 暗号化されたBitLocker disks



Ext2Fsd

Ext2Fsdは、オープンソースのExt2、Ext3、Ext4ファイルシステムを読み書きするソフトウェアである。

  1. SourceForgeにアクセスして、Ext2Fsdをダウンロードおよびインストールする。
  2. Ext2Fsdを起動する。
  3. [Tools] - [Service Management] - [Start]を選択する。
  4. [Mount all volumes in read-only mode]チェックボックスと[Assign drive letter automatically]チェックボックスを有効にして、[適用]ボタンを押下する。
  5. エクスプローラを起動することにより、Ext4パーティションを見つけることができる。



DiskInternals Linux Reader

DiskInternals Linux Readerは、以下に示すファイルシステムの読み込みのみを行うソフトウェアである。

  • Ext2, Ext3. Ext4
  • ReiserFS, Reiser4
  • HFS, HFS+
  • FAT, exFAT
  • NTFS
  • ReFS
  • UFS2
  • RomFS
  • ZFS (無料版はプレビューのみ)
  • XFS (無料版はプレビューのみ)
  • Hikvision NAS
  • DVR (無料版はプレビューのみ)


  1. DiskInternals Linux Readerの公式Webサイトにアクセスして、DiskInternals Linux Readerダウンロードおよびインストールする。
  2. DiskInternals Linux Readerを起動する。
  3. 目的のパーティションを開いて、パーティションに保存されているデータを表示して確認する。
  4. 目的のパーティション上のファイルを使用する場合、ファイルを選択して[Save]ボタンを押下する。
    次に、Windows PC上の別の安全な場所に保存する。



WinBtrfs

WinBtrfsとは

Linuxファイルシステムの1つにbtrfsがある。
Windows上において、btrfsを扱うことができるWinBtrfsについて記載する。

WinBtrfsのインストール

WinBtrfsのGithubにアクセスして、WinBtrfsのzipファイルをダウンロードする。
または、git cloneコマンドを実行してダウンロードする。

git clone https://github.com/maharmstone/btrfs/releases


ダウンロードしたファイルを解凍する。
ダウンロードしたフォルダに移動して、btrfs.infを右クリック - [インストール]を選択する。(なお、ドライバは署名済みである)

また、ChocolateyからWinBtrfsをインストールする場合は、以下のコマンドを実行する。

choco install winbtrfs


セキュアブートが有効になっている場合、ドライバを読み込むためにレジストリの変更が必要になる可能性がある。

  1. [Super] + [R]キーを同時押下して、regeditと入力する。
  2. 次に、[HKEY_LOCAL_MACHINE] - [SYSTEM] - [CurrentControlSet] - [Control] - [CI] - [Policy]を選択する。
  3. DWORD型のUpgradedSystemキーを作成して、1を設定する。
  4. Windowsを再起動する。


WinBtrfsのアンインストール

  • アンインストール方法 1
    1. コマンドプロンプトまたはPowerShellを起動して、以下のコマンドを実行する。
      また、btrfs.infファイルは、フルパスの指定が必要になる可能性がある。
      RUNDLL32.EXE SETUPAPI.DLL、InstallHinfSection DefaultUninstall 132 btrfs.inf

  • アンインストール方法 2
    1. デバイスマネージャから[ストレージボリューム]項目の下にある[Btrfsコントローラ]を右クリック - [アンインストール]を選択する。
    2. WinBtrfsドライバもアンインストールする場合は、チェックボックスにチェックを入力して、Windowsが自動的に再起動するように設定する。

  • アンインストール方法 3
    1. レジストリからアンインストールする場合は、まず、[Super] + [R]キーを同時押下して、regeditと入力する。
    2. [HKLM] - [SYSTEM] - [CurrentControlSet] - [services] - [btrfs] - [Start]キーの値を4に設定して、サービスを無効にする。
    3. Windowsを再起動する。
    4. [HKLM] - [SYSTEM] - [CurrentControlSet] - [services] - [btrfs]キーを削除する。
    5. C:\Windows\System32\drivers\btrfs.sysファイルを削除する。


マッピング

ユーザマッピングは、[HKLM] - [SYSTEM] - [CurrentControlSet] - [services] - [btrfs] - [Mappings]キーに格納されている。

WindowsのSID(例. S-1-5-21-1379886684-2432464051-424789967-1001)とLinuxのuid値(例. 1000)を持つDWORDを作成する。
この値は、次回、WinBtrfsドライバが読み込まれた時に有効になる。

現在のSIDを知りたい場合、コマンドプロンプトまたはPowerShellから、以下のコマンドを実行する。

wmic useraccount get name,sid


同様に、グループマッピングは、[GroupMappings]キー下に格納されている。
初期状態のエントリでは、WindowsのUsersグループのGIDは100にマッピングされている。(Linuxでは、GIDが100=usersである)
また、ユーザのSIDを指定することにより、任意のユーザが作成したファイルを強制的に任意のグループに所属させることができる。
setgidフラグにおいても、Linuxと同様に動作する。

コマンド

shellbtrfs.dllファイルは、GUIインターフェースを提供するが、rundll32.exeファイルと共に使用して、コマンドラインからいくつかのタスクを実行することもできる。
これは、定期的に処理を実行するようにスケジュールする場合に使用する。

ワイルドカードの指定や複数の保存元を指定することができる。

また、rundll32,exeファイルは、エラーコードを返す機構を持っていないため、エラーメッセージ無しで失敗する可能性があることに注意する。

# サブボリュームの作成
rundll32.exe shellbtrfs.dll,CreateSubvol <ファイルまたはフォルダのパス>

# スナップショットの作成
rundll32.exe shellbtrfs.dll,CreateSnapshot <保存元 : ファイルまたはフォルダのパス> <保存先 : ファイルまたはフォルダのパス>

# 参照リンクの作成
rundll32.exe shellbtrfs.dll,ReflinkCopy <保存元 : ファイルまたはフォルダのパス> <保存先 : ファイルまたはフォルダのパス>


以下のコマンドは、管理者権限で実行する必要がある。

以下のコマンドは、2つのサブボリュームスナップショット間の変更を記述した命令のストリームを生成する。
このストリームは、RecvSubvolコマンドによって消費されて、送信されたスナップショットを別のファイルシステム上に複製することができる。

また、incrementalモード(-pオプションと-cオプション)は、Linuxのbtrfs sendコマンドと同様である。

# サブボリュームのクローンは、複数指定できる
rundll32.exe shellbtrfs.dll,SendSubvol <保存元 : ファイルまたはフォルダのパス> [-p <parent>] [-c <clone subvol>] <stream file>
rundll32.exe shellbtrfs.dll,RecvSubvol <stream file> <保存先 : ファイルまたはフォルダのパス>.
rundll32.exe shellbtrfs.dll,StartScrub <ドライブ名>
rundll32.exe shellbtrfs.dll,StopScrub  <ドライブ名>