Windowsでは、veracryptで暗号化されたパーティション/ディスクをマウントできますviadevice namemountvol.exe
で表示されます。再起動すると相対パス(\Device\Harddisk1\Partition3
-> reboot-> \Device\Harddisk3\Partition3
)が変更される可能性があるため、このような属性は非常に便利です。
Windows上のveracryptボリュームのバッチスクリプト(短縮形):
@echo
"C:\Program Files\VeraCrypt\VeraCrypt.exe" /v \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ /l z /m label=Encrypted_1 /q
"C:\Program Files\VeraCrypt\VeraCrypt.exe" /v \\?\Volume{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}\ /l f /m label=Encrypted_2 /q
[...]
pause
Linuxのコマンドラインで利用可能なWindowsの/v \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\
への並列コマンドの存在については知りません。 --mount=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
volume nameは(おそらく)なので、(無駄に)mountvol.exe
フラグを試しました。 UUID番号に基づいています(ただし、blkid
には認識されません)。公式のveracrypt/truecryptドキュメントでは、Linuxユーザーは相対(変数)パス(/dev/sda3
-> reboot-> /dev/sdc3
)でのみ操作できます。不整合のため、OSがロードされるたびにパスを確認する必要があります。
Linuxでveracryptボリュームをマウントするためのbashスクリプト(短縮形):
#! /bin/bash
#
echo "Encrypted_1" && veracrypt --mount /dev/sdq --slot=12 --verbose && echo "Encrypted_1"
echo "Encrypted_2" && veracrypt --mount /dev/sdz3 --slot=1 --verbose && echo "Encrypted_2"
[...]
VeraCryptボリュームの場所をLinuxで絶対的な用語で記述できるかどうかは誰にもわかりませんか?
それが不可能な場合、同じ目的を達成するための提案を提供してください? (例:udev
?fstab
?)
mountvol.exe
は、上記のようにGUID
ではなく、UUID
を認識します。
David Foerster が投稿した回答を以下に詳しく説明し、提示された主題に興味のある他のLinuxユーザーのために、よりわかりやすく明確にしました。
私の研究によれば、VeraCryptボリュームへの絶対パスの割り当ては不可能であるようです(少なくとも現在)(vide:by-idおよびby-pathエントリ wiki.archlinux.org under永続的なブロックデバイスの命名( 1 ))。
ただし、半永続的なブロックデバイス命名を使用できます。
/dev/disk/by-path/
は、最短物理パス( 2 )に依存し、コントローラーのポートが切り替えられると変化します()。
/dev/disk/by-path/
記述子を取得するには、次を入力します。
ls -l /dev/disk/by-path/
取得した命名を使用して、VeraCryptボリュームをマウントできます。
veracrypt --mount /dev/disk/by-path/[by-path] --slot=6 --verbose
/dev/disk/by-path/[by-path]
は、bashスクリプトの相対パスを置き換えることができます。
#! /bin/bash
#
echo "Encrypted_1" && veracrypt --mount /dev/disk/by-path/[by-path1] --slot=12 --verbose && echo "Encrypted_1"
echo "Encrypted_2" && veracrypt --mount /dev/disk/by-path/[by-path2] --slot=1 --verbose && echo "Encrypted_2"
[...]
/dev/disk/by-id/
は、デバイスのシリアル番号( 4 )に従って作成されます。 wiki.archlinux.org は、/dev/disk/by-id/
がハードウェアの変更、つまりデバイスが異なるサブシステムの対象となるコントローラーのポートに接続されているシナリオに耐えることができないことを示しています( 5 )。 access.redhat.com 、反対側では、デバイスが異なるシステムからアクセスされていても、/dev/disk/by-id/
を維持できると主張しています( 6 )。したがって、/dev/disk/by-id/
が適用されている場合、symlink
は非常に安定しているように見えます。
/dev/disk/by-id/
デバイスの命名を取得するには、次を入力します。
ls -l /dev/disk/by-id/
正しいものがあれば、VeraCryptボリュームのマウントに使用できます。
veracrypt --mount /dev/disk/by-id/[id] --slot=6 --verbose
段落1で説明したことと同様に、/dev/disk/by-id/
はbashスクリプトで使用できます。
#! /bin/bash
#
echo "Encrypted_1" && veracrypt --mount /dev/disk/by-id/[id1] --slot=12 --verbose && echo "Encrypted_1"
echo "Encrypted_2" && veracrypt --mount /dev/disk/by-id/[id2] --slot=1 --verbose && echo "Encrypted_2"
たぶんそれは誰かに役立つでしょう。
/dev/disk/by-id/
は、再起動後にマウントスクリプトを修正することを忘れるほど安定していません。
残念ながら、暗号化されたコンテナー内のファイルシステムのUUIDとラベルは暗号化のためアクセスできず、TrueCrypt/VeraCryptコンテナーはそれ自体でUUIDまたはラベルを運んでいません(または少なくともLUKSコンテナーとは対照的にudevが認識していないもの)。
Linuxのストレージボリュームには、他にも十分安定した識別子が1つあります:ディスクID。あなたがそれらを見つけることができます:
/dev/disk/by-id/
これまでのところ、名前は以下によって生成されているため、そこにあるシンボリックリンクに劇的な変化はありませんでした。
ドライブを接続する前に、「スナップショット」を取ります
$> ll /dev/disk/by-id > ~/before.txt
繰り返しますが、ドライブを接続した後。そして差分を見てください:
$> ll /dev/disk/by-id > ~/after.txt
$> diff ~/before.txt ~/after.txt
表示されるはずです(つまり、2パーティションの外付けSamsungドライブ上)
> [...] usb-Samsung_M2_Portable_D3F12345678FE094-0:0 -> ../../sdd
> [...] usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part1 -> ../../sdd1
> [...] usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part2 -> ../../sdd2
マウントするには、そのパーティション2を/mnt/m
に指定します(私の例:truecryptスイッチを使用)
veracrypt -t -tc -pPasswordIfYouLike -k "" --protect-hidden=no /dev/disk/by-id/usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part2 /mnt/m
現在、どのUSBポートに接続されているか、または他のドライブに接続されている順番に関係なく、このドライブにそれぞれのマウントスクリプトを確実に使用できます。
そして、適切で信頼できるアンマウントスクリプトの場合:
veracrypt -t -d /dev/disk/by-id/usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part2
安定性?
私は、さまざまなブランドのいくつかの外部ドライブがあるさまざまな職場のさまざまなドッキングステーションで、これを何ヶ月にもわたって直接使用しています。問題はありません。