疫情期間不讓出門,在家都快長蛆了,重溫+折騰一下UEFI+GPT模式下安裝Archlinux
環境準備
系統鏡像:http://mirrors.aliyun.com/archlinux/iso/2020.01.01/archlinux-2020.01.01-x86_64.iso
虛擬機裏面搞的,注意在VMware中設置虛擬機固件類型使用UEFI
硬盤分區
使用ISO鏡像引導系統後要做的第一件事情
# fdisk -l
先確認一下硬盤的設備名稱是/dev/sda
# cfdisk /dev/sda
開始分區,注意選擇gpt
類型
具體劃分:
設備 | 大小 | 類型 |
---|---|---|
/dev/sda1 | 512M | EFI System |
/dev/sda2 | 2G | Linux swap |
/dev/sda3 | 剩餘所有空間 | Linux filesystem |
GPT
分區類型下不存在bootable
的概念,所以劃分好之後直接Write
保存一下就行了.
格式化分區
# mkfs.fat -F32 /dev/sda1
# mkfs.ext4 /dev/sda3
# mkswap /dev/sda2
# swapon /dev/sda2
需要注意的是,UEFI要用到的第一個EFI分區必須格式化爲
FAT32
類型
修改鏡像源
不改成國內鏡像源的話,會慢到懷疑人生
# vim /etc/pacman.d/mirrorlist
直接在第一行前面插入阿里雲的鏡像地址就行,內容如下:
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
**必要操作:**更新一下包目錄緩存
# pacman -Sy
安裝系統
將上面分好的第三個分區掛載到mnt
位置後開始安裝
# mount /dev/sda3 /mnt
# pacstrap /mnt base linux linux-firmware vim net-tools netctl dhcpcd
這裏額外安裝了vim
,netctl
,dhcpcd
和net-tools
,由於使用了阿里雲的鏡像服務器,所以速度那是鋼鋼的.
說明: netctl
和dhcpcd
用於後面配置通過DHCP自動獲取IP地址的網絡.特別注意,是dhcpcd
,末尾是cd
!
裝完後生成一下啓動掛載點配置fstab
文件
# genfstab -U /mnt >> /mnt/etc/fstab
本地化配置
接下來的操作需要使用arch-chroot
命令切換到/mnt
已經安裝好的系統環境下進行
# arch-chroot /mnt
- 修改主機名
# echo "arch-vm" > /etc/hostname
- 修改本地字符集
# vim /etc/locale.gen
取消註釋:zh_CN.UTF-8 UTF-8
- 修改時區+開啓ntp
# timedatectl set-timezone Asia/Shanghai
# timedatectl set-ntp true
- 修改
root
賬戶密碼
# passwd
- 創建普通賬戶
# useradd -m -g users -G wheel -s /bin/bash dexter
# passwd dexter
這裏需要注意普通賬戶需要加入到
wheel
組中,後面會給這個組分配sudo
的執行權限
- 爲普通賬戶增加
sudo
權限
# pacman -S sudo
# visudo
取消註釋%wheel ALL=(ALL) ALL
GRUB引導程序安裝
這一步是重點,GRUB裝不好的話,上面的就全tm白費勁了
# pacman -S grub efibootmgr dosfstools os-prober mtools
# mkdir /boot/EFI
# mount /dev/sda1 /boot/EFI #Mount FAT32 EFI partition
# grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
# grub-mkconfig -o /boot/grub/grub.cfg
確認最後一步grub-mkconfig
輸出結果中可以找到各種image表示安裝配置成功了.
退出當前的arch-chroot
環境後重啓進入安裝好的本地系統
# exit
# reboot
網絡配置
剛裝好的系統是連不上網的,還得再配置一下,這裏就用到了之前額外安裝的netctl
# ifconfig -a 查看一下網卡的設備名,我這裏是ens33
# cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/ens33
# vim /etc/netctl/ens33
修改配置中的Interface=ens33
# netctl list
# netctl start ens33
# netctl enable ens33
番外篇-安裝Deepin的DDE桌面環境
# sudo pacman -S deepin deepin-extra lightdm lightdm-deepin-greeter
修改默認歡迎界面
# vim /etc/lightdm/lightdm.conf
找到並修改下面行:
greeter-session=lightdm-deepin-greeter
設置lightdm
開機自動啓動(自動進入圖形界面)
# systemctl enable lightdm
# reboot
安裝open-vm-tools
# pacman -S open-vm-tools
# cat /proc/version > /etc/arch-release //open-vm-tools 需要這個版本信息
# systemctl enable vmware-vmblock-fuse vmtoolsd
實現向虛擬機中拖拽文件的效果需要使用gtkmm
# pacman -S gtkmm
重啓一下系統
番外篇:安裝Virtualbox
折騰了一下在移動硬盤上裝了Arch,在安裝VirtualBox的時候又遇到了各種坑,記錄一下
正常安裝
$ sudo pacman -S virtualbox
裝完之後是無法直接用的,還需要下面的操作
$ sudo vim /etc/modules-load.d/virtualbox.conf
編輯內容如下(就一行)
vboxdrv
然後再把當前用戶添加到vboxusers
組裏面
$ sudo usermod -aG vboxusers YOUR_USER_NAME_HERE
重啓一下系統,使用下面命令檢測一下vboxdrv
模塊是否正常啓用
$ sudo lsmod | grep vboxdrv
正常的話應該輸出如下內容:
[lpwm@ArchLinux-Sandisk ~]$ sudo lsmod |grep vboxdrv
vboxdrv 503808 2 vboxnetadp,vboxnetflt
這時候再運行Virtualbox開虛擬機就ojbk了