萝卜头IT论坛

搜索
查看: 6073|回复: 26
收起左侧

[教程] 利用加密的LVM安装Arch

[复制链接]
发表于 2020-9-19 19:25:24 | 显示全部楼层 |阅读模式
本帖最后由 NoName_3031 于 2020-9-19 19:29 编辑

[md]发现论坛的编辑器有支持md了 赶紧移植一篇自己的文稿试试水(

**转发请注明来源**

### 在阅读本教程前:

* 请将"/dev/sda"换成您自己的U盘名称(例:/dev/sdc)
* 并请确保你的电脑架构是**amd64**或者是**i386**
* 防止误操作把小姐姐清出D盘或者扬了某个人的论文毕设和游戏存档,**请断开其他储存设备的连接**

---

这是根据网上四篇教程总结出的 更加通用,更加安全的一篇教程。没关系,照抄就对了。(被打)

> [三篇教程其一](https://www.viseator.com/2017/05/17/arch_install/) · [三篇教程其二](https://www.howtoing.com/how-to-install-arch-linux-with-full-disk-encryption/) · [三篇教程其三](https://blog.yangmame.org/在U盘安装加密的Linux系统.html)
>
> ~~官网的wiki我就不放了8?~~

---

由于涉及到vim操作, 在这里简略说下:

`Insert` 进入编辑模式

`ESC` 退出可输入指令

`p` 是粘贴

`:wq` 是保存并退出(前面有分号)

`:yn` 是复制n行(前面有分号)

实在不习惯可以用nano(笑

### 获取并从安装介质启动

请去[Arch Linux](https://www.archlinux.org/download/)官网下载光盘镜像 并写入到U盘/光盘上

启动时 请按照你的电脑主板生产商的指示进入BIOS界面(一般是delete) 并尽量从UEFI启动

### 联网并编辑软件源

`dhcpcd`或着 `wifi-menu`(后者请按照流程输入WiFi配置信息)

`timedatectl set-ntp true`(时间更新)

`vim /etc/pacman.d/mirrorlist`(编辑镜像源)

`pacman -Sy`(扫描并更新源)

### 分区(请灵活调整)

##### 分区概览(GPT分区)


| 分区名称 | 文件系统 | 安装时的挂载点 | 建议分区大小 | 我的情况(16GU盘) |
| :- | :- | :- | :- | :- |
| sda1 | biosboot | 无 | 2~8M | 4M |
| sda2 | vfat(FAT32) | /mnt/boot/efi | 64~512M | 128M |
| sda3 | ext4 | /mnt/boot | 256~768M | 256M |
| sda4(卷组名:System) | 加密的物理卷 | 无 | 看情况 | (14+0+1)G |
| System-root | ext4 | /mnt | 看情况(最好>=10G) | 14G |
| System-data | ext4 | 无 | 用来完全利用磁盘空间的 | 0M(对 没有了) |
| System-swap | swap | 无 | 你的RAM大小或更大 | 1G(小点也没事) |
| sda4 | 随意 | 随意 | 用来完全利用磁盘空间的 | 被瓜分后剩余的635M |

> 注: 后期可通过 `mkswap [文件路径]` , `swapon [文件路径]` 和`chmod 600 [文件路径]`指令创建swap文件

---

##### 配置分区

擦除磁盘(防止~~被扒内裤~~元数据泄露):`shred --verbose --random-source=/dev/urandom -- /dev/sda`

> 注:这里iterations=2 指的是擦除两遍

新建加密分区:`cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 8192 --use-random luksFormat /dev/sda4`

> 注:如果CPU性能较弱可以将迭代次数从8192降低一些,但最好在4000以上以保证安全性。

创建lvm卷:`cryptsetup open --type luks /dev/sda4 cryptlvm`

创建物理卷:`pvcreate /dev/mapper/cryptlvm`

创建System组:`vgcreate System /dev/mapper/cryptlvm`

创建根分区:`lvcreate -L ▲G System -n root`

> 注:▲是你想要的root分区大小,最好在10G以上

创建swap分区:`lvcreate -L ■G System -n swap`

> 注:■是你想要的swap大小,最好在你的ram容量以上,以防休眠到硬盘时出错

创建data分区:`lvcreate -l 100%FREE System -n data`

##### 格式化

格式化efi分区:`mkfs -t vfat -F 32 /dev/sda2`

> 注: sda1被拿去作biosboot了 故不格式化

格式化boot分区:`mkfs.ext4 /dev/sda3`

格式化root分区:`mkfs.ext4 /dev/mapper/System-root`

格式化swap分区:`mkswap /dev/mapper/System-swap`

开启swap分区:`swapon /dev/mapper/System-swap`

格式化data分区(外部):`mkfs -t vfat -F 32 /dev/sda5`

##### 挂载分区

`mount -t ext4 /dev/System-root /mnt`
`mkdir -p /mnt/boot`
`mount -t ext4 /dev/sda3 /mnt/boot`
`mkdir -p /mnt/boot/efi`
`mount -t vfat /dev/sda2 /mnt/boot/efi`

### 安装

安装基本系统:`pacstrap -i /mnt base base-devel linux linux-firmware vim lvm2 dhcpcd grub efibootmgr networkmanager network-manager-applet wpa_supplicant os-prober ntfs-3g`

> 可选在同时安装kde桌面: `plasma kde-applications`
>
> 注:如果安装了桌面请务必执行: `systemctl enable NetworkManager sddm`注意大小写

创建fstab文件,用于开机时挂载分区`genfstab -U -p /mnt >> /mnt/etc/fstab`

> 注:"-U"指的是根据uuid挂载 也可以替换成"-L"来根据label挂载

### 配置

改变根目录:`arch-chroot /mnt`

设置使用网络时间:`timedatectl set-ntp true`

配置地区设置:`vim /etc/locale.gen` 取消注释en_US.UTF-8,zh_CN.UTF-8,zh_TW.UTF-8 退出

应用地区设置:`locale-gen`

设置语言:`echo LANG=en_US.UTF-8 > /etc/locale.conf`

设置时区:`ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime`

设置硬件时钟:`hwclock --systohc --utc`

设置root密码:`passwd root`

设置主机名:`echo ● > /etc/hostname`

> 注:●是你想设置的主机名

添加用户`useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash ▢`

更改新用户密码:`passwd ▢`

> 注:▢是你想设置的一般用户名

让一般用户可以使用sudo:`EDITOR=vim visudo` 取消注释 %whell all=(all) all

记下加密物理卷的UUID`blkid`

> 注:是带有'TYPE="crypto_LUKS"'的分区,请不要和其它分区的UUID混淆.

`vim /etc/default/grub` 在GRUB_CMDLINE_LINUX=""的双引号间加入:`cryptdevice=UUID=◯:cryptlvm root=/dev/System/root resume=/dev/System/swap`

> 注:◯是刚刚记下的UUID

配置内核:`vim /etc/mkinitcpio.conf` 在HOOKS里 加入 **keyboard keymap encrypt lvm2 resume**(注意顺序)

> 例子:HOOKS=(base udev autodetect **keyboard** **keymap** modconf block **encrypt** **lvm2** **resume** filesystems fsck)

> 如果是笔记本等设备 在/etc/systemd/logind.conf里添加"HandleLidSwitch=hibernate"

制作:`mkinitcpio -p linux`

安装引导(efi):`grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=◇`

> 注:◇是给efi启动选项的好听的名字 不弄也可以

安装引导(legacy):`grub-install --target=i386-pc /dev/sda`efi+bios双引导

> ~~注:我也不知道为什么这U盘换了一台电脑启动,uefi就失效了,淦~~

导出启动配置:`grub-mkconfig --o /boot/grub/grub.cfg`

退出chroot:`exit`

重启:`reboot`

至此 你的电脑~~应该~~能启动了 欢迎使用

---

### 附录

##### 显示相关

> intel `sudo pacman -S xf86-video-intel`
>
> nvidia `sudo pacman -S xf86-video-nouveau`
>
> ATI `sudo pacman -S xf86-video-amdgpu`

##### 软件相关

> ▷处理器微码(Microcode)
>
> AMD `pacman -S amd-ucode`
>
> Intel `pacman -S intel-ucode`
>
> ▷AUR(用户软件库) `git clone https://aur.archlinux.org/yay.git` `cd yay` `makepkg -si`
>
> 中文输入法(GDM已经集成,不用搞) `pacman -S noto-fonts-cjk fcitx fcitx-im kcm-fcitx`
>
>> 注:最后一个是图形化配置程序
>>
>
> 在/etc/profile文件,在文件开头加入三行:
>
> ```
> export XMODIFIERS="@im=fcitx"
> export GTK_IM_MODULE="fcitx"
> export QT_IM_MODULE="fcitx"
> ```
>
> ▷Yakuake(下拉式终端) `pacman -S yakuake`
>
> ▷v2ray(梯子) `yay -S v2raya`
>
>> 注:会自动安装依赖,所以懒得打v2ray了
>>
>
> ▷VirtualBox 虚拟机 `pacman -S virtualbox virtualbox-ext-vnc virtualbox-guest-iso virtualbox-host-modules-arch linux-headers`

---

**更新于2020/08/13(Y/M/D)**

**移植自[本人TG频道](https://t.me/noname_3031_channel/)到bbs.luobotou.org于2020/09/19(Y/M/D)**

**如有错误请指出**
[/md]
回复

使用道具 举报

发表于 2020-9-19 20:51:40 | 显示全部楼层
很强
回复

使用道具 举报

发表于 2020-9-19 21:52:47 | 显示全部楼层
那我下次弄个在windows10下安装wsl2并安装ubuntu系统且安装ubuntu桌面的教程 可以加精么/斜眼笑
回复

使用道具 举报

发表于 2020-9-19 22:20:12 | 显示全部楼层
话说我上述的帖放哪个板块会比较好
回复

使用道具 举报

 楼主| 发表于 2020-9-19 22:34:41 | 显示全部楼层
seatt1234 发表于 2020-9-19 21:52
那我下次弄个在windows10下安装wsl2并安装ubuntu系统且安装ubuntu桌面的教程 可以加精么/斜眼笑 ...

Windows10是屑(大声
回复

使用道具 举报

 楼主| 发表于 2020-9-19 22:37:18 | 显示全部楼层
seatt1234 发表于 2020-9-19 21:52
那我下次弄个在windows10下安装wsl2并安装ubuntu系统且安装ubuntu桌面的教程 可以加精么/斜眼笑 ...

其实是你搞错重点了
发现论坛的编辑器有支持md了 赶紧移植一篇自己的文稿试试水
回复

使用道具 举报

发表于 2020-9-19 22:48:01 | 显示全部楼层
-.-
回复

使用道具 举报

 楼主| 发表于 2020-9-19 22:48:18 | 显示全部楼层
本帖最后由 NoName_3031 于 2020-9-19 22:49 编辑

你试了吗?对于读写速度较慢的U盘的话 arch还是很香的 (450M/秒的U盘
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-4-26 13:13 , Processed in 0.093065 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表