UEFI+GPT安装Archlinux记录

疫情期间不让出门,在家都快长蛆了,重温+折腾一下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,dhcpcdnet-tools,由于使用了阿里云的镜像服务器,所以速度那是钢钢的.
说明: netctldhcpcd用于后面配置通过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了

发布了193 篇原创文章 · 获赞 90 · 访问量 43万+

猜你喜欢

转载自blog.csdn.net/lpwmm/article/details/104129892