1.系统安装前的一些准备

首先在Archlinux官网下载镜像文件,然后刻录到U盘或光盘上。在我的机器上刻录arch镜像文件到U盘后启动不了,因为时间问题我没做过多的探索,所以后面直接刻录到光盘,用光驱启动成功(我用的刻录工具是软碟通)。 
加载完成进入系统后,首先用parted分区工具对硬盘进行分区。以下是用pared工具分区的示例: 
分区情况: 
硬盘分区 挂载点 文件系统 
/dev/sda1 /boot/efi vfat 
/dev/sda2 /boot ext2 
/dev/sda3 swap 
/dev/sda4 / btrfs 
/dev/sda5 /var btrfs 
/dev/sda6 /usr btrfs 
/dev/sda7 /home btrfs 
首先在终端里输入命令parted进入分区界面

#parted /dev/sda  //若对其他硬盘分区,把sda改为sdb或sdc等
  • 1

然后建立gpt分区表,注意:这步会擦除硬盘上的所有数据!如果此硬盘装有其他系统,或者要装双系统的同学,则可跳过建立GPT分区表和ESP分区这两部。一般装有win10系统的电脑已经建有ESP分区,可以直接使用。

#(parted)mklabel gpt   //(parted)前缀表示已进入parted分区工具界面,可进行分区操作。
  • 1
  • 2

建立ESP分区,用于挂载efi分区(uefi模式必须要有efi分区)

# (parted)mkpart primary 2048s  512M  
  • 1

建立其他分区(分区数量因人而异,也可以只划分swap分区和/分区)

#(parted)mkpart primary 512  812M  //boot分区大小为300M
#(parted)mkpart primary 812 663440M //swap分区,大小为4G, //若机器内存>=4G并且不需要休眠功能的话则可以不需要交换分区.
#(parted)mkpart primary 663440 673680M //根分区,大小为10G
#(parted)mkpart primary 673680 689040M //var分区,大小为15G
#(parted)mkpart primary 689040 709520M //usr分区,大小为20G
#(parted)mkpart primary 709520 -1 //home分区,大小为硬盘的剩余大小。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意:分区时注意4k对齐

设定ESP分区标志为boot

#(parted)set 1 boot on  
  • 1

查看

#(parted)q
  • 1

退出parted

#(parted)q
  • 1

查看硬盘的分区情况

#lsblk -l
  • 1

接下来格式化硬盘分区 
ESP分区格式化成fat32文件系统

#mkfs.vfat -F32 /dev/sda1     当询问是否覆盖文件的时候,选yes
  • 1

/boot分区格式化成ext2文件系统

#mkfs.ext2 /dev/sda2
  • 1

创建交换分区

#mkswap /dev/sda3     //若机器内存>=4G并且不需要休眠功能的话则可以不需要交换分区.
  • 1

其他分区格式化成btrfs,我个人比较喜欢这个文件系统,当然比较大众的文件系统是ext4

#mkfs.btrfs -f /dev/sda4   //-f参数是强制格式化,如果硬盘上有数据的话要加参数-f才能格式化硬盘分区。
#mkfs.btrfs -f /dev/sda5
#mkf.btrfs -f /dev/sda6
#mkfs.btrfs -f /dev/sda7
  • 1
  • 2
  • 3
  • 4

若使用ext4,则

#mkfs.ext4 -t /dev/sda4     //其他分区依次类推
  • 1
  • 2

然后挂载分区 
1.先挂载根分区到/mnt

#mount /dev/sda4 /mnt  //sda4为根分区,然后在sda4分区上建立所需的系统文件夹
#cd /mnt
#mkdir -v boot usr var home
//建立完成后检查一下/mnt下是否都有这几个文件夹
  • 1
  • 2
  • 3
  • 4

2.挂载/dev/sda2到/mnt/boot

#mount /dev/sda2 /mnt/boot
  • 1

3.然后在/mnt/boot里创建efi挂载点

#mkdir -v /mnt/boot/efi
#mount /dev/sda1 /mnt/boot/efi //挂载/dev/sda1到/mnt/boot/efi
  • 1
  • 2

4.挂载/dev/sda5 到/mnt/var

#mount /dev/sda5 /mnt/var
  • 1

5.挂载/dev/sda6到/mnt/usr

#mount /dev/sda6 /mnt/usr
  • 1

