前言
之前安裝了manjaro-deepin,但太久沒用了,昨天更新系統后,出了點問題,重裝個新版本吧。
卸載manjaro
由於之前安裝了manjaro,默認開機引導程序是linux的Grub,那么首先應該把開機程序修改為windows的的Boot Manager(不然直接刪除linux后是不能正常開機的)。可以在windows使用EasyUEFI軟件修改,如下圖:
將Windows Boot Manager移到最上面后,刪除Manjaro條目就可以了,然后進入磁盤管理器將原來manjaro所占用硬盤刪除即可。然后再新建卷用於當做新的linux系統盤。
制作U盤啟動盤與安裝Arch
前提系統啟動類型是UEFI,如上面的圖,有個EFI系統分區就是的了。
-
下載Arch linux ISO,推薦使用種子或磁力接下載
-
下載Rufus用於制作U盤啟動盤
-
選擇鏡像格式化U盤(選擇分區類型GPT,目標系統類型為UEFI,其余默認即可)
-
將制作好的U盤啟動盤插上電腦(windows10),在系統設置的“更新和關於”里,選擇高級啟動,如下圖:
-
重啟時,選擇U盤啟動如下圖,進入使用設備,選U盤
-
選擇下圖中的第一個選項啟動
-
archlinux軟件包需要聯網下載,先ping下(沒有線網的話,看下面參考資料)
-
時間同步下,避免不能正確驗證證書的有效性
timedatectl set-ntp true
-
准備硬盤空間
將之前准備的linux空間100G刪除掉,用於當做arch linux的系統盤,之所以刪掉是為了避免分不清,比如我這里C盤也是100G。
使用lsblk查看硬盤對應的文件設備,觀察下,可以發現那個nvme0n1就是我們的硬盤(SSD),然后使用命令cgdisk進行划分硬盤空間。
cgdisk /dev/nvme0n1
后進入下面界面,進行划分空間。上下移動光標到准備后的磁盤上,然后左右移動關閉至New,然后按Enter,接下來會問幾個問題如下。
# 數字可能和汝看到的不一樣😂 # 起始扇區的位置,直接 Enter 就行 First sector (749424640-972906511, default = 749424640): # 大小,可以是扇區數,也可以是實際的大小(例如 100M,20G一類的),要用掉整個剩余空閑空間的話,直接 Enter 就行。 Size in sectors or {KMGTP} (default = 223481872): # 分區類型,默認的就好 # 但是如果要建立新的 EFI 系統分區的話 ,分區類型是 :code:`ef00` # 但是如果要建立新的 交換空間(就是虛擬內存啦)的話 ,分區類型是 :code:`8200` Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): # 設置卷標,不設置也行。 Current partition name is '' Enter new partition name, or <Enter> to use the current name:
NEW完過后就可以移動光標進行Write了,會彈出一個確認框,輸入
yes
,然后按Enter,下面會閃過The operation has completed successfully
,然后就可以退出了,移動光標到Quit上,按Enter退出。 -
創建文件系統與掛載
-
使用
lsblk -f
查看分區詳細信息,查看下剛新建的分區 -
使用mkfs將新建的分區格式化成ext4文件系統:
mkfs.ext4 /dev/nvme0n1p5
-
再次查看分區信息,確保創建文件系統成功
-
使用mount來掛載分區
# mount <設備名稱> <目標文件夾> # /mnt 挺合適的 root@archiso ~ # mount /dev/nvme0n1p5 /mnt # 掛載 EFI 系統分區的話,建議掛載到 /mnt/boot # 所以先建立相應的文件夾 root@archiso ~ # mkdir /mnt/boot root@archiso ~ # mount /dev/sda1 /mnt/boot
-
配置軟件倉庫鏡像地址
root@archiso ~ # nano /etc/pacman.d/mirrorlist
打開環境后,將China上面的Server刪除,然后新加幾個China的鏡像地址,如下# 網易 Server = http://mirrors.163.com/archlinux/$repo/os/$arch # 清華大學 TUNA 協會 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 中國科學技術大學 Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 西安交通大學 Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
輸入完以后按下 Ctrl+O 寫入,按 Enter 確定,再按 Ctrl+X 退出。接着用
pacman -Syy
刷新一下軟件包數據庫。 -
安裝基本的系統依賴
pacstrap /mnt base base-devel linux nano e2fsprogs
-
准備進入Chroot環境
-
生成fstab
fstab(5)文件可用於定義磁盤分區,各種其他塊設備或遠程文件系統應如何裝入文件系統。 每個文件系統在一個單獨的行中描述。這些定義將在引導時動態地轉換為系統掛載單元,並在系統管理器的配置重新加載時轉換。 在啟動需要掛載的服務之前,默認設置會自動fsck和掛載文件系統。例如,systemd會自動確保遠程文件系統掛載 (如NFS或Samba)僅在網絡設置完成后啟動。因此,在/etc/fstab中指定的本地和遠程文件系統掛載應該是開箱即用的。
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab
-
進入Chroot
root@archiso ~ # arch-chroot /mnt /bin/bash [root@archiso /] #
-
-
設置時間與調整時間標准
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc --utc
Tips:如果你在使用雙系統,那么需要讓Windows使用UTC作為硬件時鍾,否則2個系統時間會不一樣。 在cmd中輸入Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
-
本地化配置
- /etc/locale.gen 是一個僅包含注釋文檔的文本文件。指定您需要的本地化類型,去掉對應行前面的注釋符號(#)就可以啦,還是用 nano 打開,建議選擇帶UTF-8的項:
# nano /etc/locale.gen en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
- 執行 locale-gen 以生成 locale 訊息:
# locale-gen
-
創建 locale.conf 並提交您的本地化選項:
將系統 locale 設置為en_US.UTF-8,系統的 Log 就會用英文顯示,這樣更容易問題的判斷和處理。用戶可以設置自己的 locale。
警告: 不推薦在此設置任何中文locale,或導致tty亂碼。
# echo 用來輸出某些文字,后面的大於號表示把輸出保存到某個文件里啦~ # 或者可以用文字編輯器新建這個文件加上這一行。 # echo LANG=en_US.UTF-8 > /etc/locale.conf
- 設置一個喜歡的主機名(用汝的主機名代替 myhostname ):
# echo myhostname > /etc/hostname
- 設置 root 的密碼(輸入密碼的時候就是啥也沒有 ╮( ̄▽ ̄)╭ ):
[root@archiso /]# passwd New password: Retype new password: passwd: password updated successfully
15.安裝啟動加載器GRUB
pacman -S efibootmgr dosfstools #efibootmgr 用於修改 UEFI 固件中的某些信息
pacman -S grub os-prober # 安裝GRUB
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg #生成必要的配置文件
- 設置Sudo
[root@archiso /]# EDITOR=nano visudo
現在大概像這個樣子:
GNU nano 3.2 /etc/sudoers.tmp
## sudoers file.
##
## This file MUST be edited with the 'visudo' command as root.
## Failure to use 'visudo' may result in syntax or file permission errors
## that prevent sudo from running.
##
## See the sudoers man page for the details on how to write a sudoers file.
##
##
## Host alias specification
##
## Groups of machines. These may include host names (optionally with wildcards),
## IP addresses, network numbers or netgroups.
# Host_Alias WEBSERVERS = www1, www2, www3
##
## User alias specification
##
[ Read 97 lines ]
^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos M-U Undo M-A Mark Text
^X Exit ^R Read File ^\ Replace ^U Uncut Text ^T To Spell ^_ Go To Line M-E Redo M-6 Copy Text
找到下面的這一行,然后把 %wheel 前面的注釋符號(#)去掉,不過百分號要留下:
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
-
安裝桌面環境(KDE)
1.首先安裝桌面環境需要的基礎包xorg
pacman -S xorg
默認就行,按Enter
2.安裝kde
pacman -S plasma sddm kde-applications
默認就行,按Enter
3.安裝中文字體
pacman -S adobe-source-han-sans-otc-fonts wqy-microhei wqy-zenhei
-
新建一個用戶
user add -m -G wheel tom # tom為用戶名 passwd tom
-
激活需要的服務
systemctl enable sddm # 啟用桌面顯示管理器 systemctl enable NetworkManager
-
設置用戶級別的local
su tom nano ~/.config/locale.conf
LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=
-
添加Arch Linux CN源
為了防止某些不在官方的倉庫的包下載時報
target not found
,需要添加CN源。編輯
/etc/pacman.conf
文件末尾添加兩行[archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
然后執行安裝
sudo pacman -S archlinuxcn-keyring
以導入 GPG key。 然后刷新源:sudo pacman -Syy
-
exit 退出,reboot重啟即可進入桌面環境
參考資料
本文大部分參考給 GNU/Linux 萌新的 Arch Linux 安裝指南 rev.B,比我寫的詳細,有不清楚的可以看看,本文主要是給自己看,哈哈。