在今天的教程中,我们将安装具有完整磁盘加密功能的Arch Linux。
在我们继续之前,我希望您备份现有的数据。
在前面的教程中,我们了解了dm-crypt和LUKS以及如何加密单个磁盘分区 。 在今天的帖子中,我们将采用稍微不同的方法,使用dm-crypt LUKS对整个磁盘进行加密,并在其上安装Archlinux。
我们从磁盘擦除开始吧。 运行lsblk找到您的主磁盘,并在需要的位置替换/dev/sda
:
shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda
我在120GB的SSD上运行了'--iterations = 15'的上述命令,过了7个小时。
完成后,分区磁盘。 除非您的主板正在使用UEFI固件,否则请确保选择“dos”(msdos)标签,否则在输入以下命令时,使用“gpt”
cfdisk /dev/sda
之后创建启动加载程序分区:
New-> Partition Size: 100M -> primary -> Bootable
最后一个将是根分区。 分区大小应该自动设置为剩余的可用空间。
New-> Partition Size: xxxGB -> primary
写入更改并退出cfdisk。
为了引导加密的根分区,将在/ boot中挂载的引导加载程序分区/dev/sda1
不会被加密。 我将在本文末尾放置几个链接,这将指导您如何加密,甚至将启动分区移动到CD / DVD / USB上。
以LUKS加密方式创建加密设备映射器设备:
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda2
解锁分区,请注意, cryptroot将是我们将要操作的设备映射器名称。
cryptsetup open --type luks /dev/sda2 cryptroot
创建引导和根文件系统:
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/mapper/cryptroot
装载它们:
mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mount -t ext4 /dev/sda1 /mnt/boot
安装基础和基础系统:
pacstrap -i /mnt base base-devel
生成fstab:
genfstab -U -p /mnt >> /mnt/etc/fstab
Chroot配置基本系统:
arch-chroot /mnt
取消注释en_US区域设置:
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
生成区域设置:
locale-gen
创建配置文件,指示系统应该使用哪种语言区域设置:
echo LANG=en_US.UTF-8 > /etc/locale.conf
导出区域设置
export LANG=en_US.UTF-8
创建具有所需时区的符号链接:
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
将硬件时钟设置为UTC:
hwclock --systohc --utc
设置所需的主机名:
echo CookieMonster > /etc/hostname
设置root密码:
passwd
添加系统用户:
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username
设置系统用户密码:
passwd username
安装sudo(base-devel)和boot loader grub和os-prober:
pacman -S sudo grub-bios os-prober
允许系统用户使用sudo并以root身份运行命令(临时):
EDITOR=nano visudo
按CTRL + W并键入wheel,然后取消注释以下行:
添加以下内核参数以便在系统启动期间解锁LUKS加密的根分区:
添加加密钩:
由于我们在mkinitcpio配置文件中添加了新的钩子,我们应该重新生成我们的initrams映像(ramdisk):
mkinitcpio -p linux
安装grub并保存它的配置文件:
grub-install --recheck /dev/sda
grub-mkconfig --output /boot/grub/grub.cfg
从chroot退出,卸载分区,关闭设备并重新启动(卸下安装介质):
exit
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
systemctl reboot
一旦您输入密码并以系统用户身份登录,请启动dhcpcd。
sudo systemctl start dhcpcd
ping -c2 youtube.com
安装Xorg并将.xinitrc复制到$ HOME目录下:
sudo pacman -S xorg-server xorg-server-utils xorg-xinit mesa xterm xorg-twm xorg-xclock
cp /etc/X11/xinit/xinitrc ~/.xinitrc
有一个专门的wiki页面,其中包含有关GPU驱动程序的有用信息,请查看https://wiki.archlinux.org/index.php/xorg#Driver_installation ,如果您的GPUBranded是amd / ati,intel或nvidia安装列出的相应驱动程序。
键入startx
,您应该看到并排的几个终端,现在键入exit
注释在.xinitrc中的以下行,并添加一些以指定我们希望在成功登录时启动xfce桌面环境:
安装xfce,外部显示管理器和网络管理器:
sudo pacman -S slim archlinux-themes-slim xfce4 networkmanager network-manager-applet
交换默认的主题:
停止dhcpcd,启用slim,启用NetworkManager,startx:
sudo systemctl stop dhcpcd
sudo systemctl enable NetworkManager
sudo systemctl enable slim
startx
就这样,希望你喜欢这篇文章。
如果您曾经设法使用系统,并且必须使用可移动媒体进行chroot,则顺序为:
cryptsetup open --type luks /dev/sda2 cryptroot
mount -t ext4 /dev/mapper/cryptroot /mnt
mount -t ext4 /dev/sda1 /mnt/boot
arch-chroot /mnt
要卸载它们:
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
链接
承诺的链接,如果你有SSD,请仔细阅读第8和第9个链接: