
私が呼び出したコマンドは次のとおりです。
- イメージファイルの生成
dd if=/dev/zero of=benj.luks bs=1k count=666000
- LUKSコンテナの設定
cryptsetup luksFormat benj.luks
- ループデバイスを設定し、LUKSコンテナを開きます。
cryptsetup luksOpen benj.luks benjImage
- ループデバイスが設定およびマッピングされていることを確認してください。
lsblk
出力
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 650.4M 0 loop
└─benjImage 254:1 0 634.4M 0 crypt
- benjImageでファイルシステムext4を作成する
sudo mkfs.ext4 -b 2048 -F -F /dev/mapper/benjImage
コマンドが失敗しました。
mke2fs 1.46.5 (30-Dec-2021)
mkfs.ext4: Invalid argument while setting blocksize; too small for device
答え1
cat /sys/block/loop0/queue/physical_block_size
cat /sys/block/loop0/queue/logical_block_size
このループ装置は4096バイトのブロック装置として搭載され、2048バイトのファイルシステムを生成できないことが明らかになった。
したがって、解決策はループデバイスを手動で設定し、次のように-bオプションを使用してセクタサイズを2048に定義することです。
sudo losetup -b 2048 -f benj.luks
ステップ2の前に、イメージファイルの代わりに/ dev / loop0(または割り当てられたループデバイス)に連続コマンドを適用します。
cryptsetup luksFormat /dev/loop0
cryptsetup luksOpen /dev/loop0 benjImage
sudo mkfs.ext4 -b 2048 /dev/mapper/benjImage
バラより