ArchLinux Vmware安裝指北 在本文開始之前,首先允許我提前聲明一點,Arch Linux的安裝並不算難,但是絕對也算不上簡單,中間的安裝可能會遇到很多問題,本篇文章不能保證完全貼合你的真實機器環境,但是我會在我安裝過程中遇到的一點點小問題都說出來,給大家避個坑,這裡我安裝Arch的時候 ...
ArchLinux Vmware安裝指北
在本文開始之前,首先允許我提前聲明一點,Arch Linux的安裝並不算難,但是絕對也算不上簡單,中間的安裝可能會遇到很多問題,本篇文章不能保證完全貼合你的真實機器環境,但是我會在我安裝過程中遇到的一點點小問題都說出來,給大家避個坑,這裡我安裝Arch的時候參考的文章是https://arch.icekylin.online/guide/rookie/basic-install,大家也可以一併參考。
現在我會按照這篇文章的流程,開始說我是如何安裝的。那麼接下來,介紹一下需要的安裝環境
-
Windows
-
VMware虛擬機
-
Vmware的NAT網路連接模式
-
一個清醒的大腦
-
一杯茶或者咖啡
畢竟是安裝操作系統,第一步肯定獲得Arch Linux操作系統的鏡像包,關於其鏡像包,由於官網給我們的是磁鏈和BT文件,所以網路環境和軟體環境好的同學可以使用官網的下載方式,記得用BT的要做種哈,人人為我,我為人人。條件不允許的同志,可以選擇使用鏡像站來下載;這裡貼出官網的下載方式和鏡像站
官網:
magnet:?xt=urn:btih:0cd42065571809961e9661db2123a87d77c33964&dn=archlinux-2024.07.01-x86_64.iso(磁鏈)
https://archlinux.org/releng/releases/2024.07.01/torrent/(BT)
鏡像站(阿裡):
https://mirrors.aliyun.com/archlinux/iso/2024.05.01/archlinux-2024.05.01-x86_64.iso
下載之後記得對比文件hash值(當然你不比較也可以,這一步只是確保我們使用的鏡像是否是完整無損的),在官網的https://archlinux.org/download/頁面即可找到鏡像包的hash值。
新建虛擬機
對比完hash值確定文件是完整無損的之後,我們即可進入安裝階段,在安裝之前,我們先來創建一個新的虛擬機。(如果這裡你會,請跳過這部分)
這裡我們選擇典型即可,沒有必要去自定義,典型就夠用,隨後下一步
隨後選擇我們的鏡像文件,下一步
這裡選擇Linux-其他Linux 6.x內核64位,下一步
這裡可以給我們的虛擬器來起一個名字,我們可以將其命名為你喜歡的任意名字,這裡我使用ArchLinux作為這台虛擬機的名字;這裡的“位置”指的是這台虛擬機的存放位置,建議脫離C盤去存放虛擬機。下一步
這裡我們選擇將虛擬磁碟文件儲存為單個文件,方便後續管理,大小設置為20G。下一步
這裡我們點一下自定義硬體,調整一下磁碟運行記憶體的大小,1~2GB均可,依照個人計算器情況來給即可,安裝過程中建議不要低於1GB,取高不取低。網路控制器選項使用NAT,隨後確定。一切完畢之後,我們點擊一下我們的Arch
當顯示為如此界面時,我們的基本配置算是完成了
正如我開頭所說,我會按照我給出的文章的步驟來安裝並且幫大家避開我安裝時的坑,所以應該會有大量的步驟是和鏈接中師傅的文章相同,特此告知。
安裝Arch
0.必要的設置項&一堆可能有點用的閑話
在安裝之前,首先不要急著啟動Arch,我們先到Arch虛擬機的儲存位置修改一下.vmx文件,使用UEFI來引導系統啟動。
在左側窗格右鍵我們的Arch,選擇打開虛擬目錄
找到.vmx文件,使用記事本打開
在其中添加一行條目,firmware=”efi”,隨後保存即可。隨後我們再來啟動Arch
點擊開啟此虛擬機即可開啟我們的Arch
啟動後如果顯示為這樣的界面,說明UEFI引導生效,選擇第一項,我們來開始安裝Arch
眼尖的朋友可能會發現,arch啟動的時候這裡有一個SSH的守護進程被啟動了,也就是說我們安裝Arch的時候是完全被允許使用SSH來遠程連接的,關於我為什麼要提這個問題,因為我們安裝的時候是無法在虛擬機中粘貼的,如果我們能夠使用物理機Shell工具遠程連接到Arch的安裝進程上,就可以正常的來粘貼命令了,這樣的話將會起到事半功倍的效果。如果你沒有相關的工具,那麼也不影響後續的操作;如果你有,請使用[email protected]來進行連接,ip a命令可以查看Arch的IP,passwd可以修改root的密碼。(即便如此,我還是建議從來沒有安裝過Arch的同志們手動敲一下命令,以便更深入的去理解命令的含義和Linux的內核;如果你是一個安裝老手,那麼這個方法將幫助你快速對Arch進行安裝<說實話老手還會看這篇文章嗎,wwwwwwwwww>)
ookk,閑話少說,基本的配置完成,我們還是步入正軌來安裝Arch吧
1.首先來禁用reflector服務
systemctl stop reflector
如果執行沒有報錯,恭喜你,禁用成功了
2.隨後來確保一下我們的確是處在UEFI的引導模式下
ls /sys/firmware/efi/efivars
如果能夠輸出一堆文件名,說明這裡處在UEFI引導模式下,可以進行下一步操作
如果發生報錯,提示文件不存在或者文件為空,說明你沒有使用UEFI引導啟動,請回到本小節開頭位置學習如何修改.vmx文件,使Arch在UEFI模式下被引導啟動。
3.連接網路
原文寫這一步主要面向的是無線網路用戶,這裡由於我們使用的是虛擬機的虛擬網卡,這步可以直接跳過
4.測試網路狀態
curl www.baidu.com
如果能夠輸出東西,有一堆HTML標簽等等;而不是網路不可達、連接超時、不能連接到伺服器、找不到主機等等報錯,說明網路無異常,報錯示例:
網路無異常的話我們來繼續
5.更新系統時鐘
正如原文所說,系統時間的準確是十分重要的,我們的SSL證書等等以及例如OTP等等很多服務,都是要建立在時間準確的前提下的,所以這一步是至關重要的。
使用命令同步系統時間
timedatectl set-ntp true
如果沒有報錯,說明執行成功,可以使用
timedatectl status
來查看同步後的時鐘狀態信息
=> arch時間
=> 我的物理機系統時間
由於我們國家處於東八區,這裡的Time zone給出的是UTC+0,所以只要將其時間加上8H即可得出我們的時間,如果計算後的時間和我們的實際時間基本相吻合,那麼這裡就可以繼續操作了(由於我截圖中間有點操作時間,實際上計算過後時間是基本分毫不差的)
6.更改軟體倉庫下載源
這一步相信經常使用Linux的同志們都很清楚了,由於國外的軟體倉庫物理上距離我們就遠,再加上各種各樣的原因,我們下載軟體包的時候,需要使用國內的下載鏡像站來加速我們的下載,這裡鏡像站有很多,我們使用原文中給出的四個就完全夠用了
運行命令,使用vim來修改軟體倉庫
vim /etc/pacman.d/mirrorlist
打開後的頁面是這樣的,我們添加四條條目在最上面,在最上面的會優先被調用
Server = https://mirrors.ustc.edu.cn/archlinux/\$repo/os/\$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/\$repo/os/\$arch
Server = https://repo.huaweicloud.com/archlinux/\$repo/os/\$arch
Server = http://mirror.lzu.edu.cn/archlinux/\$repo/os/\$arch
添加完成之後,我們保存退出即可
(沒用過vim的同志看過來,方向鍵可以調整游標位置,按i鍵之後即可進入編輯模式,此時可以寫入內容,寫入完成之後按下esc退出編輯模式,隨後按下冒號<真的要按下冒號,要使用shift那種>,輸入wq按回車即可保存退出;如果你嫌wq兩個字母麻煩,可以直接輸入x,隨後回車退出,同樣也是保存退出)
倉庫源修改完畢之後,我們就可以繼續下一步的操作啦
7.分區和格盤
安裝系統必備的一步了屬於是,由於這裡我們是使用新開虛擬機操作,顧慮不用很多,不會刷寫到我們物理機的磁碟。但是在這裡我還是提一嘴嗷,數據無價,請謹慎操作。
使用命令
lsblk
查看一下我們當前的磁碟狀態
可以看到我們分了20G的盤就在這裡,我們要操作的就是這個盤,記住了,他叫做sda,這一步很重要,不要搞錯了名字。(如何判斷我們的盤是哪一個=>你新建虛擬機的時候分了多少的空間,這裡哪一個吻合就是哪一個)
記住我們要操作的盤叫做sda後,接下來我們使用cfdisk來進行磁碟操作,運行命令
cfdisk /dev/sda
這裡的sda就是你要安裝Arch系統的系統盤的名字,由於這裡我是sda,我將繼續使用sda做演示
運行之後會彈出這樣的視窗,選擇gpt回車
之後會進入這樣的頁面,操作之前,我來說一下這東西怎麼用
可以看到下麵有一排操作選擇,我們可以使用左右方向鍵來移動。
-
第一個New為新建,也就是從某個空間中拿出多少空間作為新建磁碟區。
-
第二個Quit為退出,即退出這個軟體
-
第四個Write為寫入,即保存修改
剩下的選項我們用不到,暫且不做講述,知道如何使用之後,我們來繼續操作
我們在Free space(空閑空間)中選擇New選項,回車即可彈出左下角的提示信息,這裡是在詢問我們需要分配多少空間出來,我們首先分一個Swap分區出來,這個分區有點類似於Windows的交換文件,這個分區的大小可以是你運行記憶體大小的60%左右,這裡我是分了2G的運存給虛擬機,所以就是2G*0.6=1.2G,我們首先分1.2G出來
可以看到這裡就分了1.2G出來,名為sda1;但是我們先不管分出來的1.2G,我們繼續來分Free space。現在我們還剩18.8G,現在我們要分efi的引導區大小,理論來說efi的引導分區不會用太多空間,這裡我有點強迫症,剩下的800MB都分給它吧,我留下一個整的18G。
使用方向鍵上下調節上側選選項卡位置到Free Space,繼續New 800M出來
隨後剩下的全分出來
分完之後,我們回頭捋一下,sda1是Swap、sda2是efi引導區、sda3是Linux系統區。這裡一定要記住每個分區是幹嘛的,後面需要用到這幾個名字
捋完之後,我們不要退出,可以看到我們分好磁碟空間之後,下方的選項卡就變了,我繼續來說一下我們會用到的選項
-
第一個Delete是刪除當前所選磁碟,刪除之後,其空間會返回到Free space中,如果分錯了可以選擇這個刪除重新分配
-
第三個Quit是退出,不用多說了
-
第四個Type是調整磁碟類型,一會我們會用到,這裡先不展開細說
-
第六個Write為將修改寫入磁碟,相當與“保存”功能
瞭解完成之後,我們繼續操作,選擇sda1,使用type功能,回車
可以看到這裡打開一個選單頁面,這裡我們向上移動方向鍵,將sda1設置為Linux swap,回車
可以看到這裡成功修改了,隨後按照同樣的步驟,將sda2設置為EFI system將sda3設置為Linux filesystem(嚴格按照之前分盤的sda1為swap、sda2為efi引導、sda3為文件系統來分配type)
設置完成之後,我們來選擇write將操作寫入磁碟
可以看到這裡有個提示,我們確認無誤後輸入yes(一定要輸入完整的“yes”,不要縮寫輸入y,這樣不會保存)
當下方提示“The partition table has been altered.”後,說明修改成功,我們就可以選擇Quit來退出了
隨後我們來確保操作成功,運行命令
fdisk -l
查看分區狀態
如果這裡顯示的和你設置的相一致,說明磁碟的分盤就已經完成了。我們可以進行格盤了
首先我們來格式化efi分區,運行命令
mkfs.fat -F32 /dev/sda2
#sda2切換成你的efi分區盤,後面有關硬碟的操作不再強調,請按照你的實際來選擇硬碟
隨後格式化Swap分區
mkswap /dev/sda1
格式化Btrfs分區(格式化系統分區)
mkfs.btrfs -L arch /dev/sda3
這裡-L選項後的arch可以自定義一個名字,這個名字將作為分區的LABLE,請不要使用空格和特殊字元,這裡我以arch這個名字作為分區的LABLE
至此磁碟格式化完成,如果沒有問題,就可以來進行下一步操作
強調一下,從現在開始,每個盤是幹嘛的還是要記住,後面要用到,用不到了的時候我會說
8.操作Btrfs分區
首先我們來掛載Btrfs分區(系統分區)到/mnt下
mount -t btrfs -o compress=zstd /dev/sda3 /mnt
檢查掛載情況
df -h
掛載完成之後,繼續來創建Btrfs子捲,依次運行命令
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
檢查子捲狀態,運行命令
btrfs subvolume list -p /mnt
如果顯示出來了相關ID信息等等,即子捲創建成功,顯示的數據可能和我會有些出入,屬於正常現象。
子捲創建成功後,我們就可以卸載/mnt,掛載子捲了,卸載/mnt命令
umount /mnt
上述操作無誤後進入下一步
9.掛載
註意,我們的掛載是有順序的,請按照下麵的命令和提示依次運行命令掛載分區
mount -t btrfs -o subvol=/@,compress=zstd /dev/sda3 /mnt #掛載根目錄,請使用Linux文件系統盤(我的是sda3)
mkdir /mnt/home
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda3 /mnt/home #掛載/home用戶家目錄,請使用Linux文件系統盤(我的是sda3)
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot #掛載/boot啟動引導區,請使用efi盤(我的是sda2)
swapon /dev/sda1 #掛載/swap交換分區,請使用swap盤(我的是sda1)
註意,上面的六條命令一條不要少,掛載完成之後可以使用df命令查一下系統分區和efi引導分區是否掛載完成,運行命令
df -h
如上是沒有問題
使用free命令可以查看swap掛載情況,運行命令
free
顯示出了Swap且空間大小和我們設置的相吻合,說明沒問題
上述操作全部設置完畢且無誤後,我們就可以安裝系統了
10.安裝系統
運行命令
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs
安裝基礎包
當看到上面的提示,並且出現進度條在跑,開始下載東西後,說明這一步完成啦,接下來會進入一段等待時間,因為系統正在執行你的下載安裝命令。現在你可以中途休息一下,喝杯茶或者咖啡(希望你準備的茶或者咖啡到這一步沒有冷掉),起身走走,眺望一下遠處保護保護眼睛,等待進度條跑完後再回來繼續操作即可……
跑完之後,我們繼續來操作,下一步依舊是安裝,我們來安裝一下其他必要的工具,運行命令安裝vim、sudo、zsh和zsh-completions
pacstrap /mnt networkmanager vim sudo zsh zsh-completions
緊接著又會是一段進度條在跑,不過這個“進度條不長”,相比於剛纔的很快就會跑完
安裝完成之後,我們繼續來操作,我們的系統還沒有完全安裝完畢
11.生成fstab文件
fstab文件時用來定義硬碟分區的重要文件,是必不可少的文件之一。由於我們之前已經掛載了重要的磁碟分區sda1、sda2和sda3,這裡我們可以使用genfstab命令來根據掛載情況自動生成並且寫入fstab文件,運行命令
genfstab -U /mnt \> /mnt/etc/fastab
運行之後如果沒有返回任何信息,說明執行成功,由於是自動生成,為了確保無誤,我們來看一下fastab中的信息,運行命令
cat /mnt/etc/fastab
最後一次調用你關於sda的記憶,看看對應的是否正確,如果正確,那麼這一步就算是完成了,可以進行下一步操作了
好了好了,現在你可以忘掉那幾個sdaxxx具體誰都是幹嘛的啦~
12.切換工作區域
在說切換之前,我這裡先聲明好,一切操作都不需要重啟
我們使用arch-chroot命令來切換到我們安裝好的Arch系統環境中,運行命令
arch-chroot /mnt
當我們運行之後,shell會變成如上樣式,此時的/mnt目錄其實就相當於我們新安裝系統的根目錄/
進入完成之後,我們即可進行下一步的配置操作
13.設置系統的主機名和時區
首先我們來設置主機名,運行命令
vim /etc/hostname
在其中寫你喜歡的主機名即可,註意不要特殊字元,寫完保存即可,這裡我給主機起名叫Arch了
接下來設置hosts文件,運行命令
vim /etc/hosts
打開後預設是這樣的,我們添加幾條條目
127.0.0.1 localhost
::1 localhost
127.0.0.1 arch.localdomain arch
註意這裡的Arch.localdomain Arch中的Arch為你的主機名,請根據實際情況更改(主機名區分大小寫,註意添加的條目前面不要有#)
主機名處理完畢後我們來更改系統的時區,運行命令
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
這樣時區就設置完畢啦,如果沒有問題,就繼續吧,我們的安裝馬上就要完成了
14.設置硬體時間
有點電腦知識的同志應該清除,主板是有BIOS的,這個東西中本身就有時間,我們設置硬體時間就是為了讓BIOS硬體時間和操作系統所同步(個人理解);運行命令
hwclock --systohc
不要泄氣,安裝馬上結束
15.設置地區偏好
我們知道每個地區都有自己看時間的習慣,我們習慣使用年/月/日,但是有的地方不以這種方式;同樣的,還有字元集ASCII和UTF-8等等問題,這裡我們為了讓操作系統適合我們自己來使用,需要設置一下地區偏好,運行命令
vim /etc/locale.gen
去掉en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8前面的#
隨後保存,運行命令
locale-gen
當出現如上提示,就說明命令運行成功了,隨後繼續運行
echo 'LANG=en_US.UTF-8' \> /etc/locale.conf
16.設置root密碼、安裝微碼和設置引導程式
root密碼好設置,直接passwd root即可,運行命令
passwd root
輸入密碼的時候會讓你輸入兩次,一次為輸入,一次為驗證,且輸入的時候不會顯示信息,成功修改之後會顯示如上提示信息
root密碼設置完畢之後,我們可以繼續安裝微碼了,運行下麵的命令可以安裝對應晶元製造商的微碼,根據實際情況選擇即可
pacman -S intel-ucode #Intel微碼
pacman -S amd-ucode #AMD微碼
我的CPU是intel的,所以選擇了intel的微碼,運行安裝命令之後會出現上述提示,這裡確認安裝直接回車即可,隨後耐心等進度條跑完
跑完之後我們就可以來安裝引導程式了
運行如下命令來安裝引導程式
pacman -S grub efibootmgr os-prober
一樣的,等進度條跑完
跑完之後將GRUB安裝到EFI分區,運行命令
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
如果出現No error reported,恭喜,GRUB此時已經成功安裝到EFI磁碟分區了。最後我們做一下啟動的優化小操作,使用vim編輯/etc/default/grub文件,運行命令
vim /etc/default/grub
修改GRUB_CMDLINE_LINUX_DEFAULT一行,將末尾的quite去掉,添加nowatchdog,並且修改loglevel=5。修改後的圖如下
隨後保存,保存完畢之後運行命令
grub-mkconfig -o /boot/grub/grub.cfg
至此,引導製作完成
17.最後的最後,完成安裝
如果你到了這一步,恭喜你,安裝已經進入尾聲了
運行命令
exit
退出安裝環境
如上就已經成功退出了安裝環境,隨後卸載/mnt分區,運行命令
umount -R /mnt
最後的最後,我們來運行此次安裝要執行的最後命令
reboot
重啟進行完畢關機操作之後記得將CD文件斷開連接,VMware的右下角右鍵CD圖標可以直接斷開連接
18.結束安裝與連接網路
重啟之後我們就可以正常引導進入Arch系統了
如果重啟完畢之後顯示瞭如上的界面,那麼恭喜你,成功的安裝了ArchLinux,接下來輸入賬戶名回車,密碼回車即可進入操作系統啦~
既然是Arch,怎麼能不運行fastfetch命令呢?來,我們使用pacman安裝一下,安裝之前,我們先來啟動一下Arch的networkmanager服務,否則Arch是沒有網路的哦,以此運行下麵的命令
systemctl start NetworkManager \#啟動NetworkManager
systemctl enable NetworkManager \#將NetworkManager設置為開機自啟
或者直接運行這一條
systemctl enable --now NetworkManager \#立即啟動NetworkManager並將其設置為開機自啟
運行完enable出現上面的提示說明啟動完成
我們curl一下網站看看有沒有網路
ok,可以看到現在網路連接問題也解決了
隨後我們來安裝fastfetch吧,使用pacman安裝,運行命令
pacman -S fastfetch
安裝完成了,來運行一下fastfetch吧
fastfetch
自此,你的ArchLinux就徹徹底底的安裝完畢了,恭喜你走到了這一步!