Çalışan bir Ubuntu 16.04'ten, kurulum sonrası kök bölüm şifrelemesinde başarılı oldum, kök bölüm / boot dışındaki her şeyi içeren. Ayrı çıkarılabilir bir usb üzerine / boot koydum. Özellikle bunu Ubuntu 18'e yükseltmeden önce yaptım ve yükseltme şifreli disk versiyonunda iyi çalıştı.
Şifreleme "yerinde" yapılmadı, ki bu yeni kurulum çalışıncaya kadar çalışan sürümün üzerine yazmak istemediğim için, benim için sorun değildi.
Doğru işlemi yapmak son derece basit ve hızlıdır. (Bazı doğru ipuçlarını izlediğim için doğru işlemi bulmak çok zaman alıyordu.)
ANA HATLARI
- Canlı bir Linux USB disk oluşturun - kalıcılığın etkin olması uygundur. Bu canlı USB diskte önyükleme yapın.
- Boş bir bölümde bir luk şifreli birim grubu oluşturun. (Benim durumumda orijinal linux ile aynı disk üzerindeydi, fakat başka bir disk olabilir.) Şifrelenmiş bölüm üzerinde mantıksal birimler oluşturun / (kök) oluşturun ve bunları değiştirin. Bunlar, kopyalanan linux ile ilgili olarak sanal bölümler olarak hareket edecektir.
- Dosyaları eski kökten yeni köke kopyalayın.
- Çıkarılabilir önyükleme diski olarak çalışmak için başka bir USB kurun ve bölümleyin.
- Yeni kök içine bazı dosyalar kurun, biraz sihir yapın ve yeni kök içine chroot yapın ve sonra grubu chroot'un yeni kök ortamından önyükleme diski üzerine kurun.
DETAYLAR
1 - Canlı bir Linux USB disk ile önyükleme - kalıcılığın etkin olması uygundur.
Unetbootin ile bir usb üzerine Ubuntu 16 kuruldu. GUI "sebat etme" nin belirtilmesine izin verir, fakat sebatın çalışmaya devam etmesi için başka bir adım da gereklidir - aşağıdaki gibi /boot/grub/grub.cfg
eklemek için değiştirin --- persistent
:
menuentry "Try Ubuntu without installing" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
initrd /casper/initrd
}
Canlı USB ile önyükleme yapın
2- Boş bir bölümdeki bir luk şifreli ses grubu oluşturun. Şifrelenmiş bölüm üzerinde / (root) oluşturun ve mantıksal birimleri değiştirin.
Şifrelenmemiş kullanılmayan bölümün olduğunu varsayalım /dev/nvme0n1p4
.
İsteğe bağlı olarak , şifreleme ve biçimlendirme işleminden önce gizlemek istediğiniz bölümdeki eski verileriniz varsa, bölümü rasgele silebilirsiniz. Burada tartışmaya bakın .
dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress
Şifrelemeyi ayarlayın.
cryptsetup -y -v luksFormat /dev/nvme0n1p4
Sizden bir şifre belirlemeniz istenecektir.
cryptsetup luksOpen /dev/nvme0n1p4 crypt1
Sizden şifreyi girmeniz istenecektir. Bu crypt1
keyfi bir kullanıcı karar isim olduğunu unutmayın. Şimdi birimler ve format oluşturun.
pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1
lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap
lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root
Birimleri görüntülemek ve hiyerarşiyi anlamak için bu yardımcı programları kullanın.
pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1
3- Dosyaları eski kökten yeni kök dizine kopyalayın
mkdir /tmp/old-root
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/
umount /tmp/old-root
umount /tmp/new-root
cp -a ...
tüm dosya modlarını ve bayraklarını koruyarak arşiv modunda kopyalar.
4- Çıkarılabilir önyükleme diski olarak çalışmak için başka bir USB kurun ve bölümleyin.
Bunun için gparted kullandım. İki bölüm ayarlayın. İlk bölüm vfat
ikincisidir ext2
. Her biri 512 MB'dı, daha azıyla kurtulabilirsiniz. Cihazı kabul et /dev/sdf
.
# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)
# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave)
5- Yeni kök içine bazı dosyalar kurun, biraz sihir yapın ve yeni kök içine chroot yapın ve sonra grubu chroot'un yeni kök ortamından önyükleme diski üzerine kurun.
Daha sonra kullanmak üzere bazı UUID'leri bulun. Aşağıdaki komutlardan gelen çıktılara dikkat edin:
blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4
Kök bölümünü ve önyükleme bölümlerini takın
sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi
Dosyayı ayarla /mnt/etc/fstab
/dev/mapper/crypt1--vg-root / ext4 errors=remount-ro 0 1
/dev/mapper/crypt1--vg-swap none swap sw 0 0
UUID=[uuid of /dev/sdf2] /boot ext2 defaults 0 2
UUID=[uuid of /dev/sdf1] /boot/efi vfat umask=0077 0 1
Burada "[uuid of ...]" yalnızca bir harf sayı - kısa çizgi birleşimidir.
Dosyayı oluşturun /mnt/etc/cryptab
# <target name> <source device> <key file> <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root
Kök dizin ortamına girmek için gereken bazı sihir:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt
Şimdi açılış USB diskini şu şekilde ayarlayın grub
:
apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub
Şimdi yeni oluşturulan USB önyükleme diskini kullanarak yeniden başlatıp açabilmelisiniz.
Toubleshooting-
(a)apt install --reinstall grub-efi-amd64
Komut için ağ bağlanmalıdır . Ağ bağlı, ancak DNS başarısız oluyorsa, deneyin
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
(b) Aramadan önce , orijinal linux'ta kullanılan initramfs
geçerli vmlinuz...
dosyanın yeni kök dizinde bulunması gerekir. Değilse, bulun ve oraya yerleştirin.
(c)grub-install
komut varsayılan arama tarafından tüm diğer Linux diskleri onlar olmasa bile bulabilirsiniz olacak mount
ed ve yeni önyükleme USB önyükleme menüsü koyun. Genellikle bu istenmez, bu yüzden bu satırı ekleyerek önlenebilir /boot/default/grub.cfg
:
GRUB_DISABLE_OS_PROBER=true
NOT:
Çıkarılabilir önyükleme USB'sine şifreleme anahtarlı bir metin dosyası eklenebilir.