I couldn't find any useful Android utility to set sdcard VSNs.
But I finally figured out how to change the sdcard VSN on Windows 10.
Here is a detailed set of steps which finally changed my sdcard VSN.
(Works on NTFS, FAT, FAT32 and exFAT file systems.)
(a) Read the instructions for modifying the Krylack CLI tool "volsn.exe"
https://gist.github.com/dreamer2908/59066658df2844746e5feadba7a589a2
(b) Go to the Krylack CLI tool home page
https://www.krylack.com/volume-serial-number-editor/
(c) Click the top left link to "Volume Serial Number Editor Command Line (volsn)"
http://dl.krylack.com/volsnsetup.exe
(d) That downloads an exe which is really just a winzip self extractor (apparently)
Name: volsnsetup.exe
Size: 2513040 bytes (2454 KiB)
SHA256: 89A1474383EA2BBC148D15085B1B6F16145488EE5B7C792849F759AE0A41E0A2
(e) "WinZip Self-Extractor - volsnsetup.exe" will ask for an "Unzip to folder"
c:\volsn (is the default but you can choose any folder to extract 7 files to)
Download GUI Version.url
KRyLack Software.url
LICENSE.TXT
Order.url
README.TXT
volsn.exe
volsn64.exe
(f) You can delete all extracted files but the "volsn64.exe" file
Name: volsn64.exe
Size: 2826384 bytes (2760 KiB)
SHA256: 0B60FE7F670585C0EC0F606FD2D49F22E7A82B170129DE1E3107CC87A8D7F190
(g) List the options available for that Krylack volsn64 command line interface
C:\> volsn.exe /?
Volume Serial Number Editor Command Line [Version 2.02.34]
(c) 2017 Serhiy Horobets. All rights reserved.
http://www.krylack.com
*** UNREGISTERED DEMO VERSION - Changes only to 1234-ABCD ***
Changes disk drive volume serial number.
usage: volsn <command> <drive> <serial number> [/Y]
<Commands>:
l Lists current serial numbers.
c Changes volume serial number of the specified disk drive.
The format of volume serial number is: XXXX-XXXX, X maybe 0 - 9, A - F.
[/Y] Supresses prompting to confirm you want to change the serial number.
Example:
volsn c c: 1234-ABCD Change volume serial number of C: drive to 1234-ABCD
Reboot is required to make the modification take effect.
(h) Place your exFAT formatted 64GB sdcard into your PC card reader
(i) Open a Windows administrator command window for all actions below
(j) As admin, run volsn64.exe in "list" mode to see your current VSNs
c:\> volsn64.exe l
Volume Serial Number Editor Command Line 64-bit [Version 2.02.34]
(c) 2017 Serhiy Horobets. All rights reserved.
http://www.krylack.com
*** UNREGISTERED DEMO VERSION - Changes only to 1234-ABCD ***
Drives:
C: AFC4-D0AA
D: <No info>
E: B9FC-EE8A
F: C64B-FE9D
(k) Doublecheck the VSN using the Windows "vol" command
C:\> vol
Volume in drive C is disk 1
Volume Serial Number is AFC4-D0AA
C:\> vol E:
Volume in drive E is disk 2
Volume Serial Number is B9FC-EE8A
C:\> vol F:
Volume in drive E is sd1
Volume Serial Number is C64B-FE9D
(l) Decide ahead of time exactly what you want your new VSNs to be
C: AFC4-D0AA -> 0000-0001
E: B9FC-EE8A -> 0000-0002
F: C64B-FE9D -> 0000-0000
(m) Obtain any hex editor such as the renown HxD64 hex editor
https://mh-nexus.de/en/hxd/
(n) Read the "volsn64.exe" file into that hex editor
HxD: File -> Open -> volsn64.exe
(o) Search and replace the one instance of "1324ABCD" with the desired value
HxD:Search -> Replace -> Search for: 1324ABCD -> Replace with: 00000000
(p) Save that newly modified executable to an unambiguous useful name
HxD: File -> Save as -> volsn64_00000000.exe
(q) Repeat the search & replace steps for the other desired VSNs you want
HxD:Search -> Replace -> Search for: 1324ABCD -> Replace with: 00000001
HxD: File -> Save as -> volsn64_00000001.exe
HxD:Search -> Replace -> Search for: 1324ABCD -> Replace with: 00000002
xD: File -> Save as -> volsn64_00000002.exe
HxD:Search -> Replace -> Search for: 1324ABCD -> Replace with: 00000003
HxD: File -> Save as -> volsn64_00000003.exe
(r) As admin run each of those commands as needed to change VSNs as desired
C:\> volsn64_00000000.exe c F: 0000-0000 /Y
C:\> volsn64_00000001.exe c C: 0000-0001 /Y
C:\> volsn64_00000002.exe c E: 0000-0002 /Y
(s) Run the volsn64 list command to see the removable media VSN has changed
c:\> volsn64.exe l
C: AFC4-D0AA
D: <No info>
E: B9FC-EE8A
F: 0000-0000
(t) You'll need to reboot & re-run the volsn64 command to see new hard drive VSNs
c:\> volsn64.exe l
C: 0000-0001
D: <No info>
E: 0000-0002
F: 0000-0000
(u) Doublecheck the VSN using the Windows "vol" command
C:\> vol
Volume in drive C is disk 1
Volume Serial Number is 0000-0001
C:\> vol E:
Volume in drive E is disk 2
Volume Serial Number is 0000-0002
C:\> vol F:
Volume in drive E is sd1
Volume Serial Number is 0000-0000
(v) Place the sdcard into your Android phone and check your new VSN
Some Android file managers will use the volume label "sd1"
/storage/sd1
Some Android file managers will uppercase the lowercase volume label
/storage/SD1
But other Android file managers will use the volume serial number
/storage/0000-0000
I tested the following file managers on Android 11
Files -> /storage/sd1 (com.marc.files)
Files -> /storage/sd1 (com.google.android.documentsui)
Explorer -> /storage/0000-0000 (com.speedsoftware.explorer)
X-plore -> /storage/0000-0000 (com.lonelycatgames.Xplore)
SolidExplorer -> /storage/sd1 (pl.solidexplorer2)
File Manager -> /SD Card (
com.simplemobiletools.filemanager.pro)
Amaze -> /storage/0000-0000 (com.amaze.filemanager)
Note some tools which are not file managers require a hard coded path
when you wish to store their program data in a path of your choosing.
(w) Advantages of a simple Volume Label & Volume Serial Number
/storage/0000-0000 (in my case that's also /storage/sd1)
Plus if an Android app needs a hardcoded path - it's easy to remember now!
/storage/0000-0000 (often hardcoded paths won't use /storage/sd1)
(x) Notes:
Windows 10 format will only allow you to set the Volume Label
Windows 10 format will NOT allow you to set the Volume Serial Number
Linux "mkfs.exfat" format calls the VSN the UUID apparently
Linux "mkfs.exfat" format will allow you to set the VL & VSN
It's probably best to use capital letters as Android is kind of Linux
# mkfs.exfat -i DEADBEEF -n VOL_LABEL /dev/sde1
(y) Other utilities which are reputed to work usually don't work on exFAT
https://forum.xda-developers.com/t/how-to-rename-my-external-sd-card.3358234/
And a lot of people have tried and failed to change exFAT VSNs over time
https://androidforums.com/threads/how-to-get-around-the-sd-card-path-using-the-volume-serial-number.1092617/
Don't use Microsoft volumeid because it won't change exFAT VSNs.
https://docs.microsoft.com/en-us/sysinternals/downloads/volumeid
Don't use Hard Disk Serial Number Changer for the same reason.
https://www.ghacks.net/2009/04/22/hard-disk-serial-number-changer/
Don't use DiskGenius as the freeware doesn't change exFAT VSNs.
https://www.diskgenius.com/
Don't use Paragon Hard Disk Manager Advanced for the same reason.
https://www.paragon-software.com/home/hdm-windows/
This might work but it requires use of a checksum python script
https://twlee.nz/changing-exfat-volume-serial-number/
(z) References on how the exFAT VSN & checksums are calculated
https://www.digital-detective.net/documents/Volume%20Serial%20Numbers.pdf
https://www.sans.org/reading-room/whitepapers/forensics/reverse-engineering-microsoft-exfat-file-system-33274
HTH