本文档记录了第一次在 win10 上折腾 arch linux 的过程
重启找到自己电脑进入 BIOS 的快捷键(F2、F10、F12什么的乱七八糟按按试试,实在不行 google 一下)
选择自己的 U 盘作为引导项
选择 Boot Arch Linux (x86_64)
如果一切正常的话会进入一个只有命令提示符的界面:
Arch Linux 4.15.14-1-ARCH(tty1)
archiso login: root (automatic login)
root@archiso ~ # _
至此,已成功进入 arch linux
root@archiso ~ # ls /sys/firmware/efi/efivars
ls: cannot access '/sys/firmware/efi/efivars': No such file or directory
上述输出表明以 BIOS 的方式引导,否则为 EFI
有线(我的笔记本没有网线接口只能无线= =)
无线
我采用了 wifi-menu
,直接在命令行输入即可,可以打开一个可视化界面,操作还是比较方便的
如果想换 wifi,假设你当前连上的 wifi 存的名字这一项你输入的是 XWIFI(别给我说你忘了,默认会有一个= =),可以在 /etc/netctl
这个目录下找到,不想要就删了嘛对不对
root@archiso ~ # rm -rf /etc/netctl/XWIFI
root@archiso ~ # ping www.baidu.com
root@archiso ~ # timedatectl set-ntp true
没有消息就是最好的消息
这部分操作一定要小心
查看分区情况
root@archiso ~ # fdisk -l
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
... ...
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 4096 209965055 209960960 100.1G 7 HPFS/NTFS/exFAT
/dev/nvme0n1p2 209965056 629395455 419430400 200G 7 HPFS/NTFS/exFAT
/dev/nvme0n1p1
就是 win10 的 boot 分区, /dev/nvme0n1p2
它的 End
之后存在很大空间,这一块即为未分配空间,用于 arch linux
创建引导分区
BIOS 跳过
创建根分区
见图
w
之前有什么错误操作,完全可以输入 q
直接退出,这样错误操作不会被保存。但如果你已经输入了 w
,那就自己想办法吧…格式化刚刚创建的分区
自己的分区叫什么看清楚,别看见命令就敲…
root@archiso ~ # mkfs.ext4 /dev/nvme0n1p3
md出错了。。。具体什么原因我也没搞清楚,没事反正你现在什么也都还没有。回到 win10 重新把分区格式化了开始。这一次我选择把 /dev/nvme0n1p1
和 /dev/nvme0n1p2
连在一起,不过按道理来说这个东西是没有影响的
自己的分区叫什么看清楚,别看见命令就敲…
这是 BIOS 引导方式的命令
root@archiso ~ # mount /dev//dev/nvme0n1p3
镜像源的选择需要根据自己的地区来决定,相信看到这篇文章的大多都是 P.R. China 地区的,所以我们选择清华的源
root@archiso ~ # vim /etc/pacman.d/mirrorlist
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
:wq
保存并退出
这一步是安装最基本的 ArchLinux 包,需要联网
root@archiso ~ # pacstrap /mnt base base-devel
无错误输出即可
生成自动挂载分区的 fastab
文件
root@archiso ~ # genfstab -L /mnt >> /mnt/etc/fstab
控制台无输出,需要检查输出生成的文件是否正确:
root@archiso ~ # cat /mnt/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
#
# /dev/nvme0n1p3 UUID=...
# /dev/nvme0n1p3 / ext4 rw,relatime,data=ordered 0 1
注意检查你的新分区是否挂载到了根分区
root@archiso ~ # arch-chroot /mnt
这一步将操纵权交给新安装的 Linux 系统,以后的操作都会在这个系统中进行。此外,如果以后系统出了问题,只需要重新插入 U 盘启动,将系统的根分区挂载到 /mnt
,输入这条命令就可以进入系统修复了。
执行之后会发现终端变为这个样子:
[root@archiso /]#
[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@archiso /]# hwclock --systohc
ArchLinux 下有个非常强大的包管理工具 pacman
,安装命令格式为 pacman -S package_name
[root@archiso /]# pacman -S vim dialog wpa_supplicant ntfs-3g networkmanager
按道理来说一路确认就可以了
[root@archiso /]# vim /etc/locale.gen
将文件中以下四个语言前面的 # 去掉:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_HK.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
保存并退出,并使其生效:
[root@archiso /]# locale-gen
Generating locales...
en_US.UTF-8 UTF-8... done
zh_CN.UTF-8 UTF-8... done
zh_HK.UTF-8 UTF-8... done
zh_TW.UTF-8 UTF-8... done
配置默认语言:
[root@archiso /]# vim /etc/locale.conf
1: LANG=en_US.UTF-8
保存并退出
[root@archiso /]# vim /etc/hostname
1: jasonchan
第一行输入自己想设定的主机名,保存并退出。然后编辑 /etc/hosts
:
[root@archiso /]# vim /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 jasonchan.localdomain jasonchan
保存并退出
[root@archiso /]# passwd
这个自己设置就好了,注意终端里 # 开头表示以 root 身份执行命令,普通用户身份是 $
[root@archiso /]# pacman -S intel-ucode
采用 grub2
安装 os-prober,用于配合 grub 检测已经存在的系统和自动设置启动选项
[root@archiso /]# pacman -S os-prober
安装 grub
[root@archiso /]# pacman -S grub
部署 grub
注意最后一项是磁盘的名字,而不是刚才划出来的分区名
[root@archiso /]# grub-install --target=i386-pc /dev/nvme0n1
Installing for i386-pc platform.
Installation finished. No error reported.
生成配置文件
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
Found Windows 10 on /dev/nvme0n1p1
报了上述错误,据说重启再输入一遍这条命令即可,对我来说确实是这样,但是重启后一定要把 U 盘拔掉,报的错误是 /dev/sda1
,这个分区在 U 盘上。
检测是否安装成功
[root@archiso /]# vim /boot/grub/grub.cfg
文件尾部能够找到 win10 所在的分区
如果还有其他错误参考这里
[root@archiso /]# exit
[root@archiso /]# reboot
注意你现在的系统还没有那么流弊,每次开机之后都要手动联网,甚至密码都要重新输入
有线
[root@archiso /]# dhcpcd
无线
[root@archiso /]# wifi-menu
交换文件可以在物理内存不足的时候将部分内存暂存到交换文件中,避免系统由于内存不足而完全停止工作。之前我们通常采用单独一个分区的方式作为交换分区,现在更推荐采用交换文件的方式,更便于我们的管理。
[root@archiso /]# fallocate -l 512M /swapfile(分配交换空间)
[root@archiso /]# chmod 600 /swapfile(更改权限)
[root@archiso /]# mkswap /swapfile(设置交换文件)
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=...
[root@archiso /]# swapon /swapfile(启用交换文件)
[root@archiso /]# vim /etc/fstab(为交换文件设置入口)
最后新加一行输入 /swapfile none swap defaults 0 0
[root@archiso /]# useradd -m -G wheel jasonchan
/home
目录下创建一个与用户名同名的文件夹,具有以下优点: vim
的配置文件~/.vimrc
,只要根据自己的使用习惯配置一次, 在另一个Linux
系统下(例如你的服务器)把这个文件复制到家目录下,就可以完全恢复配置。[root@archiso /]# passwd jasonchan
安装 sudo
[root@archiso /]# pacman -S sudo
配置 sudo
[root@archiso /]# visudo
专门用于编辑 sudo
的配置文件,能够帮助检查文件的格式,找到 # %wheel ALL=(ALL)ALL
去掉 # 注释,保存并退出。
这一步将 wheel 这个组的所有用户都分配了 sudo
权限
大多数电脑是 Intel 的集显(不是集显也推荐按照集显安装驱动),NVIDIA 的独显驱动并非必需品。如果集显驱动装不上可以试一试独显的
[root@archiso /]# sudo pacman -S xf86-video-intel
桌面环境需要图形服务的支持,这里选择开源图形服务 xorg
, 安装其所有组件即可
[root@archiso /]# sudo pacman -S xorg
如果想自己选择,可以参考这里。本文仅对 xfce
和 KDE(Plasma)
进行介绍
xfce
[root@archiso /]# sudo pacman -S xfce4 xfce4-goodies
KDE(Plasma)
[root@archiso /]# sudo pacman -S plasma kde-applications kde-l10n-zh_cn
以上两个任选其一即可,也可以都安装,默认是 KDE。安装完之后需要安装桌面管理器,这里采用 sddm
,它可以帮助我们登录以及选择桌面环境
[root@archiso /]# sudo pacman -S sddm
[root@archiso /]# sudo systemctl enable sddm(开机自动启动)
最好在安装完重启前执行
在没有图形化界面时我们采用的网络配置服务是 netctl
,有了桌面环境之后可以使用 NetworkManager
[root@archiso /]# sudo systemctl disable netctl(禁用 netctl)
[root@archiso /]# sudo systemctl enable NetworkManager(启用 NetworkManager)
[root@archiso /]# sudo pacman -S network-manager-applet
至此,重启电脑就可以选择图形化界面和用户登陆了
# TODO