6.挂载/dev/sda7到/mnt/home

#mount /dev/sda7 /mnt/home
  • 1

7.激活swap分区

#swapon /dev/sda3    //若机器内存>=4G并且不需要休眠功能的话则可以不需要交换分区.
  • 1

至此,安装前的准备已完成。

2.基础系统安装

1.编辑/etc/pacman.d/mirrorlist文件

#nano /etc/pacman.d/mirrorlist
  • 1

只保留中国的源,顺便留一个美国的源和一个台湾的源,可以使用ctl+k去掉不需要的源,最后,用ctl+k(剪切)、ctl+u(粘贴)把剩下的源排顺序,建议把ustc和163的源放在最上面,因为这两个源速度真的很快。弄好后ctl+o保存变更,最后ctl+x退出编辑器。 
2.联网,没有网路用arch不现实

#wifi-menu   //选择无线网路;若是有线网路,arch已经自动启动dhcpcd来联网
  • 1

3.安装基本系统

pacstrap -i /mnt base base-devel    //安静的等待几分钟.....
  • 1

4.生成fstab文件

#genfstab -U -p /mnt >> /mnt/etc/fstab
  • 1

5.确认是否生成无误

#nano /mnt/etc/fstab
  • 1

fstab文件看上去是像这样的,以我的为例

#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda9
UUID=1603cd25-707d-4d04-a542-e612b8821010 / btrfs rw,noatime,ssd,space_cache,subvolid=5,subvol=/ 0 0 # /dev/sda2
UUID=1336841b-4b6a-4af4-a8e6-46747a2bb15e /boot ext2 rw,noatime,block_validity,barrier,user_xattr,acl,stripe=4 0 2 # /dev/sda1
UUID=E401-83AC /boot/efi vfat rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remo$ ................
//建议把relatime改成noatime(我的第二个挂载参数)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

6.chroot到新安装的系统

#arch-chroot /mnt
  • 1

3.系统安装后的一些配置

