有着一股子骚劲和适合写代码这两点优势混合的Archlinux让我有着足够动力去尝试这个新玩意,在Win10上装Arch的双系统和单装Arch还是有一些不一样的,在装的过程中,踩了不少坑,浪费了很多时间,在此总结一下,希望给各位入坑的时候走得顺利一点。
Win10(UEFI)
怎么看自己的系统是否是UEFI版呢?如果在磁盘管理上看见有个100M左右的分区,那么那个分区一般就是EFI分区了。
为什么这要是UEFI版呢?因为我在装双系统的时候,arch的内存是从C盘割出来的,这块割出来的分区我这里是sda4了,而装arch至少需要两个分区,一个是/mnt用于装arch系统和七七八八的东西,一个是/mnt/boot/EFI,用于存储系统启动项。在arch中,EFI分区的格式通常是fat32,这与/mnt的ext4不同,所以这两个一般是不同分区,而在我的电脑上只割了一块内存给arch,如果再割一小块也很麻烦,当然这不是主要原因,主要原因是在系统启动上,相比于传统Bios+Arch的方法,Win10(UEFI)系统本身就有一个EFI分区,用于存放Win10的启动项,在这,我们直接将win10的EFI分区(我这里是sda1)挂载在/mnt/boot/上,将Win10的这个EFI分区也作为Arch的EFI分区,最后装了Arch以后,EFI文件夹里面就会既有Arch也有Win10的启动项,这时就会在开机的时候提供选择,如果是传统Bios+Arch,要让电脑选择从哪个文件夹下加载启动项会麻烦一点。关于了解EFI分区可以看:https://blog.itswincer.com/posts/ad42f575/。
至于怎么装win10就不解释了,另请高就吧。
正式开始
1.制作一块Archlinux的系统盘,注意要用RAW写入方式。
2.给电脑分出一块区域用于装arch。
3.插入U盘,从U盘启动,启动成功后选第一项。
4.联网:
wifi-menu
5.加入镜像源:
nano /etc/pacman.d/mirrorlist
将文件中的第一项改为清华或者中科大的镜像,这样后面下系统等会快很多。例如:将镜像站:mirrors.xxxxxx.com/……的xxxxxx改为tuna.tsinghua.edu.cn
6.分区
fdisk /dev/sda*
这里的sda*为你划分出来给arch的那个分区(我这里是sda4)。1.执行命令后会让你给出指示命令,我们先给一个g,表示建立分区表,2.然后再给一个n,表示要正式建立分区了,回车,3.然后会让你给出分区起始位置,回车使用默认就行、4.接着会让你给出结束分区位置,我们继续回车、5.然后又让我们给出指示命令,这次我们给一个w表示保存退出。
7.格式化分区
mkfs.ext4 /dev/sda*
这里的sda*为刚刚做的那个分区。
8.挂载分区(重点)
这里我们要挂载两个分区到两个地方:1./mnt(用刚刚创建的那个分区,我这里是sda4) 2./mnt/boot(用win10的EFI分区,我这里是sda1)
mount /dev/sda4 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
注意根据自己的情况改上面的sda4和sda1。
9.安装基本软件包
pacstrap -i /mnt base
10.生成fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
如果想避免efi分区在开机时总是被检查,可以把/boot那一行下最后的数字改成0。 例如我的efi分区是/dev/sda1,修改之后就是:
#/dev/sda1
9 UUID=E0A6-B270 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
11.转换到新系统
arch-chroot /mnt /bin/bash
12.配置新系统
-
设置Locale
使用nano /etc/locale.gen,注释掉en_US.UTF-8 UTF-8、zh_CN.UTF-8 UTF-8 -
生成locale.gen和locale.conf文件
locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf
-
选时区、设置硬件时钟
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc --utc
-
设置root密码
passwd
-
安装bootloader用于启动(重点)
按照上面的步骤,efi分区应该被挂载到了/boot目录下。这时,我们需要安装bootloader:bootctl install cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/
-
修改arch.conf文件(重点)
blkid -s PARTUUID -o value /dev/sda4 #注意这个sda4是arch的那个分区,而不是EFI那个分区! #这时会出现分区的UUID,记下来,我们要用这个UUID修改conf文件 nano /boot/loader/entries/arch.conf #使用刚刚获得的UUID加进去,再在后面加个rw,格式大概如下: /boot/loader/entries/arch.conf title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
-
修改loader.conf文件,
nano /boot/loader/loader.conf
改为:
timeout 3 default arch
-
设置主机名
echo myhostname > /etc/hostname
myhostname改为你自己喜欢的主机名就行。同时,修改/etc/hosts为:(myhostname就是你自己起的名字)
# <hostname.domain.org>127.0.0.1 localhost.localdomain localhost myhostname ::1 localhost.localdomain localhost myhostname
-
设置网络
systemctl enable dhcpcd pacman -S iw wpa_supplicant dialog
这时新系统的配置就完成了,再去EFI分区看就会多了一个systemd出来,这里面存放的就是arch的启动项,重启后就会出现系统启动选择(有archlinux和window manage),并且延时是3秒。建议在这一步时先不重启,因为很可能会在重启后遇到wifi联网的问题,我们直接开始装桌面环境,再重启。
桌面环境
桌面环境这里是出现问题最多的,总的来说就是装的包不齐,或者装的包不兼容。这里提供两个桌面环境的安装,包括gnome+gdm和kde+sddm,两者只装其一就行!!!
装显卡驱动(重点)
我的是N卡,如下:
pacman -S nvidia nvidia-utils
千万不要漏装!
如果是A卡或者其他类型,参考:https://wiki.archlinux.org/index.php/Xorg_(简体中文) 中的驱动安装,按照那一节的表格安装
装xorg(重点)
pacman -S xorg xorg-utils xorg-server xorg-server-utils
千万不要漏装!
启动网络服务
systemctl enable NetworkManager.service
装桌面环境
gnome+gdm
pacman -S gnome
pacman -S gdm
systemctl enable gdm.service
systemctl start gdm.service
KDE+SDDM
pacman -S plasma kde-applications
pacman -S sddm
sddm --example-config >/etc/sddm.conf
systemctl enable sddm.service
其中使用file /etc/systemd/system/display-manager.service查看是否成功链接,成功链接的执行结果如下:
/etc/systemd/system/display-manager.service: symbolic link to /usr/lib/systemd/system/sddm.service
然后:
systemctl start sddm.service
然后就可以进去了。
桌面不显示中文
1.安装中文字体
2.修改语言
echo LANG=zh_CN.UTF-8 > /etc/locale.conf
装软件
给pacman加入archlinuxcn源:
sudo nano /etc/pacman.conf
添加下面三行文字到文件末尾:
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
然后更新一下软件库:
sudo pacman -Sy
装Chrome
pacman -S chrome
如果安装成功后,搜索发现没有chrome,是因为用的是root用户进入的系统,当你使用一个非root用户进入系统事就可以搜索到chrome并运行了,或者使用命令行启动,这时可能会有错误,按照系统建议修改命令行就可以启动了
装网易云音乐
pacman -S netease-cloud-music
这会和上面出现一样的情况。
装输入法
我喜欢用googlepinyin,当然,搜狗拼音是一样的操作。
pacman -S fcitx fcitx-configtool fcitx-im
不要漏哦!
pacman -S fcitx-googlepinyin
配置fcitx
用文本编辑器打开~/.xprofile,在其末尾添加以下几行:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
如果装的是KDE,还需要在/etc/environmenet后方也加入:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
重启桌面环境,就可以使用拼音了。
装Shadowsock-qt5+genpac
1.安装Shadowsocks-Qt5
pacman -S shadowsocks-qt5
2.添加自己的SS, 然后安装genpac
pip install genpac
3.生成pac文件:
进入到一个你想存放pac文件的目录,然后执行:
sudo genpac --proxy="SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" -o autoproxy.pac --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
注意其中的127.0.0.1:1080应与之前在Shadowsocks-Qt5添加SS里面的对应。
4.全局代理:
系统设置–>网络–>代理
使用代理自动配置URL–>选择刚刚生成pac文件
5.chrome上装SwitchyOmega
- 下载SwitchyOmega
- 在chrome地址栏上输入:chrome://extensions/
- 打开右上角的开发者模式
- 拖动SwitchyOmega到网页上安装
- 选择SwitchyOmega中的系统代理即可
装Anaconda
参见:https://zhuanlan.zhihu.com/p/32925500
装Tensorflow+caffe共存 gpu版
pacman -S cuda cudnn
conda create -n caffe-tf python=3.6.1
source activate caffe-tf
conda install caffe-gpu
conda install tensorflow-gpu
遇到的问题
1.systemctl start sddm后黑屏
可能的问题导致:显卡驱动没装齐、xorg包没装齐、检查sddm的软连接,用systemctl status sddm查看
2.重启后停在Reached target Fraphical Interface
问题:没有安装xorg-server
3.出现Signature from “User [email protected]” is unknown trust, installation failed
解决方案:
pacman -S archlinux-keyring
pacman -S archlinuxcn-keyring
参考
https://cuijiahua.com/blog/2017/12/dl_1.html
https://wiki.archlinux.org/index.php/Display_manager_(简体中文)
https://blog.csdn.net/java_xiaoer/article/details/51457259