ΠΠ° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΈΡΡΠ΅Π½ Π΄Π΅Π½, Π²Π΅ΡΠ΅Ρ! Π’Π°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ LUKS ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ ΠΏΠΎΠ΄ Linux (Debian, Ubuntu) Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΡΠΎΠ²ΠΊΠ° Π½Π° root Π΄ΡΠ»Π°. Π ΡΠ°ΠΊΠ°Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π΅ ΡΡΠΏΡΡ Π΄Π° Π½Π°ΠΌΠ΅ΡΡ.
Π‘ΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΊΠΎΡΠΎ, Ρ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°ΡΡΠΎΠ²Π΅ΡΠ΅, ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π· /etc/crypttab. ΠΠΈΡΠ½ΠΎ Π°Π· ΠΈΠ·ΡΡΠΊΠ²Π°ΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΡΠ΅ ΡΠ°ΠΉΠ»ΡΡ ΡΠ΅ ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ (ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ΡΠΎ) Π½Π° root Π΄ΡΠ»Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΠ΅ Π½Π° ΠΈΠΌΠΏΠΎΡΡΠ° Π½Π° ZFS, ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π°ΠΊΠΎ ΡΠ΅ ΡΠ° Π±ΠΈΠ»ΠΈ ΡΠ³Π»ΠΎΠ±Π΅Π½ΠΈ ΠΎΡ Π΄ΡΠ»ΠΎΠ²Π΅ Π½Π° *_crypt ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΈΠ»ΠΈ mdadm ΡΠ΅ΠΉΠ΄ΠΎΠ²Π΅, ΡΠ³Π»ΠΎΠ±Π΅Π½ΠΈ ΡΡΡΠΎ ΠΎΡ Π΄ΡΠ»ΠΎΠ²Π΅. ΠΠΈΠ΅ ΡΡΡΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ parted Π½Π° LUKS ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ? Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠ°ΡΠΈΠ²ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π³ΠΈ Π½ΡΠΌΠ°, Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π²Π΅ΡΠ΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΡΠΎ (Π°Π· ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½ Proxmox VE 5.x ΠΈ ZFS Π½Π°Π΄ iSCSI).
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠΌΠΈ Π·Π° ZFSoverISCSIiSCSI ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΈ ΠΌΠ΅Π½ ΡΡΠ΅Π· LIO, ΠΈ Π²ΡΡΡΠ½ΠΎΡΡ ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ° iscsi-ΡΠ°ΡΠ³Π΅Ρ ΠΈ Π½Π΅ Π²ΠΈΠΆΠ΄Π° ZVOL ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΡΠΎΡΡΠΎ Π³ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π° ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅ΡΠΈ Π½Π° Π³ΠΎΡΡΡΠ²Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ. ΠΡΡΡΠΊ ΠΈΠ»ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° json ΡΠ°ΠΉΠ»Π° ΠΎΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠΊΠ° VM, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΆΠ°ΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΊΠΈΠ²Π° ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠ° Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π²ΡΡΠΊΠ° ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 1 Π΄ΠΈΡΠΊ.
Π Π²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌ, Π΅ Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΠΌ ΡΠ°Π·ΡΠΈΡΡΠΎΠ²ΠΊΠ°ΡΠ° (ΡΠΎΠ²Π° Π΅ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°). Π Π·Π° ΡΠΎΠ²Π° ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎ-Π΄ΠΎΠ»Ρ, Π²Π»ΠΈΠ·Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°Ρ!
ΠΠ°ΠΉ-ΡΠ΅ΡΡΠΎ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ»ΡΡΠΎΠ² ΡΠ°ΠΉΠ» (Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π² ΡΠ»ΠΎΡΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° β cryptsetup luksAddKey), ΠΈΠ»ΠΈ Π² ΡΠ΅Π΄ΠΊΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (Π² ΡΡΡΠΊΠΎΡΠ·ΠΈΡΠ½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΊΡΠ΄Π½Π°) β ΡΠΊΡΠΈΠΏΡ decrypt_derived, Π½Π°ΠΌΠΈΡΠ°Ρ ΡΠ΅ Π² /lib/cryptsetup/script/ (ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½ΠΈ, Π½ΠΎ Π°Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π·ΠΈ Π΄Π²Π°, ΠΊΠΎΠΈΡΠΎ Π»Π΅Π³Π½Π°Ρ
Π° Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°). ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΠ΅Π»ΡΡ
ΠΏΡΠ»Π½ΠΎ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΡΠ»Π΅Π΄ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, Π±Π΅Π· ΠΊΠ°ΠΊΠ²ΠΈΡΠΎ ΠΈ Π΄Π° Π΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΄Π° "Π²Π·Π»Π΅ΡΠΈ" Π²Π΅Π΄Π½Π°Π³Π°. ΠΠ°ΡΠΎΠ²Π°, Π·Π°ΡΠΎ Π΄Π° ΡΠ°ΠΊΠ°ΠΌΠ΅? β
ΠΡΠΈΡΡΡΠΏΠ²Π°ΠΌΠ΅!
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Debian, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈΡ Π΄ΡΠ» sda3_crypt ΠΈ Π΄Π΅ΡΠ΅Ρ Π΄ΠΈΡΠΊΠ°, Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ Π΄ΡΡΠ°ΡΠ° ΠΏΠΎΠΆΠ΅Π»Π°Π΅. ΠΠΌΠ°ΠΌΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π° ΡΡΠ°Π·Π° (passphrase) Π·Π° ΠΎΡΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° sda3_crypt ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΡΠΎΠ·ΠΈ Π΄ΡΠ» ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ΠΌ βΡ Π΅Ρβ ΠΎΡ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π°ΡΠ° (ΡΠ°Π·ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π°) ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅. ΠΡΠΈΡΠΊΠΎ Π΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎ, Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅:
/lib/cryptsetup/scripts/decrypt_derived sda3_crypt | cryptsetup luksFormat /dev/sdXΠΊΡΠ΄Π΅ΡΠΎ X β ΡΠΎΠ²Π° ΡΠ° Π½Π°ΡΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΡΠ°Π·Π΄Π΅Π»ΠΈ ΠΈ Ρ.Π½.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°ΠΌΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ Ρ βΡ Π΅ΡΠ°β ΠΎΡ Π½Π°ΡΠ°ΡΠ° ΠΊΠ»ΡΡΠΎΠ²Π° ΡΡΠ°Π·Π°, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ UUID ΠΈΠ»ΠΈ ID β Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π°, ΠΊΠΎΠΉ ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°. ΠΠ·Π΅ΠΌΠ°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ /dev/disk/by-uuid ΠΈ by-id ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ.
Π‘Π»Π΅Π΄Π²Π°ΡΠΈΡΡ Π΅ΡΠ°ΠΏ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΌΠΈΠ½ΠΈ-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΌΠ΅:
cp -p /usr/share/initramfs-tools/hooks/cryptroot /etc/initramfs-tools/hooks/
cp -p /usr/share/initramfs-tools/scripts/local-top/cryptroot /etc/initramfs-tools/scripts/local-top/ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ
touch /etc/initramfs-tools/hooks/decrypt && chmod +x /etc/initramfs-tools/hooks/decryptΠ‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ .. /decrypt
#!/bin/sh
cp -p /lib/cryptsetup/scripts/decrypt_derived "$DESTDIR/bin/decrypt_derived"ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ
touch /etc/initramfs-tools/hooks/partcopy && chmod +x /etc/initramfs-tools/hooks/partcopyΠ‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ .. /partcopy
#!/bin/sh
cp -p /sbin/partprobe "$DESTDIR/bin/partprobe"
cp -p /lib/x86_64-linux-gnu/libparted.so.2 "$DESTDIR/lib/x86_64-linux-gnu/libparted.so.2"
cp -p /lib/x86_64-linux-gnu/libreadline.so.7 "$DESTDIR/lib/x86_64-linux-gnu/libreadline.so.7"ΠΎΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ
touch /etc/initramfs-tools/scripts/local-bottom/partprobe && chmod +x /etc/initramfs-tools/scripts/local-bottom/partprobeΠ‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ .. /partprobe
#!/bin/sh
$DESTDIR/bin/partprobeΠΈ Π½Π°ΠΊΡΠ°Ρ, ΠΏΡΠ΅Π΄ΠΈ update-initramfs, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΉΠ»Π° /etc/initramfs-tools/scripts/local-top/cryptroot, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΡΠ΅Π΄ ~360, ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ ΠΊΠΎΠ΄
ΠΡΠΈΠ³ΠΈΠ½Π°Π»
# decrease $count by 1, apparently last try was successful.
count=$(( $count - 1 ))
message "cryptsetup ($crypttarget): set up successfully"
break
ΠΈ Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌΠ΅ Π² ΡΠ°ΠΊΡΠ² Π²ΠΈΠ΄
Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½ΠΎ
# decrease $count by 1, apparently last try was successful.
count=$(( $count - 1 ))
/bin/decrypt_derived $crypttarget | cryptsetup luksOpen /dev/disk/by-uuid/ *CRYPT_MAP*
/bin/decrypt_derived $crypttarget | cryptsetup luksOpen /dev/disk/by-id/ *CRYPT_MAP*
message "cryptsetup ($crypttarget): set up successfully"
breakΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ»ΠΈ UUID, ΠΈΠ»ΠΈ ID. ΠΠ°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΡΠ° HDD/SSD Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² /etc/initramfs-tools/modules. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° udevadm info -a -n /dev/sdX | egrep 'looking|DRIVER'.
Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° Π½Π° ΠΌΡΡΡΠΎΡΠΎ ΡΠΈ, ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ update-initramfs -u -k all -v, Π² Π»ΠΎΠ³Π²Π°Π½Π΅ΡΠΎ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅, Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π°ΡΠ° ΡΡΠ°Π·Π° ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π±ΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΈ Π½Π° ΡΠΈΠ½Π°Π»Π½ΠΈΡ Π΅ΡΠ°ΠΏ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ»Π΅Π΄ βΠΌΠ°ΡΠ½ΡΠΈΠ½Π³Π°β Π½Π° root-Π΄Π΅Π»Π°, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° partprobe β ΡΡ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΠΈ ΡΠ²ΡΡΠΆΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π΄ΡΠ»ΠΎΠ²Π΅ Π½Π° LUKS ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠ° ZFS ΠΈΠ»ΠΈ mdadm, ΡΠ΅ ΡΠ΅ ΡΡΠ±Π΅ΡΠ°Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ! Π Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½ΡΠΆΠ½ΠΈ ΡΠ΅Π·ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅/ΠΌΠ°ΡΠΈΠ²ΠΈ.
update1: ΠΠ°ΠΊ , ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° LUKS1.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
