Score:0

UEFI Grub ไม่สามารถบู๊ตระบบ Ubuntu 21.04 ที่เข้ารหัส: ไม่พบคำสั่ง `cryptomount'

ธง cn
mpb

ฉันติดตั้งระบบ Ubuntu 21.04 ด้วยตนเอง (เช่น ผ่านสคริปต์ที่กำหนดเอง)

ดิสก์ GPT ของฉันมีสองพาร์ติชัน พาร์ติชันระบบ EFI และพาร์ติชัน BTRFS ที่เข้ารหัส LUKS (เวอร์ชัน 1)

ในการบู๊ต ด้วง กะพริบข้อความแสดงข้อผิดพลาดต่อไปนี้ แล้วลดลงเป็น ด้วง พร้อมท์

ข้อผิดพลาด: ไม่พบไฟล์ `/boot'
ข้อผิดพลาด: ไม่มีอุปกรณ์ดังกล่าว: /.disk/info.
ข้อผิดพลาด: ไม่มีอุปกรณ์ดังกล่าว: /.disk/mini-info.
ข้อผิดพลาด: ไม่พบคำสั่ง `cryptomount'

คำถามของฉันคือ ฉันจะให้/เปิดใช้งานได้อย่างไร เข้ารหัสลับ คำสั่งภายใน Grub?

(ถ้าผมพิมพ์ ช่วย ที่ ด้วง พรอมต์คำสั่ง เข้ารหัสลับ ไม่อยู่ในรายการ)

น่าสนใจถ้าฉันเพิ่มประเภท เอฟ02 พาร์ติชันสำหรับบูต BIOS และติดตั้ง Grub เวอร์ชัน BIOS และบูตระบบในโหมด BIOS การบูตจะสำเร็จ อย่างไรก็ตาม ฉันต้องการให้ดิสก์บูตบนระบบ UEFI

ข้อมูลพื้นฐาน:

ฉันได้ดูคำแนะนำที่ลิงก์ด้านล่างแล้ว และไม่เห็นสิ่งอื่นใดที่ฉันต้องทำเพื่อเปิดใช้งาน เข้ารหัสลับ สั่งการ. ฉันพยายามเพิ่ม insmod เข้ารหัสลับ ถึง /boot/efi/EFI/BOOT/grub.cfgแต่นั่นไม่ได้ผล

https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html

ก่อนหน้านี้ฉันได้ติดตั้ง Ubuntu ด้วยข้อความธรรมดาด้วยตนเอง /บูต พาร์ติชันและเข้ารหัส / พาร์ติชันและทุกอย่างทำงาน ดังนั้นองค์ประกอบใหม่คือฉันพยายามใส่ /บูต ไดเร็กทอรีที่เข้ารหัส / พาร์ทิชัน ฉันได้ติดตั้ง Void Linux ด้วย /บูต บนพาร์ติชันที่เข้ารหัส และทำงานได้ตามที่คาดไว้

/boot/efi/EFI/BOOT/grub.cfg เป็น:

cryptomount -u e5f6f8f5dc3944cbb6d8d99b1f17b343
ค้นหา.fs_uuid 5e42bb87-3342-48b6-aff5-f2519063f9b9 ราก 
cryptouid/e5f6f8f5dc3944cbb6d8d99b1f17b343 
ตั้งค่าคำนำหน้า=($root)'/@_2107_hirsute/boot/grub'
configfile $prefix/grub.cfg

ฉันติดตั้ง ด้วง โดยเรียกใช้ต่อไปนี้:

ตัวเลือก=''
opts="$opts --force"
opts="$opts --no-ฟล็อปปี้"
opts="$opts --recheck"
opts="$opts --removable"

opts="$opts --target=x86_64-efi"
opts="$opts --efi-directory=/boot/efi"
opts="$opts --bootloader-id=Ubuntu"

chroot /mnt grub-install $opts
ChanganAuto avatar
us flag
โดยทั่วไปคุณต้องมีพาร์ติชัน /boot นอกโวลุ่มที่เข้ารหัส มีวิธีหลีกเลี่ยง แต่มันซับซ้อนมากและ IMHO ไม่คุ้มค่ากับเวลา
cn flag
mpb
@ChanganAuto ฉันเชื่อว่าคำถามของฉันระบุว่าฉันคุ้นเคยกับแนวทาง `/boot` ของข้อความล้วนแล้ว ฉันไม่เห็นด้วยกับการประเมินของคุณว่าวิธีแก้ปัญหานั้น "ซับซ้อนมาก" วิธีแก้ปัญหานั้นง่ายมาก (แม้ว่าจะคลุมเครือและหายาก)
Score:0
ธง cn
mpb

ดูเหมือนว่าการรันคำสั่งต่อไปนี้ (ในฐานะรูท) ตามลำดับต่อไปนี้ภายในสภาพแวดล้อมการติดตั้ง chroot จะสร้างไฟล์ Grub ใน /บูต/efi/EFI/บูต/ ซึ่งจะทำให้ Grub สามารถอ่านเคอร์เนลและ initrd.img ไฟล์จาก /บูต ไดเร็กทอรีที่เข้ารหัส / พาร์ทิชัน

# echo 'GRUB_ENABLE_CRYPTODISK=y' >> /etc/default/grub
# apt-get install -y --reinstall grub-efi-amd64-signed
# update-initramfs -c -k ทั้งหมด
# ติดตั้งด้วง /dev/vda
# ปรับปรุงด้วง

ที่มา: https://mutschler.eu/linux/install-guides/ubuntu-btrfs/#install-the-efi-bootloader

ก่อนหน้านี้ ฉันเรียกใช้คำสั่งส่วนใหญ่หรือทั้งหมดข้างต้น แต่อยู่ในลำดับที่ต่างกัน

หลังจากนั้นไฟล์จะมีลักษณะดังนี้:

# ls -l /boot/efi/EFI/BOOT
รวม 1680
-rwx------ 1 รูทรูท 1718144 17 ก.ค. 16:08 BOOTX64.EFI
-rwx------ 1 รูทรูท 224 ก.ค. 60 06:13 grub.cfg

# cat /boot/efi/EFI/BOOT/grub.cfg 
cryptomount -u a771eeddca6942c0be0ac88852a9b45b
ค้นหา.fs_uuid ae60b399-84bd-4a08-b0aa-7f33a847b873 ราก 
cryptouuid/a771eeddca6942c0be0ac88852a9b45b 
ตั้งค่าคำนำหน้า=($root)'/@_2107_hirsute/boot/grub'
configfile $prefix/grub.cfg

ไฟล์ของคุณอาจดูแตกต่างกันไปขึ้นอยู่กับว่าคุณแบ่งพาร์ติชันและติดตั้งดิสก์อย่างไร

ก่อนที่จะเรียกใช้คำสั่งดังกล่าวตามลำดับข้างต้น BOOTX64.EFI ไฟล์คือ 1.4M ในขณะที่ตอนนี้เป็น 1.7M

ฉันไม่รู้วิธีใด ๆ (นอกเหนือจากการลองรีบูต) เพื่อดูภายใน BOOTX64.EFI และตรวจสอบว่ามี การเข้ารหัสลับ โมดูล.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา