安装 ArchLinux & Windows 双系统
Windows 10 用了也有好几年了,最近用的有点腻了,这次折腾一下 ArchLinux。搞个双系统,也顺便检验一下自己的 Linux 水平。
都说 ArchLinux 安装有点难度,需要手动安装所有系统组件,但是我觉得还好,只要按照 Wiki 上的步骤一步一步来,就不会出什么问题。之前一直拿 ArchLinux 的 LiveCD 模式在虚拟机里面折腾,这次直接在实体机上安装 ArchLinux 并包含桌面环境。
首先第一步,去 ArchLinux 官网下载安装镜像。国内可以使用 清华大学开源软件镜像站下载,速度还是很快的。我离科大近的,就用科大的镜像站下载了。
制作启动盘也不用多说,我用的是 Win32DiskImager,直接写入 U 盘就行了。然后进入电脑 BIOS,调整启动顺序,从 U 盘启动。
在开始安装前,我先列举几个链接,方便查阅:
下面正式开始。
创建分区
至少需要 boot
和 /
分区. 推荐分区如下:
挂载位置 | 大小 | 文件系统 |
---|---|---|
/ | 剩余空间 | 随意,这里使用 btrfs |
/boot | 512MB | fat32 |
交换区 | 2GB以上 | swap |
使用 fdisk 创建分区, 由于安装时没法复制,我就拿之前在虚拟机里装的做例子。实际上设备名称可能不是 /dev/sda
,可以使用 lsblk
查看。
我这里使用的是 UEFI 引导,如果你使用的是 BIOS 引导,需要创建一个 BIOS boot
分区。详情看这里:Partition the disks
fdisk /dev/sda
使用 g
创建空的 GPT 分区(适用于 UEFI 引导)
使用 p
打印当前分区
使用 n
创建新分区
使用 m
获取帮助
本例分区如下:
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EA3D6492-C011-A449-BCB9-4122D1B01ADE
Device Start End Sectors Size Type
/dev/sda1 2048 1001471 999424 488M Linux filesystem
/dev/sda2 1001472 58720219 57718748 27.5G Linux filesystem
/dev/sda3 58720220 62912511 4192292 2G Linux filesystem
创建完分区后,使用 w
保存并退出。
格式化分区
这里我计划让根分区使用 btrfs
文件系统,引导分区使用 fat32
文件系统,交换分区使用 swap
文件系统。
下面是各种分区的格式化方法 ,其实都差不多。
fat32
引导区
mkfs.fat -F 32 /dev/sda1
btrfs
根分区
mkfs.btrfs /dev/sda2
- 交换区
mkswap /dev/sda3
挂载分区
接下来将分区挂载到 /mnt
目录下。注意顺序,先挂载根分区,再挂载引导分区。
- 将
/
分区挂载到 LiveCD 的/mnt
mount /dev/sda2 /mnt
- 将
/boot
分区挂载到 LiveCD 的/mnt/boot
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
- 启用交换区
swapon /dev/sda3
这里一定要启用交换区,否则后面生成 fstab
时不包含交换区,到时候还得自己编辑。
安装基本系统
从这里开始基本天高任鸟飞了,想装什么装什么,ArchLinux主打一个自由,所以你可以自由的选择你想要的东西。
推荐先安装: base linux linux-firmware base-devel dhcpcd vim
,别的可以等近真正的系统再安装。
pacstrap /mnt base linux linux-firmware base-devel dhcpcd vim
-
base
linux
linux-firmware
Linux 所需的最基本的包
-
base-devel
最基本的编译工具, 例如
gcc
-
dhcpcd
dhcp
的客户端, 用于局域网 IP 协商, 没这玩意你连网都上不了, 近真正的系统就装不了了 -
vim
文件编辑器
基本的配置
接下来使用 arch-chroot
进入被安装的系统,配置一下最基本的东西。
arch-chroot /mnt
设置时区
设置时区为中国上海, 同步时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
配置语言
编辑 /etc/locale.gen
, 把 en_US.UTF-8 UTF-8
取消注释
vim /etc/locale.gen
这里可别选中文,Linux TTY 根本不能显示中文。
生成配置文件
locale-gen
编辑 /etc/locale.conf
, 内容如下
LANG=en_US.UTF-8
设置主机名
修改 /etc/hostname
为你想要的主机名
修改 root 密码
passwd
安装GRUB引导
我当然知道还有其他的引导,但都想定制引导了,也就不用看我这文章了。
确保你已经使用 arch-chroot
进入了被安装的系统
安装 GRUB 及相关的包
安装 GRUB
, efibootmgr
, 以及对应你 CPU 的 intel-ucode
或 amd-ucode
pacman -S grub efibootmgr intel-ucode os-prober
生成配置文件
这里要注意一点, 新版本的 GRUB 默认禁用了 os-prober, 也就是说不会自动检测其他系统, 需要手动启用,编辑 /etc/default/grub
, 将 GRUB_DISABLE_OS_PROBER
设置为 false
, 然后运行命令生成配置文件。
mkdir /boot/grub
grub-mkconfig -o /boot/grub/grub.cfg
注意一下,这里还是检测不到 Windows 的,需要手动安装 ntfs-3g
,然后再次运行 grub-mkconfig
。记住是需要先 arch-chroot
进入系统,然后再安装 ntfs-3g
,而不是在 LiveCD 环境下安装。
安装 GRUB
grub-install --target=x86_64-efi --efi-directory=/boot
再次强调,这里是 UEFI 引导,如果你使用的是 BIOS 引导,需要使用 --target=i386-pc
安装。
最后的配置
首先使用 exit
命令退出 arch-chroot
, 回到 LiveCD 环境
生成文件系统挂载配置
使用 genfstab
生成 fstab 并追加到 /mnt/etc/fstab
genfstab -U /mnt >> /mnt/etc/fstab
重启以进入新系统
reboot
到这里这篇文章就结束了,下一篇文章总结一下安装 GNOME 的过程。