如何安装具有全盘加密的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

设置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个链接:

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