วิธีทำสิ่งนี้ให้สำเร็จด้วย LVM และพาร์ติชันที่เข้ารหัสลับเดียว
คำเตือน
ก่อนอื่น 128M นั้นเล็กเกินไปสำหรับการบู๊ต! ฉันใช้ 1G มิฉะนั้นสิ่งที่จะเกิดขึ้นคือคุณอาจลืมที่จะลบเมล็ดเก่าและ / boot จะเต็มและคุณจะต้องจัดการกับความเจ็บปวดจากการพยายามที่จะลบเมล็ดเก่าออกจากระบบเพื่อให้คุณได้รับapt
หรือapt-get
ไปทำงาน อีกครั้ง แม้จะใช้กับ 1G ก็ตามอย่าลืมลบเมล็ดเก่าออกเป็นระยะ
ขั้นตอนต่อไปไม่ได้มีไว้สำหรับผู้ใช้มือใหม่
อัปเดต: ฉันได้สร้างสคริปต์ที่จะใช้งานการดำเนินการต่อไปนี้สำหรับคุณและอีกมากมาย! สิ่งที่คุณต้องทำคือเรียกใช้จาก Live OS ก่อนการติดตั้ง คุณสามารถค้นหาเขียนขึ้นบนบล็อกของฉัน
การติดตั้งล่วงหน้าจากระบบปฏิบัติการสด
คุณต้องการตั้งค่า LUKS และ LVM ขณะทำการแบ่งพาร์ติชันด้วยตนเอง! ฉันทดสอบสิ่งนี้บน Ubuntu 16.04.2
Boot Ubuntu จาก Live OS และเลือกตัวเลือกเพื่อลอง Ubuntu โดยไม่ต้องติดตั้ง ทำตามขั้นตอนที่ฉันได้อธิบายไว้ด้านล่าง สมมติว่าคุณกำลังติดตั้งใน / dev / sdb
- แบ่งพาร์ติชันของไดรฟ์ด้วยเครื่องมือที่คุณเลือก: ฉันใช้ fdisk เพื่อตั้งค่าของฉันบนตารางพาร์ติชัน msdos ดังนี้:
- พาร์ติชันอื่น ๆ : ระบบปฏิบัติการที่มีอยู่ - เราไม่สนใจสิ่งเหล่านี้
- sdb1: / boot (1G)
- sdb2: พาร์ทิชัน LUKS (ส่วนที่เหลือของดิสก์)
- ติดตั้ง LUKS
sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
- ในขณะที่ไม่จำเป็นก็เป็นความคิดที่ดีที่จะเติมพาร์ติชั่น LUKS ของคุณด้วยศูนย์เพื่อให้พาร์ติชั่นที่อยู่ในสถานะเข้ารหัสนั้นเต็มไปด้วยข้อมูลแบบสุ่ม
sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M
ระวังนี่อาจใช้เวลานานมาก!
- ติดตั้ง LVM บน / dev / mapper / CryptDisk
sudo pvcreate /dev/mapper/CryptDisk
sudo vgcreate vg0 /dev/mapper/CryptDisk
sudo lvcreate -n swap -L 2G vg0
sudo lvcreate -n root -L 10G vg0
sudo lvcreate -n home -l +100%FREE vg0
การติดตั้งจากระบบปฏิบัติการสด
- ตอนนี้คุณพร้อมที่จะติดตั้งแล้ว เมื่อคุณไปที่ส่วน "ประเภทการติดตั้ง" ของการติดตั้งให้เลือกตัวเลือก "อย่างอื่น" จากนั้นกำหนดพาร์ติชัน / dev / mapper / vg0- * ด้วยตนเองตามที่คุณต้องการกำหนดค่า อย่าลืมตั้ง / dev / sdb1 เป็น / boot พาร์ติชัน / boot ต้องไม่ถูกเข้ารหัส หากเป็นเช่นนั้นเราจะไม่สามารถบูตได้ เปลี่ยน "อุปกรณ์สำหรับการติดตั้งบูตโหลดเดอร์" เป็น / dev / sdb และดำเนินการติดตั้งต่อ
- เมื่อการติดตั้งเสร็จสมบูรณ์อย่ารีบูต ! เลือกตัวเลือกเพื่อ "ดำเนินการทดสอบต่อ"
การกำหนดค่าหลังการติดตั้งจากระบบปฏิบัติการสด
บิตนี้สำคัญมากถ้าคุณต้องการให้ระบบของคุณบูท! ฉันใช้เวลาค้นคว้าข้อมูลนี้เพื่อหาขั้นตอนหลังการติดตั้ง ในกรณีของฉันฉันทำจริงเพราะฉันต้องการกำหนดขนาดของ / boot บน / dev / sda แต่งานทั้งหมดที่ควรดำเนินการกับสถานการณ์ของคุณเช่นกัน
- ในเทอร์มินัลพิมพ์ต่อไปนี้และค้นหา UUID ของ / dev / sdb2 จดบันทึก UUID นั้นไว้ในภายหลัง
sudo blkid | grep LUKS
- บรรทัดสำคัญบนเครื่องของฉันอ่าน
/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
ถัดไปให้นำระบบที่ติดตั้งใหม่มาติดตั้งอีกครั้งเพื่อให้เราสามารถทำการเปลี่ยนแปลงเพิ่มเติมได้
sudo mount /dev/vg0/root /mnt
sudo mount /dev/vg0/home /mnt/home
# อาจไม่จำเป็น
sudo mount /dev/sdb1 /mnt/boot
sudo mount --bind /dev /mnt/dev
# ฉันไม่แน่ใจว่าสิ่งนี้เป็นสิ่งจำเป็น
sudo mount --bind /run/lvm /mnt/run/lvm
- (เฉพาะในกรณีที่คุณใช้ EFI):
sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
ตอนนี้เรียกใช้sudo chroot /mnt
เพื่อเข้าถึงระบบที่ติดตั้ง
- จาก chroot ให้ติดอีกสองสามอย่าง
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
- ตั้งค่า crypttab ใช้เท็กซ์เอดิเตอร์ที่คุณโปรดปรานสร้างไฟล์ / etc / crypttab และเพิ่มบรรทัดต่อไปนี้เปลี่ยน UUID ด้วย UUID ของดิสก์
CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
- สุดท้ายให้สร้างไฟล์สำหรับบูตใหม่
update-initramfs -k all -c
update-grub
- รีบูทและระบบควรขอรหัสผ่านเพื่อถอดรหัสตอนบูต!
ขอขอบคุณเป็นพิเศษไปที่Martin Eve , EGIDIO DOCILEและคนที่blog.botux.frสำหรับบทเรียนที่พวกเขาโพสต์ ด้วยการดึงชิ้นส่วนจากโพสต์ของพวกเขาและทำการยิงปัญหาพิเศษเล็กน้อยในที่สุดฉันก็สามารถคิดออก
ฉันลองมาหลายครั้งแล้วและล้มเหลวไปเรื่อย ๆ บิตที่ฉันต้องทำงานเพื่อตัวเองตามข้อความแสดงข้อผิดพลาดคือsudo mount --bind /run/lvm /mnt/run/lvm