0. 前言
最近新买了一台小米Air 13.3,除了但键盘手感外都比较满意。我比较喜欢折腾Linux,但又不想放弃原有的Windows 10 Home,于是在原有的windows 10基础上再安装了Arch Linux,实现双系统。本文为安装过程简介。由于安装过程有的地方漏了截图,这些地方直接使用了参考网站的图片,忘见谅。实际安装过程与单独安装Arch Linux的过程类似,唯一需要注意的是对EFI分区的处理。
1. 参考网站
Wireless network configuration (简体中文)
Dual Boot Installation of Arch Linux with Preinstalled Windows 10 with Encryption
2. 安装前准备工作
2.1 下载.iso并制作U盘启动盘
Arch Linux Downloads中下载最新的ios文件,我是在macOS下通过dd方式把iso写进U盘中作为启动盘的。
dd if=archlinux-2017.10.01-x86_64.iso of=/dev/sdb
archlinux-2017.10.01-x86_64.iso为你下载的iso文件,/dev/sdb则表示你的U盘。
2.2 硬盘分区
桌面电脑图标上右键 -> 管理 -> 存储 -> 磁盘管理。
磁盘0 -> OS(C:)上右键压缩卷 -> 选择合适大小,压缩完成后就退出,保持未分区状态,不要格式化,不要分配盘符,我分配了80G给Arch Linux,并且不预留swap空间。
2.3 关闭快速启动
设置 -> 系统 -> 电池与睡眠 -> 其他电源设置 -> 选择电源按钮的功能 -> 先选择更改当前不可用的设置,才能关闭启用快速启动。
2.4 关闭Secure Boot
进入BIOS: 重启电脑,在MI出现后马上按F2(可以多按几次,也可以在还是黑屏时就开始按)。
Security -> Set Supervisor Password(必须设置,否则下面的Secure Boot无法更改)。
Security -> Secure Boot -> 更改为Disabled。
Boot -> Boot Type -> UEFI(这是默认值,过来看一下就可以,不需要改)。
最后F10后回车,会保存更改后直接重启。
3. 开始安装
3.1 进入U盘
同进入BIOS类似,在上面重启后出现MI时按F12,进入选择菜单,选择你的U盘就可以了,这时候选择第一项(默认也是第一项),即可以进入U盘中的Linux系统。
3.2 连接无线网络
Arch Linux安装需要连接网络,通过U盘进入的系统默认没有网络连接。
iw dev #查看设备名,比如我的为wlp2s0
ip link set wlp2s0 up #启用设备
iw dev wlp2s0 scan | grep SSID #获取可用无线网络的SSID
wpa_passphrase MYSSID PASSWORD > wpa.conf #生成连接到MYSSID的配置文件,PASSWORD为对应的密码
wpa_supplicant -B -i wlp2s0 -c < wpa_conf #使用上一步生成的配置文件连接到无线网络
dhcpcd wlp2s0 #自动获取IP地址
使用最新版的arch ios不会有驱动问题,直接经过上述几步即可接连到无线网络。
3.3安装系统
3.3.1 分区处理
用fdisk查看分区情况:
fdisk -l
如图可以看到/dev/nvme0n1p1为EFI分区,/dev/nvme0n1p4为准备安装arch的分区。
将/dev/nvme0n1p4格式化为ext4,并将其挂载在/mnt:
mkfs.ext4 /dev/nvme0n1p4
mount /dev/nvme0n1p4 /mnt
3.3.1 修改源配置
在/etc/pacman.conf最后添加下面一段,可以用vi编辑该文件,#vi /etc/pacman.conf。
[archlinuxcn]
#The Chinese Arch Linux communities packages
SigLevel = Optional TrustAll
Server = http://repo.archlinuxcn.org/$arch
将/etc/pacman.d/mirrorlist中将China的源注释去除,若原本就没有注释就不用理会。
3.3.2 更新源
pacman -Syy
3.3.3 安装基本系统
pacstrap /mnt base base-devel
接下来耐心等待。
3.3.4 挂载EFI,生成fstab
mkdir -p /mnt/boot/efi
mount /dev/nvmen0p1 /mnt/boot/efi
genfstab -U -p /mnt >> /mnt/etc/fstab
4. 安装完设置
4.1 转回主目录
arch-chroot /mnt /bin/bash
4.2 设置语言环境
vi /etc/locale.conf #添加一行LANG=en_US.UTF-8
vi /etc/locale.gen #把en_US.UTF-8 UTf-8,zh_CN.GBK GBK,zh_CN.UTF-8 UTF-8,zh_CN GB2312前面的注释去掉
locale-gen #更新语言环境
4.3 设置时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc
4.4 设置主机名和密码
vi /etc/hostname #添加主机名,我添加的是arch
passwd #添加root用户的密码
4.5 安装一些net工具
pacman -S net-tools dnsutils inetutils iproute2
5. GRUB安装与配置
5.1 GRUB安装
pacman -S grub efibootmgr os-prober
5.2 安装GRUB到EFI
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
由于小米预装的windows 10中已经有EFI分区,所以只需要把grub安装在EFI分区中即可。/boot/efi即为在3.3.4中挂载的EFI分区。
5.3 生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg
这个时候重启,只能看到grub中有arch的引导,没有windows 10的引导,还需要重启完成进入系统后,执行5.4。
5.4 引导windows 10
os-prober
grub-mkconfig -o /boot/grub/grub.
再次重启就可以看到windows 10的引导。
本文完。