Cách thực hiện điều này với LVM và một phân vùng được mã hóa
Cảnh báo
Trước hết 128M là quá nhỏ để khởi động! Tôi dùng 1G. Mặt khác, điều chắc chắn sẽ xảy ra là bạn có thể quên loại bỏ các hạt nhân cũ và / boot sẽ lấp đầy, và bạn sẽ phải đối phó với nỗi đau khi cố gắng loại bỏ các hạt nhân cũ khỏi hệ thống để bạn có thể lấy apt
hoặc apt-get
làm việc lần nữa. Ngay cả với 1G, thỉnh thoảng hãy đảm bảo bạn loại bỏ các hạt nhân cũ.
Các bước tiếp theo không dành cho người dùng mới làm quen.
CẬP NHẬT: Tôi đã tạo một tập lệnh sẽ thực hiện các thao tác sau cho bạn và hơn thế nữa! Tất cả bạn phải làm là chạy nó từ Live OS trước khi cài đặt. Bạn có thể tìm thấy một bài viết trên blog của tôi .
Cài đặt sẵn từ hệ điều hành trực tiếp
Bạn muốn thiết lập LUKS và LVM trong khi phân vùng thủ công! Tôi đã thử nghiệm điều này trên Ubuntu 16.04.2
Khởi động Ubuntu từ hệ điều hành trực tiếp và chọn tùy chọn dùng thử Ubuntu mà không cần cài đặt. Thực hiện theo các bước tôi đã vạch ra dưới đây. Giả sử bạn đang cài đặt vào / dev / sdb.
- Phân vùng ổ đĩa với công cụ bạn chọn: Tôi đã sử dụng fdisk để thiết lập ổ đĩa trên bảng phân vùng msdos như sau:
- các phân vùng khác: HĐH hiện tại - chúng tôi không quan tâm đến những
- sdb1: / khởi động (1G)
- sdb2: phân vùng LUKS (phần còn lại của đĩa)
- Cài đặt LUKS
sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
- Mặc dù không cần thiết, nhưng nên điền vào phân vùng LUKS của bạn bằng các số 0 để phân vùng đó ở trạng thái được mã hóa, chứa đầy dữ liệu ngẫu nhiên.
sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M
HÃY THỬ, điều này có thể mất một thời gian thực sự dài!
- Thiết lập LVM trên / 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
Cài đặt từ hệ điều hành trực tiếp
- Bây giờ bạn đã sẵn sàng để cài đặt. Khi bạn đến phần "Kiểu cài đặt" của cài đặt, hãy chọn tùy chọn "Thứ khác". Sau đó, gán thủ công các phân vùng / dev / mapper / vg0- * như bạn muốn có cấu hình. Đừng quên đặt / dev / sdb1 là / boot. phân vùng / boot không được mã hóa. Nếu có, chúng tôi sẽ không thể khởi động. Thay đổi "Thiết bị để cài đặt bộ tải khởi động" thành / dev / sdb và tiếp tục cài đặt.
- Khi cài đặt hoàn tất, không khởi động lại ! Chọn tùy chọn để "Tiếp tục kiểm tra".
Cấu hình sau khi cài đặt từ hệ điều hành trực tiếp
Bit này thực sự quan trọng nếu bạn muốn hệ thống của bạn khởi động! Tôi đã dành khá nhiều thời gian để nghiên cứu điều này để tìm ra các bước sau khi cài đặt. Trong trường hợp của tôi, tôi thực sự đã làm điều đó bởi vì tôi muốn tùy chỉnh kích thước của / boot on / dev / sda, nhưng tất cả công việc đó cũng sẽ chuyển sang tình huống của bạn.
- Trong một thiết bị đầu cuối, nhập nội dung sau và tìm UUID của / dev / sdb2. Hãy lưu ý về UUID đó cho sau này.
sudo blkid | grep LUKS
- Dòng quan trọng trên máy của tôi đọc
/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
Tiếp theo, hãy cài đặt lại hệ thống mới để chúng tôi có thể thực hiện thêm một số thay đổi.
sudo mount /dev/vg0/root /mnt
sudo mount /dev/vg0/home /mnt/home
# điều này có lẽ không cần thiết
sudo mount /dev/sdb1 /mnt/boot
sudo mount --bind /dev /mnt/dev
# Tôi không hoàn toàn chắc chắn điều này là cần thiết
sudo mount --bind /run/lvm /mnt/run/lvm
- (Chỉ khi bạn đang sử dụng EFI):
sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
Bây giờ hãy chạy sudo chroot /mnt
để truy cập hệ thống đã cài đặt
- Từ chroot, gắn kết thêm một vài điều
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
- Thiết lập tiền điện tử. Sử dụng trình soạn thảo văn bản yêu thích của bạn, tạo tệp / etc / crypttab và thêm dòng sau, thay đổi UUID bằng UUID của đĩa.
CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
- Cuối cùng, xây dựng lại một số tập tin khởi động.
update-initramfs -k all -c
update-grub
- Khởi động lại và hệ thống nên yêu cầu mật khẩu để giải mã khi khởi động!
Cảm ơn đặc biệt đến Martin Eve , EGIDIO DOCILE và những người ở blog.botux.fr để biết hướng dẫn mà họ đã đăng. Bằng cách lấy các mảnh từ bài đăng của họ và thực hiện thêm một chút rắc rối khi chụp, cuối cùng tôi đã có thể tìm ra điều này.
Tôi đã thử điều này một số lần và thất bại nhiều lần. Bit mà tôi phải tự làm việc dựa trên các thông báo lỗi làsudo mount --bind /run/lvm /mnt/run/lvm