1. 程式人生 > >Archlinux安裝指南(uefi+gpt)

Archlinux安裝指南(uefi+gpt)

div ioc file pan ror variable 分區表 ash pass


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)