archlinux安裝手記(Win10+Arch、GPT+UEFI、lvm)


准備工作

工具和必要技能

  • 划分一定量的磁盤空間用於linux安裝(推薦至少30G)

  • 在bios設置中關閉啟設置中的安全啟動(如有沒有該設置則略過,對archlinux使用安全啟動可參考archwiki-Secure Boot)

  • 互聯網(安裝需要聯網)

  • U盤(使用u盤安裝方便許多)

  • Arch Linux ISO文件(在該頁面根據國家和地區選擇網站,下載.iso文件)

  • nano或vim基本操作技能(安裝過程中編輯配置文件)

  • 啟動盤制作工具(制作啟動盤)

    dd if=/path/arch.iso of=/dev/sdb bs=10M
    

    /path/arch.iso是archlinux的ISO文件的路徑,sdx是U盤的設備編號如sda、sdb、sdc等(可插上優盤后在終端用df -h命令查看),10M是讀寫塊的大小(默認512b)。


插上U盤啟動盤,使用USB啟動(不同設備方法不同),計算機載入U盤上的系統后,回車選擇第一項(默認)進入,等待一切載入完畢……

分區和掛載

可以先使用lsblk查看所有硬盤情況,使用fdisk -l /dev/sda查看硬盤a的情況(硬盤b則為/dev/sdb ),確定系統安裝位置。

