Win10(UEFI)+Archlinux+Tensorflow+Caffe双系统安装血泪总结!

有着一股子骚劲和适合写代码这两点优势混合的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://wiki.archlinux.org/index.php/Pacman_(简体中文)#Signature_from"User<[email protected]>"_is_unknown_trust,_installation_failed

参考

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

https://zhuanlan.zhihu.com/p/32925500

http://www.linuxdiyf.com/linux/28807.html

猜你喜欢

转载自blog.csdn.net/LiGuang923/article/details/84332750