如何使用全盘加密安装 Arch Linux
在此页
- 链接
在今天的教程中,我们将安装带有全盘加密的 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
设置根密码:
passwd
添加系统用户:
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username
设置系统用户密码:
passwd username
安装 sudo (base-devel) 和引导加载程序 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
有一个特殊的维基页面,其中包含有关 GPU 驱动程序的有用信息,请查看 https://wiki.archlinux.org/index.php/xorg#Driver_installation 如果您的 GPU 品牌恰好是 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个链接:
- 链接 1
- 链接 2
- 链接 3
- 链接 4
- 链接 5
- 链接 6
- 链接 7
- 链接 8
- 链接 9
- 链接 10