XPS13安装UEFI+rEFInd+Windows10+Archlinux(KDE)双系统
重度强迫症患者不能接受ubuntu系列的预装软件,笔记本没有网线接口server版的装了也没用(不知道为什么就算我用usb转接也还是不识别提示unknown device)
于是乎我便在周末花了一整天折腾了一下archlinux,中途重装了几次,还是很难调教的……在此记录一下。
环境:Dell XPS-9360 UEFI+rEFInd+Windows10+Archlinux(KDE)双系统
参考资料:
注意:本文有些部分需要根据实际情况填写,切勿照搬教程!!!
安装前准备
- 首先是一个U盘,用rufus把iso弄进去(GPT分区表),我这里必须要DD模式才行,要不然就是不识别。
- 然后划出一部分硬盘,我原先装windows时就留了50G正好,注意只要保持黑色的未分配就行。
- 重启进入UEFI,关掉secure boot,硬盘模式调成AHCI
- 重启按F12选USB的启动项然后选择Arch就进入安装模式了。
安装系统
Step1:分区
警告:该部分极其重要,请仔细核对您的代码,清楚理解您将要干的事情,提前备份好文件。
先看一下分区
fdisk -l
我这块硬盘叫/dev/nvme0n1
,然后进入parted
parted /dev/nvme0n1
防止分界点出现问题先改一下单位
unit MB
查看分区情况
p
这里显示的就是各个分区占用的位置,我留了50G的空间,中间会有一段不是连续的,所以我们就用这里了。
mkpart
然后输入名称、文件系统(ext4)、开始结束点(保险起见前后各留了1MB的空闲空间)
再看一下
p
看到原来不连续的中间多出了一块/dev/nvme0n1p11
,这就是我们分好的了。接着格式化刚才分好的分区
执行此操作前务必保证输出信息符合预期!
mkfs.ext4 /dev/nvme0n1p11
然后退出parted
quit
Step2:安装内核
这里为了避免联网的麻烦,我直接用网线接到路由器上然后通过USB转接上电脑,这样可以不用配置直接联网
首先挂载刚才分好的区
mount /dev/nvme0n1p11 /mnt
因为我们是EFI引导,也要把EFI分区挂载上,这里我们采取了挂载到/mnt/boot/efi
的方法
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
然后改一下源,不知道为什么我这里没有注释,先全部注释掉然后只开启中国的源
vim /etc/pacman.d/mirrorlist
:1,$s/Server/# Server/g
然后就是安装了
pacstrap /mnt base
生成fstab文件
genfstab -U /mnt >> /mnt/etc/fstab
保险起见最好再看一下
cat /mnt/etc/fstab
里面应该有一个/dev/nvme0n1p11
的UUID和ESP分区
然后进入系统
arch-chroot /mnt
Step3:基础设置
修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置时间标准
hwclock --localtime --systohc
也可以改成UTC,这里是为了和windows兼容
vi不太好用,先装一下vim
pacman -S vim
本地化
vim /etc/locale.gen
将en_US.UTF-8 UTF-8
和zh_CN.UTF-8 UTF-8
的注释去掉
然后生成locale信息
locale-gen
提交本地化选项
echo LANG=en_US.UTF-8 > /etc/locale.conf
不推荐在此设置任何中文locale,或导致tty乱码。
修改主机名
echo imwxz > /etc/hostname
添加到hosts
vim /etc/hosts
文件,中间一个tab分隔:
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 imwxz.localdomain imwxz
设置一下root密码:
passwd
为了方便重启之后联网,这里先装好
pacman -S networkmanager
systemctl enable NetworkManager.service
Step4:多系统配置
现在还不能重启,安装rEFInd
pacman -S refind-efi
refind-install
然后这里不要按照其他先安装linux的方法走,我尝试了半天重启后都进不了系统,最后还是看原版的wiki才发现了这么一句话(强烈谴责翻译的人)
When refind-install is run in chroot (e.g. in live system when installing Arch Linux) /boot/refind_linux.conf is populated with kernel options from the live system not the one on which it is installed. You will need to edit /boot/refind_linux.conf and adjust the kernel options manually. See #For kernels automatically detected by rEFInd for an example.
简单来讲就是需要手动修改一下
vim -o2 /boot/refind-linux.conf /etc/fstab
把refind-linux.conf
第一项修改一下:(UUID是安装分区/dev/nvme0n1p11
的)
"root=UUID=XXX rw quiet"
如果你觉得默认的难看可以换个皮肤,这里推荐 https://evanpurkhiser.com/rEFInd-minimal/这个相当漂亮的皮肤,安装过程里面有,就不复述了,当然里面的启动配置也可以改,网上搜搜就有。
现在可以ctrl+d然后重启啦
reboot
安装后配置
首先修复一下rEFInd的配置
rm /boot/refind-linux.conf
refind-install
然后设置一下用户名
useradd -m -G wheel -s /bin/bash imwxz
passwd imwxz
添加一下archlinuxcn源
vim /etc/pacman.conf
添加
[archlinux]
SigLevel=Optional TrustAll
Server=https://mirrors.ustc.edu.cn/archlinuxcn/$arch
接着安装各种软件
pacman -Syn yaourt ntp sudo
systemctl enable ntpd.service
visudo
然后去掉%wheel ALL=(ALL)ALL
的注释,保存退出
继续安装
pacman -S intel-ucode xf86-input-synaptics
vim /boot/refind-linux.conf
给第一项最后加上
initrd=/boot/initramfs-linux.img initrd=/boot/intel-ucode.img
桌面环境的安装
这里我用的是KDE的环境,由于不喜欢全家桶,只装了基础包plasma-desktop
pacman -S xorg-server xorg-xinit plasma-desktop sddm
systemctl enable sddm
然后挑一些配套和例如蓝牙配置等的装一下,具体自行在这里挑:https://www.archlinux.org/groups/x86_64/plasma/
修复windows
由于之前硬盘默认是RAID模式,修改成AHCI就运行不起来了,虽然重装可以解决问题,但是相信一个正常人都不会去重装的……(又要折腾)网上搜了一下,果然有解决办法
- 进windows看一看,没有意外的话是无法启动的
- 进UEFI,把硬盘模式修改回RAID,然后进入windows
- 点击“设置”-“更新和安全”-“恢复”-“高级启动”下的立即重启
- 进入windows修复界面,选【疑难解答】-【高级选项】-【启动设置】-【重启】
- 启动好之后就可以再次重启进入UEFI把硬盘模式改回去了,然后可以试试看,可以进windows了吧!
折腾之路永不停息……
重启进入archlunux,现在你的系统已经跑起来啦!然而要折腾的路还很长……例如蓝牙、声卡驱动,中文字体这些都需要你去搞……详细可以参考archwiki(真的很详细)
https://wiki.archlinux.org/index.php/General_recommendations
https://wiki.archlinux.org/index.php/List_of_applications
到这里教程就结束啦!装Arch真的是个体力活,就像盖房子,啥都要自己搞,不像ubuntu一键入住……然而也正因如此,你的系统里不会有ubuntu里的各种全家桶和不需要的东西,强迫症患者福音!