내가 호출한 명령은 다음과 같습니다
- 이미지 파일 생성
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
바라보다