0. 前言

最近新买了一台小米Air 13.3,除了但键盘手感外都比较满意。我比较喜欢折腾Linux,但又不想放弃原有的Windows 10 Home,于是在原有的windows 10基础上再安装了Arch Linux,实现双系统。本文为安装过程简介。由于安装过程有的地方漏了截图,这些地方直接使用了参考网站的图片,忘见谅。实际安装过程与单独安装Arch Linux的过程类似,唯一需要注意的是对EFI分区的处理。

1. 参考网站

安装Win10+Ubuntu16.04 LTS 双系统

Archlinux安装和使用技巧

Installation guide (简体中文)

Wireless network configuration (简体中文)

WPA supplicant (简体中文)

Dual boot with Windows (简体中文)

GRUB (简体中文)

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的引导。

本文完。