分區工具cfdisk的簡單使用:

  • 查看整個磁盤的情況 cfdisk /dev/sda (第二塊硬盤則是cfdisk /dev/sdb
  • 利用箭頭進行上下左右移動,選中項會高亮顯示,回車鍵確定操作。
  • New用於新建分區,輸入新建分區的大小並回車,建立了一個分區。
  • Delete刪除當前選中的分區。
  • Type選擇分區類型。
  • Write用於保存操作。
  • quit退出(直接輸入q亦可)。

如果硬盤未進行划分,執行cfdisk即會提示選擇分區方式,如今建議使用GPT 。以下基於GPT+UEFI敘述創建分區(MBR在其中亦有說明)。


分區建立和格式化

  • EFI系統分區(又稱為esp,以下均以esp稱呼)

    GPT使用esp引導系統,在linux中將esp掛在的/boot ,linux的啟動文件置於該分區中。

    • 如果不存在esp,創建一個類型為EFI system的分區(以下假設esp使用/dev/sda1) ,並對其格式化:

      mkfs.vfat /dev/sda1    #1. 格式化esp
      
    • 如果已經存在一個esp(例如已經有一個Windows系統,且打算保留),則不要對其進行格式化,否則造成其他系統無法啟動。

  • 其他分區

    • 使用cfdisk新建root分區(推薦20G以上,假設為/dev/sda2)home分區(最好單獨分區,假設為/dev/sda3)和swap分區(可選,假設為/dev/sda4)等,然后格式化各個分區:

        mkfs.ext4 /dev/sda2    #格式化root
        mkfs.ext4 /dev/sda3    #格式化home
        mkswap /dev/sda4       #格式話swap
      
    • LVM分區法

    這里使用lvm,將root、home和swap均放置到一個卷組(vg)中。(LVM相關查看archwiki:lvm

    先用cfdisk建立一個分區(假設為/dev/sda2 ),再建立物理卷->建立卷組->建立邏輯卷->格式化邏輯卷:

    #1.建立物理卷:在 /dev/sda2建立物理卷
    pvcreate /dev/sda2
    #2.建立卷組:新建名為linux的卷組並將sda2加入到卷組中
    vgcreate linux /dev/sda2
    #3.建立邏輯卷:在linux卷組中建立root、swap和home邏輯卷
    lvcreate -L 30G linux -n root
    lvcreate -L 4G linux -n swap
    lvcreate -L 100G linux -n home
    # lvcreate -l +100%FREE linux -n home  #3.2.1  用linux卷組中所有剩余空間建立home邏輯卷
    
    mkfs.ext4 /dev/mapper/Linux-root    #格式化root
    mkfs.ext4 /dev/mapper/Linux-home    #格式化home
    mkswap /dev/mapper/Linux-swap       #格式化swap
    

分區掛載

  • 一般分區法
mount /dev/sda2 /mnt         #掛載root分區
mkdir /mnt/boot /mnt/home    #建立boot和home掛載點
mount /dev/sda1 /mnt/boot    #掛載esp到/boot
mount /dev/sda3 /mnt/home    #掛載home分區到/home
swapon /dev/sda4        #激活swap
  • lvm分區法
mount /dev/mapper/linux-root /mnt    #掛載root分區
mkdir /mnt/boot /mnt/home    #建立boot和home掛載點
mount /dev/sda1 /mnt/boot    #掛載esp到/boot
mount /dev/mapper/linux-home /mnt/home    #掛載home邏輯卷到/home
swapon /dev/mapper/linux-swap    #激活swap

基礎安裝

以下安裝過程中遇到需要選擇的地方,如不清楚如何選擇,可直接回車。

配置鏡像源

在安裝前最好選擇較快的鏡像,以加快下載速度。
編輯 /etc/pacman.d/mirrorlist,選擇首選源(按所處國家地區關鍵字索搜選擇,如搜索china),將其添加到文件開頭,保存並退出。一些中國地區鏡像源如:

Server = https://mirrors.ustc.edu.cn/archlinux/repo/os/arch
Server = https://mirrors.163.com/archlinux/repo/os/arch

連接網絡

dhcpcd    #有線網絡
wifi-menu    #無線網絡 執行后會掃描網絡 選擇網絡並連接即可
ping -c 5 z.cn  #可先測試連接情況

安裝基礎系統

pacstrap /mnt base base-devel

建立fstab文件

genfstab -U /mnt > /mnt/etc/fstab
cat /mnt/etc/fstab    # 檢查生成的 /mnt/etc/fstab 文件是否正確

進入系統

arch-chroot /mnt

激活lvm2鈎子

使用了lvm安裝,需要執行該步驟,否則跳過。

編輯/etc/mkinitcpio.conf文件,找到類似字樣:

HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

在block 和 filesystems之間添加lvm2(注意lvm2和block及filesystems之間有一個空格),類似:

HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"

再執行:

mkinitcpio -p linux

用戶管理

  • 用戶和密碼
passwd     #設置或更改root用戶密碼  接着輸入兩次密碼(密碼不會顯示出來)
useradd -m -g users -s /bin/bash user1    #添加新普通用戶  user1是新建的用戶名
passwd user1    #設置或更改user1用戶密碼 接着輸入兩次密碼
  • sudo用戶
chmod u+w /etc/sudoers
echo  'user1 ALL=(ALL) ALL' >> /etc/sudoers    #將user1加入sudo

設置時區

windows用戶還需參考后文windows和linux統一使用UTC

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    # 設置時區 示例為中國東八區標准時間--Asia/Shanghai
hwclock --systohc --utc     #使用utc時間 推薦

主機名

echo MyPC > /etc/hostname

MyPC是要設置的主機名。

網絡配置

systemctl enable dhcpcd    #開機自啟動有線網絡  當然也可以手動執行 dhcpcd 連接
pacman -S iw wpa_supplicant dialog    #無線網絡需要安裝這些工具

參看網絡配置了解更多。

注意:linux自帶的linux-frimware已經支持大多數驅動,如果某些設置不能使用,參看archwiki:網絡驅動

系統引導

#安裝引導程序 grub 和 efi管理工具
pacman -S grub efibootmgr --noconfirm
# 如安裝有多系統 需安裝 os-prober
pacman -S os-prober
# 安裝引導  使用了efi的情況
grub-install --efi-directory=/boot --bootloader-id=grub
# 生成引導配置
grub-mkconfig -o /boot/grub/grub.cfg

注意:os-prober可能需要在系統安裝完畢后,重啟進入系統再次執行生成引導配置命令就能檢測到其他系統。

至此基礎的系統安裝完成,可以連續按兩次ctrl+d ,輸入reboot重啟並拔出u盤。

提醒:如果使用多系統,安裝了os-prober,重啟后再后執行一次

grub-mkconfig -o /boot/grub/grub.cfg

如果雙系統用戶直接進入了Windows系統,可參看選擇grub為第一啟動項

系統配置

圖形界面

顯卡驅動

首先需要了解設備的顯卡信息,也可是使用lspci | grep VGA查看。根據顯卡情況安裝驅動:

pacman -S xf86-video-vesa     #通用顯卡
pacman -S xf86-video-intel     #intel集成顯卡
pacman -S xf86-video-ati        #amd/ati
pacman -S nvidia                       #nvidia

雙顯卡設備,可參看后文雙顯卡管理

桌面環境/窗口管理器

安裝一個桌面環境或者窗口管理器

pacman -S plasma sddm --noconfirm && systemctl enable sddm
pacman -S gnome gdm --noconfirm && systemctl enable gdm
pacman -S xorg-server xorg-xinit  --noconfirm    #安裝窗口管理器也必須安裝這兩個包
pacman -S i3
pacman -S awesome

窗口管理還需要自行配置顯示管理器xinitrc

字體

參看archwiki:fonts選擇安裝字體。

  • 終端等寬字體,如ttf-dejavu
  • 數學和符號字體,如ttf-symbola(包含emoji表情,emoji也可安裝noto-fonts-emoji
  • 中文字體參看下文中文顯示

中文本地化

參看ArchLinux中文本地化

  • Locale設置

編輯/etc/locale.gen,根據本地化需求移除對應行前面的注釋符號(#),Locale 決定了可使用的語言、書寫習慣和字符集。以中文用戶常用locale為例,選擇英文(美國)UTF-8、簡體中文GBK、簡體中文UTF-8和繁體中文UTF-8,去掉這些行之前前面#號:

en_US.UTF-8 UTF-8
zh_CN.GBK
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

保存退出后執行:

locale-gen

中文顯示

安裝中文字體如:

pacman -S wqy-micorhei    #文泉驛微米黑
pacman -S adobe-source-han-sans-cn-fonts    # 思源黑體
pacman -S ttf-arphic-uming    #文鼎明體

更多字體參看中日韓越字體 ,中文顯示異體字形參看該文的修正簡體中文顯示為異體(日文)字形

中文輸入

可選擇fcitxibus

  • fcitx本體帶有:拼音(主流雙拼支持)、二筆、五筆(支持五筆拼音混輸)等,
pacman -S fcitx  fcitx-im fcitx-configtool     #安裝fcitx

pacman -S fcitx-cloudping        #雲拼音插件(推薦拼音用戶安裝)
pacman -S fctix-rime                    #rime中州韻(即小狼毫/鼠須管)引擎
pacman -S fcitx-libpinyin           #智能拼音(支持搜狗詞庫)
pacman -S fcitx-sogoupinyin    #可使用搜狗拼音(自帶雲拼音)

環境變量設置:在``/etc/environment`添加

export GTK_IM_MODULE=fcitx

export QT_IM_MODULE=fcitx

export XMODIFIERS="@im=fcitx"

  • ibus
pacman -S ibus  ibus-qt        #ibus本體 ibus-qt保證在qt環境中使用正常
pacman -S ibus-pinyin         #拼音
pacman -S ibus-libpinyin    #智能拼音(支持搜狗詞庫)
pacman -S ibus-rim               #rime

初次啟用:

ibus-setup

環境變量設置:在/etc/environment添加:

export GTK_IM_MODULE=ibus

export XMODIFIERS=@im=ibus

export QT_IM_MODULE=ibus

聲音

桌面環境用戶可略過

窗口管理器用戶可以安裝alsa-utils管理聲音,安裝該包后筆記本可以使用相應的快捷鍵進行控制。更多信息查看ALSA安裝設置

pacman -S alsa-utils
alsamixer    #安裝上一個包后可使用該命令控制聲音設備

軟件包管理器

pacman

更多信息查看[archwiki:pacman]((https://wiki.archlinux.org/index.php/Pacman_(簡體中文))

  • 常用命令
pacman -Syu    #升級整個系統
pacman -S name    #安裝軟件
pacman -Ss words    #查詢有某關鍵字的軟件 words即是要查詢的關鍵字
pacman -R name    #移除某軟件但不移除其依賴
pacman -Qi name   #查看已經安裝的某軟件的信息
  • pacman 設置
    配置文件在/etc/pacman.conf,編輯該文件:

    • 彩色輸出:取消#Color中的#號。

    • 升級前對比版本:取消#VerbosePkgLists中的#號。

    • 社區鏡像源:在末尾添加相應的源,中國地區社區源archlinuxcn

      例如添加archlinuxcn.org的源

      [archlinuxcn]

      SigLevel = Optional TrustedOnly

      Server = http://repo.archlinuxcn.org/$arch

      添加完后執行: pacman -Syu archlinuxcn-keyring

AUR和yaourt

AUR(Arch User Repository)是為用戶而建、由用戶主導的Arch軟件倉庫。aur軟件可以通過yaourt等輔助管理器搜索、下載和安裝,或者從aur.archlinux.org中搜索下載,用戶自己通過makepkg生成包,再由pacman安裝。

  • aur工具yaourt
pacman -Syu yaourt

注:yaourt前不能使用sudo,root用戶也不能使用yaourt ,卸載軟件依然使用pacman相關命令。yaourt基本命令:

yaourt words    #搜索關鍵字 words是要搜索的關鍵字
yaourt -Syua    #更新整個系統
yaourt -S name    #安裝軟件
yaourt -Qdt    #查找孤兒包

此外可使用 pacman圖形化的前端工具,如tkpacman:

yaourt -S tkpacman vte

設備連接

觸摸板

桌面用戶無需安裝,窗口管理器用戶安裝:

pacman -S xf86-input-synaptics

藍牙

桌面用戶忽略該小節。窗口管理器用戶:

pacman -S bluez
systemctl enable bluetooth
usermod -aG lp user1    #user1是當前用戶名

藍牙控制:命令行控制安裝bluez-utils,使用參考通過命令行工具配置藍牙;或者安裝藍牙圖形界面工具blueberry

NTFS分區

桌面環境的文件管理器一般都能讀取NTFS分區的內容,但不一定能能夠寫入。可使用ntfs-3g掛載:

pacman -S ntfs-3g       #安裝
mkdir /mnt/ntfs          #在/mnt下創建一個名為ntfs掛載點
lsblk                                 #查看要掛載的ntfs分區 假如此ntfs分區為/dev/sda5
ntfs-3g /dev/sda5 /mnt/ntfs       #掛載分區

U盤和MTP設備

桌面環境一般能自動掛載。窗口管理器用戶:

pacman -S udiskie udevil
systemctl enable devmon@username.service    #username是用戶名
pacman -S libmtp

​ 在/media目錄下即可看到掛載的移動設備。

  • 使用gvfs gvfs-mtp(xfce、lxde等桌面如果不能掛在mtp,也可安裝gvfs-mtp
pacman -S gvfs    #可自動掛載u盤
pacman -S gvfs-mtp    #可自動掛載mtp設備

其他配置(問題解決)

選擇grub為第一啟動項

安裝系統后重啟,直接進入了windows ,因為windows的引導程序bootloader並不會將linux啟動項加入到啟動選擇中,且windows的引導程序處於硬盤啟動的默認項。
進入BIOS,找到啟動設置,將硬盤啟動的默認啟動項改為grub(一般BIOS中按f5上調選項,f10保存)

無法啟動圖形界面

參看前文圖形界面 。原因可能是:

  • 沒有安裝顯卡驅動(雙顯卡用戶需安裝兩個驅動)
  • 沒有正確安裝圖形界面
  • 沒有自啟動圖形管理器或xinintrc書寫錯誤

非root用戶(普通用戶)無法啟動startx

重裝一次xorg-server

關閉windows快速啟動

windows快速啟動導致無法進入Linuxwindows開啟了快速啟動可能導致linux下無法掛載,提示如

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.

等內容。需要在windows里面的 電源選項管理 > 系統設置 > 當電源鍵按下時做什么, 去掉勾選啟用快速啟動。
或者直接在cmd中運行:powercfg /h off

高分辨率(HIDPI)屏幕字體過小

桌面環境設置中可調整。參考archwiki-hidpi

蜂鳴聲(beep/錯誤提示音)

去除按鍵錯誤時、按下tab擴展時、鎖屏/注銷等出現的“嗶~”警告聲。參考archwiki-speaker

rmmod pcspkr    #暫時關閉
echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf   #直接屏蔽

雙顯卡管理

如果不需要運行大量耗費GPU資源的程序,可以禁用獨立顯卡,只使用核心顯卡。

可執行以下命令關閉獨立顯卡:

su    #必須切換到root用戶才能執行下一條命令
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch  #注意,如果使用了bbswtich那么應該是沒有這個文件的!

或者屏蔽獨立顯卡相關模塊,如nvidia設備執行:

lsmod | grep nvidia | cut -d ' ' -f 1 > /tmp/nvidia
lsmod | grep  nouveau | cut -d ' ' -f 1 > > /tmp/nvidia
sort -n /tmp/nvidia | uniq >  /tmp/nvidia.conf#去重
sed -i 's/^\w*$/blacklist &/g' /tmp/nvidia.conf  #添加blacklist
sudo cp /tmp/nvidia.conf /etc/modprobe.d/nvidia.conf  #移動

重啟后,lspci |grep NVIDIA檢查NVIDIA開啟情況。如果輸出內容后面的括號中出現了 (rev ff) 字樣則表示該顯卡已關閉。

在Linux中可使用以下方法來切換顯卡。參看相關資料:

科學上網

  • hosts:在/etc/hosts文件中加入hosts內容即可,可參考googelhosts

    echo "alias hosts='sudo wget https://raw.githubusercontent.com/googlehosts/hosts/master/hosts-files/hosts'"  >> ~/.bashrc  && source ~/.bashrc
    

    執行hosts即可從指定網址更新。

  • lantern:安裝lantern

  • shadowsocks項目

    • archwiki:shadowsock(簡體中文)

    • socks代理 — proxychains

      配置:編輯/etc/proxychains.conf文件,設置socks5 127.0.0.1 1080

      使用:proxychains [命令或者程序名]

SSD固態硬盤相關

參看:Solid State Drivesssd固態硬盤優化

windows和linux統一使用UTC

Windows使用本地時間(Localtime),而Linux則使用UTC(Coordinated Universal Time ,世界協調時),更改windows注冊表使windows也使用utc時間。

  1. 在windwos新建文件utc.reg,寫入:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

保存后,雙擊該文件運行,以寫入注冊表。

  1. windows調整為正確時間后,重啟系統,在BIOS中根據當地所用的標准時間來設置正確的UTC時間。(例如在中國使用的北京時間是東八區時間,根據當前北京時間,將BIOS時間前調8小時)。

wayland

wayland不會讀取.xprofile和xinitrc等xorg的環境變量配置文件,故而不要將某些軟件的相關設置寫入到上訴文件中,可寫入/etc/profile、 /etc/bash.bashrc 和/etc/environment。參考archwiki-waylandarchwiki-環境變量wayland主頁

筆記本電源管理

參看laptop筆記本相關

常用軟件

參考看:archwiki:軟件列表awesome linux softwares我的軟件列表gnome配置……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM