ブートパスワードを使用してVeraCryptまたはTrueCryptボリュームをマウントする方法

ブートパスワードを使用してVeraCryptまたはTrueCryptボリュームをマウントする方法

Windowsの場合、VeraCryptは「システムのお気に入りボリューム」という機能を実装します。起動時に入力したパスワードを使用して追加のディスクをマウントして、システムパーティションのロックを解除できます。

仕様:私はPop OSを使用しています! 22.04では、この質問はUbuntu 22.04と同じでなければなりません。私のシステムパーティションはLUKSで暗号化されました。 3つのボリュームをマウントしたいです。 1 つは VeraCrypt で暗号化され、2 つはネイティブ TrueCrypt 暗号化で暗号化されます。

私はこの問題に対処するいくつかの記事を見つけましたが、そのうち何も機能しません。

私は完全に迷子になり、私の実験をテストすることもできません。

答え1

少なくともDebianとUbuntuでは、システム起動(luks)パスワードを使用してtruecryptボリュームとveracryptをロック解除することもできます。 PIMを含むVeracriptボリュームには、veracrypt-pim=<number>cryptabのオプションを使用するには少なくともv254のsystemdが必要です。ねえhttps://www.freedesktop.org/software/systemd/man/latest/crypttab.html

Debian 12 systemd の場合は v252 なので、veracrypt-pim=<number>cryptab で使用するために v254 systemd インストールでバックポートします。次に、すべてのボリュームに同じパスワードを使用させることに加えて、行のinitramfs,keyscript=decrypt_keyctl末尾にオプションを追加します。initramfsシステムドライブの起動時にボリュームの復号化を取得し、パスワードをキャッシュするので、一度keyscript=deycrypt_keyctlパスワードを入力するだけです。

crypttabとシステムドライブのロック解除ラインの場合は、次のようになります。initramfsシステムボリュームのロックを解除する行は必要ありません。

# System volume
sda3_crypt UUID=6b3229c1-6f6a-480f-8524-212f6bd2e4dc none luks,discard,keyscript=decrypt_keyctl
# Truecrypt volume
sdb_true /dev/disk/by-partuuid/7d185b93-01 none tcrypt,discard,initramfs,keyscript=decrypt_keyctl
# Veracrypt volume.
sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,discard,initramfs,keyscript=decrypt_keyctl

PIM が必要な Veracrypt ボリュームには systemd v254 以降が必要です。

sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,veracrypt-pim=20,discard,initramfs,keyscript=decrypt_keyctl

crypttab(およびドライブマウント用のfstab)エントリを作成し、徹底的に確認した後!更新プログラムを実行してください# update-initramfs -u -v

答え2

簡単に言うと:

  • 機器を紹介するために編集されました/etc/crypttab
    # existing lines from the system setup
    cryptdata UUID=ca....5c none luks
    cryptswap UUID=9a...91 /dev/urandom swap,plain,offset=1024,cipher=aes-xts-plain64,size=512
    # added lines
    givenname1 /dev/sdb2 none tcrypt,tcrypt-veracrypt #add the tcrypt-veracrypt option for a device encryted with veracrypt
    givenname2 /dev/sdc2 none tcrypt
    givenname3 /dev/sdd1 none tcrypt
    
  • 次の行を/etc/fstab次のように追加します。
    /dev/mapper/givenname1 /mnt/mymountpoint1 auto nosuid,nodev,nofail 0 0
    /dev/mapper/givenname2 /mnt/mymountpoint2 auto nosuid,nodev,nofail 0 0
    /dev/mapper/givenname3 /mnt/mymountpoint3 auto nosuid,nodev,nofail 0 0
    

テスト方法

ファイルを編集しcrypttabたら、cryptdisks_startたとえば次のようにsudo cryptdisks_start givenname1呼び出すことができます。これが機能すると、起動時にまだ機能しない可能性がありますが、アプローチは正確です。

起動時に動作するかどうかをテストするには、次の手順に従います。

  1. これにより、crypttabファイルが再読み込みされます。

    sudo systemctl daemon-reload 
    
  2. これによりサービスが開始され、以前に cryptdisks_start が正常に呼び出された場合、誤った肯定結果が生じる可能性があります。

    sudo systemctl start [email protected]
    
  3. 偽の肯定結果を削除するには、サービスを再起動してください。

    sudo systemctl stop [email protected]
    sudo systemctl start [email protected]
    
  4. リンクが表示されていることを確認してください。/dev/mappers

    $ ls  /dev/mapper/
    
    control  cryptdata  cryptswap  data-root  givenname1
    

Ubuntuユーザーの注目

Ubuntuは他のほとんどのディストリビューションとは異なる方法でcryptsetupスクリプトを実装しています。したがって、Ubuntuや同様のディストリビューションにはcrypttabのいくつかのオプションがありません。

正確な変更については、マニュアルページを比較してください。

tcrypt-keyfile私にとっては、これはオプションがないため、パスワードでキーファイルを使用できないことを意味します。

どのオプションが利用可能かをテストするには、電話してください。man crypttab

コメント

このソリューションは私にとって非常に効果的です。 CDをインストールすることは、veracrypt GUIを使用するよりもはるかに高速です。

一般的なデュアルブートシナリオでは、インストールされているドライブにNTFSファイルシステムがある可能性があります。ここのインストールオプションは異なります。

以下でこれらの追加パラメータを試しました/etc/fstab

uid=1000,gid=1000,dmask=027,fmask=137

関連情報