ArchLinux Vmware安裝指北

THATO發表於2024-07-19

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的安裝程序上,就可以正常的來貼上命令了,這樣的話將會起到事半功倍的效果。如果你沒有相關的工具,那麼也不影響後續的操作;如果你有,請使用root@xxx.xxx.xxx.xxx來進行連線,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就徹徹底底的安裝完畢了,恭喜你走到了這一步!

相關文章