WSLシェルからWindowsディスクのボリュームラベルを取得するには?

WSLシェルからWindowsディスクのボリュームラベルを取得するには?

WSLでUbunutu 20.04を実行すると、Windowsディスクが次のようにインストールされます。

/mnt/c
/mnt/d
/mnt/e

など。

Bashシェルから/mnt/dにあるディスクのボリュームラベルを取得するには?

lsblktune2fs /mnt/dボリュームラベルを提供していません

ベストアンサー1

ほとんどのものはそうですが、@ Edwardの回答本当です、あります。はいWSLの回避策を使用すると、ボリューム名を読み取ることができます。

(少なくともデフォルトでは)WSLを使用すると、コマンドラインやその他のWindows実行可能ファイルを呼び出すことができるため、WSLを介してPowerShellを簡単に使用してWindows固有のデータを読み取ることができます。

$ powershell.exe -c "(Get-Volume d).FileSystemLabel"
Crucial SSD 2TB

もちろん、次のスクリプトを使用できます(インストールのためにWSL2のみ)。

mount | 
    grep "^drvfs on .* 9p" | 
    awk '{print $3}' |
    xargs -I{} bash -c '''
        mnt={}
        drv="${mnt:0-1}"
        echo -en "${mnt}\t"
        powershell.exe -c "(Get-Volume $drv).FilesystemLabel"
    '''

おすすめ記事