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. Dynamics CRM 修改自定义实体名字及属性前缀(架构名称)

    本文章以2013为例(2011同理,4.0比较简单直接在系统设置的自定义中设置即可). 1.设置-->自定义项-->发布者,下图中的红框内的即为需要设置的前缀. 2.设置-->解决方 ...

  2. DBUtils学习总结

    这几天闲着无聊,就看了一下DBUtils这个数据库组件.中间有了一些想法,现在记录下来. 文章主要分几部分 1 最简单同时也是最经常使用的一些范例 2 学习源码前的一些知识储备 3 我自己写的mydb ...

  3. Cocos2D中的纹理大小计算

    纹理占用的内存大小是纹理尺寸乘以颜色深度. 图片文件的大小一般很小.一个初学者常见的错误是假设纹理内存使用量和图片大小一致. 哎,纹理内存(对于非压缩格式)的大小可以用以下伪代码来计算: pixelW ...

  4. ReentrantReadWriteLock读写锁的使用1

    本文可作为传智播客<张孝祥-Java多线程与并发库高级应用>的学习笔记. 一个简单的例子 两个线程,一个不断打印a,一个不断打印b public class LockTest { publ ...

  5. Android Notification 版本适配方案

    Notification 介绍见:https://developer.android.com/reference/android/app/Notification.html Android api 一 ...

  6. PS 图像调整算法— —渐变映射

    这个调整简单来说就是先建立一张lookup table, 然后以图像的灰度值作为索引,映射得到相应的颜色值.图像的灰度值是由图像本身决定的,但是lookup table 却可以各种各样,所以不同的lo ...

  7. 做自己的软件的Gallery(一)

    先上效果图: 如图,android默认也有Gallery,很多软件在调用时,都是使用自己的Gallery,一方面好维护,另外一方面可以做优化.要做成以上样式,图片加载类起至关重要,一不小心,就好OOM ...

  8. ViewPagerIndicator+viewpager指示器详解

    前几天学习了ViewPager作为引导页和Tab的使用方法.后来也有根据不同的使用情况改用Fragment作为Tab的情况,以及ViewPager结合FragmentPagerAdapter的使用.今 ...

  9. AndroidStudio加快Gradle速度的方法-android study之旅(103)

    方法1 打开setting,搜索compiler ,按照如图配置,不要问我为什么,宝宝心里苦~ 方法2 到开项目的根目录的gradle.properties ,把下面的注释解除 org.gradle. ...

  10. 【图片版】学习CSS网格布局

    简言 CSS网格布局(Grid)是一套二维的页面布局系统,它的出现将完全颠覆页面布局的传统方式.传统的CSS页面布局 一直不够理想.包括table布局.浮动.定位及内联块等方式,从本质上都是Hack的 ...