7.时区与编码(编辑locale.gen文件,去掉en_US.UTF-8,zh_CN.UTF-8,zh_CN.GBK,zh_TW.前面的#

#vi /etc/locale.gen  
  • 1

然后重建编码表

#locale-gen
  • 1

8.设置时区

#tzselect

#ln -S /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  

#hwclock --localtime  //同步本地时钟
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

10.设置主机名

#echo YourHostName > /etc/hostname  
  • 1

11.设置语言

# echo LANG=en_US.UTF-8 > /etc/locale.conf
  • 1

12.重要的一步,因为本次安装系统时,/usr分区是独立分出去的,所以必须要修改/etc/mkinitcpio.conf文件,否则安装完重启后不能进入新系统。

#nano /etc/mkinitcpio.conf  
  • 1

请按如下说明修改之。

第7行  把 MODULEA="" 修改为  MODULES="ahci btrfs"  //这项属于一般的优化问题,不改也可以。
第52行 HOOKS="base udev autodetect modconf block filesystems keyboard fsck" 在末尾加入usr shutdown
HOOKS="base udev autodetect modconf block filesystems keyboard fsck usr shutdown"
第60行 把COMPRESSION="xz"前面的#号去掉,xz的压缩效率更高。
  • 1
  • 2
  • 3
  • 4

别急,等下一步安装btrfs-progs时会自动更新.img文件! 
14.安装btrfs-progs(因为本次安装使用btrfs文件系统,所以要安装这个包;对于ext4文件系统可以不安装这些包,;其他文件系统,比如nilfs2,需要相应的安装nilfs-utils包)

#pacman -S btrfs-progs
  • 1

13.安装一些必要软件

pacman -S dialog wpa_supplicant  //安装联网软件,否则重启进入新     系统后不能连上wifi
pacman -S grub efibootmgr os-prober(双系统需要)
//然后安装引导管理器
#grub-install --efi-directory=/boot/efi --bootloader-id=grub
#grub-mkconfig -o /boot/grub/grub.cfg
  • 1
  • 2
  • 3
  • 4
  • 5

15.添加用户

#useradd -m -g users -G wheel -s /bin/bash 用户名
#passwd 用户名 //为用户设置密码
  • 1
  • 2

4.安装图形服务(xorg)

16.安装图形驱动

#pacman -S xorg-server xorg-xinit 
  • 1

17.安装触控板驱动

#pacman -S xf86-input-synaptics 
  • 1

18.安装显卡驱动(根据机器要求安装)

#pacman -S xf86-video-intel  //intel集成显卡驱动
#pacman -S xf86-video-amdgpu //amd集成显卡驱动
#pacman -S xf86-video-ati //ati显卡驱动
//可以使用pacman -Ss xf86-video 查询是否有自己需要的显卡驱动
  • 1
  • 2
  • 3
  • 4

4.安装图形服务(wayland)

若使用wayland图形服务

#pacman -S wayland  weston
  • 1

19.安装字体

#pacman -S ttf-dejavu wqy-microhei  
  • 1

5.安装桌面(gnome)

20.安装gnome桌面环境 
注意:新的gnome默认使用wayland,请注意下面关于wayland的配置。

#pacman -S gnome
  • 1

21.安装登录管理器gdm

#pacman -S gdm
#systemctl enable gdm.service //开机自动启动gdm
  • 1
  • 2

6.系统安装完成后的配置

22.安装fcitx输入法

pacman -S fcitx fcitx-im fcitx-configtool
  • 1

对于xorg,要配置.xinitrc文件,没有这个文件时要自己创建。

$nano ~/.xinitrc
添加以下内容
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
  • 1
  • 2
  • 3
  • 4
  • 5

若是wayland,则在/etc/environment里配置(此教程示例安装gnome3,它默认使用wayland,所以要配置/etc/environment,否则不能使用拼音输入法。)

#nano /etc/environment
在末尾添加以下内容
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
  • 1
  • 2
  • 3
  • 4
  • 5

23.添加archlinuxcn源 
在 /etc/pacman.conf 文件末尾添加两行:

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
  • 1
  • 2

然后安装 archlinuxcn-keyring 包以导入 GPG key

#pacman -S archlinuxcn-keyring
  • 1

24.安装yaourt

#pacman -S yaourt   //archlinux是社区用户软件仓库。
  • 1

25.安装sudo

pacman -S sudo   //为普通用户配置sudo权限
  • 1

然后配置/etc/sudoers,找到

## User privilege specification
##
root ALL=(ALL) ALL //在第79行
用户名 ALL=(ALL) ALL //在第80行添加这行,即可为普通用户添加sudo权限
  • 1
  • 2
  • 3
  • 4

26.安装搜拼音输入法(前提是安装了yaourt或添加了archlinuxcn源)

$yaourt -S fcitx-sogoupinyin   或
#pacman -S fcitx-sogoupinyin
  • 1
  • 2

27.安装networkmanager

#pacman -S networkmanager
#systemctl enable NetworkManager.service //开机启动网络管理程序,然而你没看错,这两个字母确实是大写。
  • 1
  • 2

28.为root设置密码,否则root密码默认为空,非常危险。

#passwd
  • 1

29.退出chroot环境,重启电脑进入刚安装好的arch

#exit    //退出chroot
#reboot //重启电脑
  • 1
  • 2

到此,已基本差不多完成archlinux系统的安装与设置

7.优化及注意事项

30.安装tlp电源管理软件

#pacman -S tlp tlp-rdw  //其他电脑
#pacman -S tlp tlp-rdw tp-smapi-dkms acpi-call-dkms //thinkpad电脑使用此项
  • 1
  • 2

tlp的配置文件在/etc/default/tlp内,可以根据自己的需求配置,对于笔记本在意续航时间的话可以配置成节能型,里面的参数设置已有详细说明。 
设置tlp开机启动

#systemctl enable tlp.service
#systemctl enable tlp-sleep.service
  • 1
  • 2

31.对于双显卡电脑禁用Nvidia显卡 
首先安装bbswitch

pacman -S bbswitch
  • 1

然后在/etc/modules-load.d下新建bbswitch.conf,并修改为如下内容。

bbswitch
  • 1

三,在/etc/modprobe.d/下新建bbswitch.conf,并修改为如下内容。

options bbswitch load_state=0 
  • 1

最后,在/etc/modprobe.d/下新建nouveau_blacklist.conf,并修改为如下内容。

blacklist nouveau
blacklist nvidiafb
  • 1
  • 2

对于有NVIDIA显卡的电脑,若想使用双显卡,可以用bumblebee来设置,由于在archlinux平台上鄙人没有使用过bumblebee来实现双显卡切换,只是简单禁用而已,所以此问题请参阅Bumblebee ArchWiki 
32.安装一些常用软件

yaourt -S netease-cloud-music //安装网易云音乐
pacman -S wps-office //安装金山办公软件
pacman -S zip unzip rar unrar p7zip //压缩与解压缩软件
pacman -S file-roller //归档管理器
pacman -S firefox //安装火狐浏览器
pacman -S google-chrome //安装谷歌浏览器

Archlinux安裝指南(uefi+gpt)的更多相关文章

  1. CentOS 7 編譯qBittorrent Web UI安裝指南

    前言 以下是安装qBittorrent教学. 适用于CentOS7或更新版本 适用于qBittorrent4.1.5或更新版本 安裝須知 qBittorrent基于libtorrent,所以必须先安装 ...

  2. archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

    准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...

  3. Flutter不完全安裝指南(AndroidStudio集成)

    Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.真心無力吐槽這些所谓的中文站以及社区的文档,整理一下安装流程吧. 本人是android开发,基于此基础上 ...

  4. ArchLinux借助Winetricks-zh安裝WineQQ8.1

    Wine是一个在x86.x86-64上容许类Unix操作系统在X Window System下运行Microsoft Windows程序的软件.Wine有另一个非官方名称,"Windows ...

  5. 鸟哥之安裝 CentOS7.x

    http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...

  6. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  7. BIOS+MBR模式 VS UEFI+GPT模式

     EFI与MBR启动的区别 大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘 ,更快速的启动win ...

  8. Windows 10安裝在USB外接硬碟(使用命令模式)

    微軟公司已經在2015年7月29日發佈Windows 10正式版,這個版本在使用介面上就像是Windows 7加上Windows 8的組合, 開始鍵與功能列回來了.微軟提供Windows 7與Wind ...

  9. 意外get接近完美的黑苹果 (UEFI + GPT)

    本人大学生一枚,对于高大上的 MAC OS 只能是摸摸口袋 咽咽口水啦.听说黑苹果,就是安装在普通的 pc 上的 MAC系统,那么对应的苹果电脑上的 MAC OS 系统就为白苹果了. 个人也想啃一口黑 ...

随机推荐

  1. Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)

    由于binder机制的存在,使得进程A可以访问进程B中的对象. Android系统Binder机制中的四个组件Client.Server.Service Manager和Binder驱动程序: 1. ...

  2. FFMPEG列出DirectShow支持的设备

    FFMPEG列出dshow支持的设备: ffmpeg -list_devices true -f dshow -idummy 举例: 采集摄像头和麦克风 ffmpeg -f dshow -i vide ...

  3. 证书,CSP与Openssl

    证书,CSP与Openssl 起因 最近在研究更安全的交互体系,自然想到的就是提供证书的交互方式.给用户分配一对公私钥,然后将私钥交给用户保管,用户在登录或者一些关键操作的时候通过私钥签名,从而保证其 ...

  4. 可靠联机的 TCP 协议

    可靠联机的 TCP 协议 在前面的 OSI 七层协议当中,在网络层的 IP 之上则是传送层,而传送层的数据打包成什么? 最常见的就是 TCP 封包了.这个 TCP 封包数据必须要能够放到 IP 的数据 ...

  5. Android实训案例(三)——实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果!

    Android实训案例(三)--实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果! 感叹离春节将至,也同时感叹时间不等人,一年又一年,可是我依然是android道路上的小菜鸟,这篇讲 ...

  6. HBase flush

    flush触发方式 1. Server端执行更新操作(put.delete.multi(MultiAction<R>multi).(private)checkAndMutate.mutat ...

  7. 百度编辑器上传视频音频的bug

    前言:UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码,百度Ueditor 支持多种后台语言上传 ...

  8. 数据库面试题目- ORACLE

    Posted on 2009-06-08 17:38 漠北的天空 阅读(110) 评论(0)  编辑 收藏 1.       列举几种表连接方式 Answer:等连接(内连接).非等连接.自连接.外连 ...

  9. java并发包分析之———concurrentHashMap

    一.Map体系 Hashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.synchronizedMap不算).Hashtable继承的是Dictionary(Hasht ...

  10. UML2.0

    一.系统过滤器使用说明 1.OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数.它有以下属性: Duration:缓存的时间,以秒为 ...