Mount from a JSON file
PoolFS can use a UTF-8 JSON file to store a pool name, mount drive, and every
member image path. This is useful when transporting a complete pool between
Windows machines or changing drive letters. For example, place this file next
to member-a.img and member-b.img:
{
"schema_version": 1,
"name": "My Pool",
"drive": "P:",
"require_encrypted": false,
"members": ["member-a.img", "member-b.img"]
}
Then run:
.\poolfsctl.exe discover-config .\mount-config.example.json
.\poolfsctl.exe mount-config .\mount-config.example.json
.\poolfsctl.exe unmount P:
For a foreground mount, use poolfs-mount.exe --config <config.json> instead.
The optional name is a Windows-compatible volume label of 1 to 32 UTF-16
code units. It cannot start or end with a space, end with a period, or contain
control characters or <>:/\|?*". It appears on the mounted drive when using
this config. An older config without name uses PoolFS. The name is stored
only in the config,
not in member images; moving images without their config does not carry it.
The drive field is an unused Windows drive letter. members contains the
complete set of 1 to 16 v6 images. Paths can be absolute, or relative to the
folder containing the JSON file. Their order does not matter; PoolFS matches
member identities from image headers. Encrypted headers are authenticated
with the pool password. Moving the config and relative member files together
preserves their references. Absolute drive
letters need editing on a host where those letters differ.
require_encrypted defaults to true when omitted from an existing config.
It makes config mounting fail if the listed pool is unencrypted. Set it to
false for an unencrypted pool; the manager writes this explicitly for new
plaintext pools, which are its default. Unencrypted member images have no
PoolFS password protection. Select encryption in the manager if they need it.
An encrypted pool always prompts for its password at mount time; no password,
key, or recovery secret belongs in the JSON file.
Config mounting requires exactly the listed paths. A missing, duplicated, invalid, or mismatched image is an error, even if a different valid member is discoverable elsewhere. The parser rejects unknown and duplicate JSON fields so typos cannot silently change the mount. The JSON is plaintext routing metadata and is not itself authenticated; protect it with normal host access controls and inspect it when obtained from an untrusted source. The encrypted member headers and complete manifest are verified by PoolFS before file access.
See portable member images for the move procedure and encryption details for the current protection boundary.