Saya mencoba men-setup disk terenkripsi lengkap dengan /boot
partisi terpisah dan saya mengalami beberapa masalah.
Saya akan menuliskan prosedur yang telah saya ikuti pada sesi DVD live Ubuntu 15.04.
Isi disk dengan 'data acak'
sudo dd if=/dev/urandom of=/dev/sda1 bs=4096 #ok
Buat partisi (menggunakan gparted)
- Buat Tabel Partisi - gpt 2.
- / dev / sda1 ext2 1.5GB #boot
- / dev / sda2 linux-swap 4GB #swap
- / dev / sda3 ext4 15 GB #root
- / dev / sda4 ext4 FREESPACE #home
- Buat Tabel Partisi - gpt 2.
Enkripsi volume
cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda1 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda2 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda3 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 /dev/sda4
Buka cryptovolume
cryptsetup luksOpen /dev/sda1 boot cryptsetup luksOpen /dev/sda2 swap cryptsetup luksOpen /dev/sda3 root cryptsetup luksOpen /dev/sda4 home
Format
mkfs.ext2 /dev/mapper/boot mkswap /dev/mapper/swap mkfs.ext4 /dev/mapper/root mkfs.ext2 /dev/mapper/home
Instal (menggunakan Ubiquity)
- boot loader di / dev / sda
- / dev / sda1 - gunakan sebagai ext2 - mount point / boot
- / dev / sda2 - gunakan sebagai ext2 - mount point / boot
- / dev / sda3 - gunakan sebagai ext2 - mount point / boot
- / dev / sda4 - gunakan sebagai ext2 - mount point / boot
Pada akhirnya penginstal memperingatkan bahwa grub-install gagal (karena volume boot dienkripsi), jadi pilih 'lanjutkan tanpa bootloader'.
Bersihkan volume boot
mkfs.ext2 /dev/mapper/boot
Pasang volume
mkdir /mnt/root mount /dev/mapper/root /mnt/root mount /dev/mapper/boot /mnt/root/boot
Perbarui fstab dan crypttab
sudo blkid [/dev/sr0: UUID="2015-10-21-16-17-40-00" LABEL="Ubuntu 15.10 amd64" TYPE="iso9660" PTUUID="429817b4" PTTYPE="dos" /dev/sda1: UUID="...#1" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda2: UUID="...#2" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda3: UUID="...#3" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda4: UUID="...#4" TYPE="crypto_LUKS" PARTUUID="..." /dev/mapper/boot: UUID="..." TYPE="ext2" /dev/mapper/swap: UUID="..." TYPE="swap" /dev/mapper/root: UUID="..." TYPE="ext4" /dev/mapper/home: UUID="..." TYPE="ext4"]
fstab
#<file system> <mount point> <type> <options> <dump> <pass> UUID=#1 /boot ext2 defaults 0 2 UUID=#2 none swap sw 0 0 UUID=#3 / ext4 errors=remount-ro 0 1 UUID=#4 /home ext4 defaults 0 2
crypttab
boot UUID=#1 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool, time=3000 swap UUID=#2 luks,swap,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 root UUID=#3 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 home UUID=#4 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=5000
Perbarui gambar initramfs
cd /mnt sudo chroot root mount -t proc proc /proc mount -t sysfs sys /sys mount -t devpts devpts /dev/pts update-initramfs -u #ok
Konfigurasikan bootloader (
/etc/default/grub
)GRUB_ENABLE_CRYPTODISK=y GRUB_PRELOAD_MODULES="luks cryptodisk" GRUB_CMDLINE_LINUX="cryptdevice=UUID#3:root root=/dev/mapper/root resume=/dev/mapper/swap crypto=whirlpool:twofish-xts-plain64:512:0:"
buat file config
$ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/root'.]
coba di luar
$ exit $ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.]
Apakah saya melakukan kesalahan sebelum ini? Bagaimana saya bisa terus mengkonfigurasi dan menginstal grub dengan benar?
sumber
grub
+ judul Anda. Saya kira Anda menemukan prosedur Anda untuk mengenkripsi di pavelkogan.com/2014/05/23/luks-full-disk-encryption (yang merupakan pencarian google pertama tentang topik ini). jika tidak, mungkin itu akan membantu. Pertanyaan bagus! dan semoga beruntung!/boot
sebagai titik puncak untuk segalanya. Saya berharap itu salah ketik. 2. Anda tidak melakukan mount/dev
ketika melakukan chroot, tetapi anda melakukan mount devpts. OoJawaban:
Anda membuat beberapa kesalahan, tetapi masalah utamanya adalah di mana-mana dan grub. Pada dasarnya, ketika Anda mengatur
/
untuk menjadi partisi terenkripsi dan tidak membuat partisi terpisah untuk/boot
, grub memberikan pesan kesalahan seperti:Gambaran umum proses
/boot
partisi yang tidak terenkripsi dan btrf terenkripsi/
menggunakan installer standar.chroot
, membuat beberapa perubahan konfigurasi penting, dan menginstal ulang grub ke Partisi Sistem EFI dan membuat ulang initrd.Langkah-langkah rinci
sudo apt update && sudo apt upgrade
untuk memperbarui komponen pemasangfdisk
,,gparted
atau alat lain untuk membuat 3 partisi:/boot
Siapkan partisi terenkripsi
Instal Ubuntu
/dev/sda1
sebagaiEFI System Partition
/dev/sda2
sebagai ext2, diformat, dengan mount point of/boot
/dev/mapper/sda3_crypt
sebagai btrfs dengan mount point of/
Salin isi
/boot
dan lakukan achroot
(Semuanya sekarang terjadi seperti
chroot
di dalam sistem baru Anda.)Tambahkan baris ke
/etc/default/grub
Tambahkan baris ke
/etc/crypttab
. Anda harus menjalankan terlebih dahulusudo blkid
untuk menemukan UUID/dev/sda3
(BUKAN/dev/mapper/sda3_crypt
).Edit
/etc/fstab
dan hapus baris untuk/boot
. Entri lainnya benar.Instal grub ke Partisi Sistem EFI, hasilkan grub.cfg baru, dan siapkan initrd.
Pemeriksaan ganda opsional: Periksa ulang yang
/boot/efi/EFI/ubuntu/grub/grub.cfg
berisi baris yang menyertakaninsmod luks
,,cryptomount -u <UUID>
entri boot yang benar, dll. Dan periksa kembali apakah initrd Anda berisicryptsetup
biner. Jika hal-hal ini hilang, itu karena grub-mkconfig dan / atau update-initrd tidak dapat mengetahui bagaimana volume yang telah Anda pasang atau tentukan di fstab berhubungan dengan volume terenkripsi di crypttab. (Ada banyak konfigurasi otomatis ajaib yang mereka lakukan.) Ini dapat terjadi jika Anda menyimpang dari panduan ini dengan, misalnya, menggunakan ZFS atau dengan mencoba mempartisi sda3_crypt.(Jika menggunakan ZFS bukan btrfs) grub-mkconfig dan update-initrd tidak akan mengenali ZFS. Solusi yang melibatkan (selama chroot, sebelum grub-mkconfig / update-initrd) mengedit
/usr/sbin/grub-mkconfig
untuk menambah|| true
garis 139 (yang dimulai denganGRUB_DEVICE=
), menambahkanGRUB_DEVICE="/dev/mapper/sda3_crypt"
untuk/etc/default/grub
, membuat file/usr/share/initramfs-tools/conf-hooks.d/forcecryptsetup
dengan isiexport CRYPTSETUP=y
dan berkas/etc/initramfs-tools/conf.d/cryptroot
dengan isitarget=sda3_crypt,source=UUID=<UUID of sda3>,key=none,discard
. Semua ini merupakan tambahan untuk langkah-langkah yang akan Anda ambil jika Anda tidak mengenkripsi partisi ZFS (seperti menginstal zfs userspace utils di sistem live dan selama chroot dan menghapus baris yang dipasang/
di fstab).Keluar dari chroot dan reboot ke sistem baru Anda
Anda akan melihat grub meminta kata sandi Anda. Maka Anda akan mendapatkan menu boot. Setelah memilih Ubuntu Anda akan diminta kata sandi lagi. Maka Anda akan berada di sistem Anda. Baca lebih lanjut tentang bagaimana Ubuntu menggunakan BTRFS .
MELAKUKAN : Buat swap terenkripsi (petunjuk: ini melibatkan pengeditan crypttab, fstab, dan menjalankan kembali
update-initrd
).Upgrade
grub-mkconfig
perintah .grub-install
perintah .Catatan lain
sumber
fstab
dancrypttab
sebenarnya tidak benar dalam pertanyaan.crypttab
harus menunjuk ke perangkatuuid
mentah/dev/sdxY
;fstab
harus menunjuk ke perangkat crypt yang dibuka di/dev/mapper/label
.grub-install
instruksi Anda, Anda memiliki--bootloader=ubuntu
parameter. Saya tidak bisa menemukan argumen itu di manual Ubuntu atau GNU . Bisakah Anda menjelaskan apa fungsinya atau di mana dokumen itu didokumentasikan?