TL; DR: ฉันไม่สามารถสร้าง initramfs หลังจากเข้ารหัสวอลุ่มด้วย LUKS2 พร้อมตัวเลือกความสมบูรณ์และ LVM ที่ด้านบนของวอลุ่มเหล่านั้น:
cryptsetup: ข้อผิดพลาด: อันดับแรก: แหล่งที่มาไม่ตรงกัน
cryptsetup: คำเตือน: ไม่พบเป้าหมาย 'first_dif' ใน /etc/crypttab
cryptsetup: ข้อผิดพลาด: วินาที: แหล่งที่มาไม่ตรงกัน
cryptsetup: คำเตือน: ไม่พบเป้าหมาย 'second_dif' ใน /etc/crypttab
cryptsetup: คำเตือน: ไม่สามารถระบุโมดูลการเข้ารหัสที่จะโหลดเป็นครั้งแรก
(ยังไม่รองรับรูปแบบ kernel crypto API)
cryptsetup: คำเตือน: ไม่สามารถระบุโมดูลการเข้ารหัสที่จะโหลดเป็นวินาที
(ยังไม่รองรับรูปแบบ kernel crypto API)
root@ubuntu:/# cat /etc/crypttab
UUID แรก=857883dc-7f1d-470f-9ed7-a06f3624b677 ไม่มีลูก ยกเลิก
UUID ที่สอง=4ca53199-307f-4503-a042-c6bb62ea5a47 ไม่มีลูก ทิ้ง
root@ubuntu:/# fdisk -l
ดิสก์ /dev/nvme0n1: 465.76 GiB, 500107862016 ไบต์, 976773168 ภาคส่วน
ดิสก์รุ่น: Samsung SSD 970 EVO Plus 500GB
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 8DF308CC-B48D-4834-8B1F-EDE77A831CC7
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/nvme0n1p1 2048 1050623 1048576 512M ระบบ EFI
/dev/nvme0n1p2 1050624 2099199 1048576 ระบบไฟล์ Linux 512M
/dev/nvme0n1p3 2099200 976773134 974673935 ไม่ทราบ 464.8G
ดิสก์ /dev/nvme1n1: 476.94 GiB, 512110190592 ไบต์, 1000215216 ภาค
รุ่นดิสก์: SAMSUNG MZVLB512HBJQ-000H1
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 03D068B8-37FA-4B26-A8BF-A67455D9AED3
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/nvme1n1p1 2048 1000215182 1000213135 ไม่ทราบ 476.9G
ดิสก์ /dev/mapper/first_dif: 437.35 GiB, 469598490624 ไบต์, 917184552 ภาคส่วน
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/ก่อน: 437.35 GiB, 469598490624 ไบต์, 917184552 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/second_dif: 448.81 GiB, 481905954816 ไบต์, 941222568 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/วินาที: 448.81 GiB, 481905954816 ไบต์, 941222568 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ / dev / mapper / system-swap: 36 GiB, 38654705664 ไบต์, 75497472 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/system-root: 850.15 GiB, 912844128256 ไบต์, 1782898688 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
และนี่คือข้อมูลทั้งหมดเกี่ยวกับวิธีที่ฉันติดตั้งระบบ:
เค้าโครงดิสก์ของฉันคือสิ่งนี้ (ไม่รู้จัก fdisk คือ 8309, Linux LUKS):
root@ubuntu:~# fdisk -l
ดิสก์ /dev/nvme0n1: 465.76 GiB, 500107862016 ไบต์, 976773168 ภาคส่วน
ดิสก์รุ่น: Samsung SSD 970 EVO Plus 500GB
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 8DF308CC-B48D-4834-8B1F-EDE77A831CC7
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/nvme0n1p1 2048 1050623 1048576 512M ระบบ EFI
/dev/nvme0n1p2 1050624 2099199 1048576 ระบบไฟล์ Linux 512M
/dev/nvme0n1p3 2099200 976773134 974673935 ไม่ทราบ 464.8G
ดิสก์ /dev/nvme1n1: 476.94 GiB, 512110190592 ไบต์, 1000215216 ภาค
รุ่นดิสก์: SAMSUNG MZVLB512HBJQ-000H1
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 03D068B8-37FA-4B26-A8BF-A67455D9AED3
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/nvme1n1p1 2048 1000215182 1000213135 ไม่ทราบ 476.9G
ฉันใช้คำสั่งนี้เพื่อสร้างโวลุ่ม LUKS2 และใช้สำหรับ 2 โวลุ่ม: /dev/nvme0n1p3 และ /dev/nvme1n1p1
cryptsetup luksFormat --type luks2 /dev/nvme0n1p3 --ความสมบูรณ์ hmac-sha256
cryptsetup luksFormat --type luks2 /dev/nvme1n1p1 --ความสมบูรณ์ hmac-sha256
จากนั้นฉันก็เปิดวอลุ่ม:
cryptsetup luksOpen /dev/nvme0n1p3 ก่อน
cryptsetup luksOpen /dev/nvme1n1p1 วินาที
cryptsetup สร้าง 4 วอลุ่ม:
ดิสก์ /dev/mapper/first_dif: 437.35 GiB, 469598490624 ไบต์, 917184552 ภาคส่วน
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/ก่อน: 437.35 GiB, 469598490624 ไบต์, 917184552 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/second_dif: 448.81 GiB, 481905954816 ไบต์, 941222568 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
ดิสก์ /dev/mapper/วินาที: 448.81 GiB, 481905954816 ไบต์, 941222568 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 512 ไบต์ / 512 ไบต์
จากนั้นฉันสร้างฟิสิคัลวอลุ่ม 2 ฟิสิคัลวอลุ่ม เพิ่มไปยังกลุ่มวอลุ่ม สร้างโลจิคัลวอลุ่ม 2 วอลุ่มสลับและรูท:
root@ubuntu:~# pvs
PV VG Fmt Attr PSize Pฟรี
/dev/mapper/ระบบแรก lvm2 a-- 437.34g 0
/dev/mapper/second system lvm2 a-- <448.81g 0
root@ubuntu:~# vgs
VG #PV #LV #SN Attr VSขนาด VFree
ระบบ 2 2 0 wz--n- 886.15g 0
root@ubuntu:~# เลเวล
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ระบบราก -wi-ao---- 850.15g
swap system -wi-ao---- 36.00g
หลังจากนั้นฉันฟอร์แมตพาร์ติชันและติดตั้ง Ubuntu 21.04 ผ่านโปรแกรมติดตั้งแบบกราฟิก (ไม่มีข้อผิดพลาดเกิดขึ้นระหว่างการติดตั้ง):
/dev/nvme0n1p1 เป็น EFI, FAT32
/dev/nvme0n1p2 เป็น /boot, ext4
/dev/system/root เป็น /, ext4
/dev/system/swap เป็น swap
จากนั้นฉันก็ทำสิ่งนี้และเปลี่ยนเป็น / mnt:
เมานต์ /dev/system/root /mnt
เมานต์ /dev/nvme0n1p2 /mnt/boot
เมานต์ /dev/nvme0n1p1 /mnt/boot/efi
เมานต์ --bind /dev /mnt/dev
เมานต์ --bind /run/lvm /mnt/run/lvm
หลังจาก chrooting:
เมานต์ -t proc proc /proc
เมานต์ -t sysfs sys /sys
เมานต์ -t devpts devpts /dev/pts
จากนั้นฉันค้นหา UUID ของพาร์ติชัน LUKS เหล่านั้น:
root@ubuntu:~# blkid | เกรป LUKS
/dev/nvme0n1p3: UUID="857883dc-7f1d-470f-9ed7-a06f3624b677" TYPE="crypto_LUKS" PARTLABEL="Linux LUKS" PARTUUID="ca894a49-5867-4a3a-bff1-fc1a0affaa18"
/dev/nvme1n1p1: UUID="4ca53199-307f-4503-a042-c6bb62ea5a47" TYPE="crypto_LUKS" PARTLABEL="Linux LUKS" PARTUUID="35ce7fcd-2c76-45cf-884a-6c9a8a2439ef"
และสร้าง /etc/crypttab ต่อไปนี้:
UUID แรก=857883dc-7f1d-470f-9ed7-a06f3624b677 ไม่มีลูก ยกเลิก
UUID ที่สอง=4ca53199-307f-4503-a042-c6bb62ea5a47 ไม่มีลูก ทิ้ง
และหลังจากนี้ update-initramfs ไม่ทำงาน:
root@ubuntu:/# update-initramfs -u -k ทั้งหมด
update-initramfs: กำลังสร้าง /boot/initrd.img-5.11.0-25-generic
cryptsetup: ข้อผิดพลาด: อันดับแรก: แหล่งที่มาไม่ตรงกัน
cryptsetup: คำเตือน: ไม่พบเป้าหมาย 'first_dif' ใน /etc/crypttab
cryptsetup: ข้อผิดพลาด: วินาที: แหล่งที่มาไม่ตรงกัน
cryptsetup: คำเตือน: ไม่พบเป้าหมาย 'second_dif' ใน /etc/crypttab
cryptsetup: คำเตือน: ไม่สามารถระบุโมดูลการเข้ารหัสที่จะโหลดเป็นครั้งแรก
(ยังไม่รองรับรูปแบบ kernel crypto API)
cryptsetup: คำเตือน: ไม่สามารถระบุโมดูลการเข้ารหัสที่จะโหลดเป็นวินาที
(ยังไม่รองรับรูปแบบ kernel crypto API)
ฉันควรทำอย่างไรเพื่อแก้ไขปัญหานี้