VMware Workstation安装Arch Linux和Deepin桌面

Arch Linux

Arch Linux 是通用 x86-64 GNU/Linux 发行版。Arch采用滚动升级模式,尽全力提供最新的稳定版软件。初始安装的 Arch 只是一个基本系统,随后用户可以根据自己的喜好安装需要的软件并配置成符合自己理想的系统。

VMware Workstation安装Arch Linux和Deepin桌面

安装条件

安装 Arch Linux,需要拥有一台 x64_86 兼容的 PC,其中至少有 512MB 的 RAM 和 800 MB 的可用磁盘空间。由于安装过程中需要从远程存储库获取软件包,所以还需要一个良好的网络连接。

安装 VMware Workstation Pro

到官网下载并安装 VMware Workstation Pro

下载 Arch Linux 镜像

进入 Arch Linux 下载页面,然后选择一个镜像源,例如我选择了 China 的 163.com , 点击下载后缀为 .iso 的镜像文件。

创建虚拟机

创建新的虚拟机 -> 典型 -> 下一步

create-vm-1

选择刚刚下载的 Arch Linux iso 文件

create-vm-2

选择 Linux 操作系统,选择 "其他 Linux 4.x 或更高版本内核 64 位" 内核版本

create-vm-3

设置虚拟机名称,并选择虚拟机系统文件保存路径,根据实际情况设定

create-vm-4

设置磁盘空间大小,这里以 20G 为例,同时选择将磁盘存储为单个文件(为了提高性能)

create-vm-5

点击自定义硬件

内存、处理器视具体情况自行设置,移除打印机,设置网络适配器为 NAT (网络连接使用 NAT 模式,开机后就能联网),设置完成后点击关闭

create-vm-6

Host-only: 虚拟机的网卡会连接到物理机的 VMnet1 上,但物理机并不会为虚拟机提供任何路由服务,因此虚拟机只能和物理机进行通信,不能连接到实际的网络上,即无法上网。

NAT: 网络地址转换(Network Address Translation)模式下,虚拟机的网卡连接到物理机的 VMnet8 上,此时物理机系统的 VMWare NAT Server 服务就充当了路由器,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机。这种模式最简单,虚拟机系统不用做任何网络设置就可以访问外部网络。

Bridged: 桥接模式下,虚拟机拥有与物理主机相同网段的独立 IP,就像是局域网中的一台独立的主机,与物理机平等的存在于网络中。

取消勾选创建完成后自动启动虚拟机

create-vm-7

本文以 UEFI 启动模式 + GPT 分区方案 为例,因为 VMware Workstation Pro 默认是使用 BISO 启动模式的,所以我们要设置成 UEFI,选择 编辑虚拟机设置 -> 选项 -> 高级 -> UEFI -> 保存

create-vm-8

创建完成,启动虚拟机。

安装前的准备

官方安装指南

启动虚拟机,如果出现需要选择启动的界面,则选择 "Boot Arch Linux (x86_64)" 并回车,进入命令行界面。

验证启动模式

验证是否使用 UEFI 启动,输入:

1
ls /sys/firmware/efi/efivars

如果目录不存在,系统可能以 BIOS 或 CSM 模式启动,需要设置虚拟机使用 UEFI (参考上面),本文以 UEFI + GPT 为例,所以需要确保虚拟机使用 UEFI 启动。

如果能看到命令输出了该目录下的文件信息,说明是使用 UEFI 启动的。

检查网络连接

用 ping 命令检查网络连接,确保系统能够正常访问网络

1
ping www.baidu.com -c 4

更新系统时间

使用 timedatectl 启用 ntp,确保系统时间是准确的:

1
timedatectl set-ntp true

可以使用 timedatectl status 检查服务状态:

1
timedatectl status

创建分区表

首先使用 lsblk 或者 fdisk -l 查看硬盘的名称,磁盘若被系统识别到,就会被分配为一个 块设备,如 /dev/sda

1
lsblk

结果中以 romloop 或者 airoot 结束的可以忽略。

lsblk-fdisk

可以看到我的硬盘设备文件名称为 sda,它存放在 /dev 目录下,现在使用 parted 命令为这块硬盘创建分区表,指定分区格式为 GPT :

1
parted /dev/sda mklabel gpt

注意: parted 命令后的设备路径名称,根据实际情况而定。

建立硬盘分区

本文使用的分区方案如下:

  • EFI 系统分区: 256MB,UEFI 引导必需
  • Root 分区: 8GB,根分区
  • Home 分区: 10GB,家目录分区
  • Swap 分区: 剩余空间,交换空间

使用具有伪图形界面的 cfdisk 工具建立硬盘分区:

1
cfdisk /dev/sda

cfdisk

1
2
3
4
5
Device        Start       End   Sectors  Size Type
/dev/sda1 2048 526335 524288 256M EFI System
/dev/sda2 526336 17303551 16777216 8G Linux filesystem
/dev/sda3 17303552 38275071 20971520 256M Linux filesystem
/dev/sda4 38275072 41943006 3667935 256M Linux swap

创建分区后,需要将 /dev/sda1Type 设置为 EFI System;将 /dev/sda4Type 设置为 Linux swap;根据实际情况设置。然后将光标移动到 Write 回车,输入 "yes" 并回车以保存修改,将光标移动到 Quit 退出。

此时可以使用 lsblk 命令查看一下分区情况。

格式化分区

当分区建立好了,这些分区都需要使用适当的文件系统进行格式化。EFI 系统分区 需要格式化成 FAT32 格式:

1
2
3
4
5
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda3
swapon /dev/sda3

mkfs-partition

挂载分区

格式化完成之后,将分区挂载到 /mnt,先挂载根分区,然后再挂载 EFI 分区、Home 分区(挂载前建议使用 lsblk 命令查看一下设备分区名称,以确认分区路径):

1
2
3
4
5
mount /dev/sda2 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
mkdir /mnt/home
mount /dev/sda3 /mnt/home

mount-partiton

安装 Arch Linux

选择镜像

文件 /etc/pacman.d/mirrorlist 定义了软件包会从哪个 镜像源 下载。在列表中越靠前的镜像在下载软件包时有越高的优先权。

1
vim /etc/pacman.d/mirrorlist

使用 vim 修改文件 /etc/pacman.d/mirrorlist,查找到 ustc 的镜像源(使用国内源,速度快),将其剪切并粘贴到文件首部,保存退出。这个文件接下来还会被 pacstrap 拷贝到新系统里,所以请确保设置正确。

repo-mirrorlist

安装基本系统

此处必须联网,安装速度视具体网速和硬件情况定。

使用 pacstrap 脚本,安装 base 组:

1
pacstrap /mnt base

安装 base-devel 包中的常用工具和 vim:

1
pacstrap /mnt base-devel vim

配置系统

Fstab

执行下列命令生成 fstab 文件 (用 -U-L 选项设置 UUID 或卷标):

1
genfstab -U /mnt >> /mnt/etc/fstab

在执行完命令后后检查一下生成的 /mnt/etc/fstab 文件是否正确:

genfstab-and-check

Chroot

切换到新安装的系统:

1
arch-chroot /mnt

时区

设置时区

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

使用 hwclock 设置硬件时间:

1
hwclock --systohc

本地化

本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.gen 与 locale.conf。

编辑 /etc/locale.gen 文件,移除 en_US.UTF-8 UTF-8 对应行前面的注释符号 ,保存退出。

1
vim /etc/locale.gen

接着执行 locale-gen 以生成指定的本地化文件:

1
locale-gen

创建 locale.conf 并编辑 LANG 变量:

1
echo "LANG=en_US.UTF-8" >> /etc/locale.conf

网络

创建 hostname 文件,并设置主机名:

1
echo "Arch" >> /etc/hostname

编辑 hosts 文件:

1
vim /etc/hosts

在 hosts 文件中添加如下内容,保存退出:

1
2
3
127.0.0.1 localhost
::1 localhost
127.0.1.1 Arch.localdomain Arch

Root 密码

设置 Root 密码,执行以下命令,输入两次密码:

1
passwd

创建新用户

Linux 中不建议使用 root 用户登录,因此有必要创建一个其他用户,以用户名 wylu 为例:

1
useradd -m -g users -G wheel -s /bin/bash wylu

-G 选项同时将该用户添加到 wheel 组中,-s 指定该用户默认使用的 shell 为 bash 。

修改新创建用户的密码,同样输入两次:

1
passwd wylu

使用 visudo 命令修改 /etc/sudoers 文件:

1
visudo

取消 wheel 组的所在行的注释,授予 wheel 组用户执行 sudo 命令的权限,保存退出:

1
2
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

安装引导程序

如果在一个移动介质上安装 Arch Linux,需要安装 Microcode 软件包。

  • 对于 AMD 处理器,安装 amd-ucode。
  • 对于 Intel 处理器,安装 intel-ucode。

这里使用的是 Intel 的处理器,安装命令如下:

1
pacman -S intel-ucode

引导的方式有很多,这里使用 grub,顺序执行下面 3 条命令生成引导文件:

1
pacman -S grub efibootmgr
1
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck

--efi-directory 指定 EFI 系统分区的挂载点,应根据实际挂载路径填写,--bootloader-id 是启动项中用来识别 GRUB EFI 的标记。

上述命令执行完成后 GRUB 的主目录将位于 /boot/grub/,接着需要生成配置文件 grub.cfg。

1
grub-mkconfig -o /boot/grub/grub.cfg

设置 dhcpcd 开机自启

设置 dhcpcd.service 开机自启,不然装完重启后无法上网:

1
systemctl enable dhcpcd.service

重启

  1. 执行 exit 退出 chroot 环境:
1
exit
  1. 执行下列命令,卸载被挂载的分区:
1
umount -R /mnt
  1. 关闭虚拟机:
1
poweroff
  1. 移除 CD/DVD

编辑虚拟机设置 -> CD/DVD(IDE) -> Remove -> Save

rm-cd-dvd

  1. 启动虚拟机

grub

选择第一个选项启动系统,使用新创建的用户登录。

安装 Deepin 桌面环境

参考 Acris Liu 博客 VMware Workstation安装Arch Linux和Deepin桌面教程

安装 Git

1
sudo pacman -S git

安装 AUR 助手 yay

如果不想使用 yay,可跳过该步,对于下面命令中的 yay 可以替换为 sudo pacman

使用 git 克隆并编译安装:

1
2
3
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

安装 bash 自动补全工具

1
yay -S bash-completion

安装 xdg-user-dirs

安装 xdg-user-dirs,用于生成用户 home 目录下的 Documents、Downloads、Music、Pictures 等文件夹:

1
2
yay -S xdg-user-dirs
xdg-user-dirs-update

安装 dde

安装基础组件,直接回车两次,默认安装 deepin 组的所有包。

1
yay -S deepin

安装扩展包,deepin-extra 组包含了一些额外的应用程序来提供一个更完整的桌面环境。

1
yay -S deepin-extra

安装 networkmanager

为了能够使用内置的网络管理,需要安装 networkmanager 包,并且 NetworkManager.service 需要被激活并设为开机自启。

1
yay -S networkmanager

设置开机自启:

1
sudo systemctl enable NetworkManager.service

现在开启:

1
sudo systemctl start NetworkManager.service

修改 lightdm 配置文件

要使用 DDE 默认的 lightdm greeter,必须修改 /etc/lightdm/lightdm.conf 的配置,将greeter-session设为lightdm-deepin-greeter:

1
sudo vim /etc/lightdm/lightdm.conf

取消注释并修改 greeter-session 如下:

1
2
3
[Seat:*]
...
greeter-session=lightdm-deepin-greeter

设置开机自启:

1
sudo systemctl enable lightdm.service

重启或者直接启动 lightdm 服务,就能进入桌面环境了:

1
sudo systemctl start lightdm.service

dde

安装 open-vm-tools

安装 open-vm-tools 和 gtkmm3:

1
yay -S open-vm-tools gtkmm3

如果该功能无法正常工作,请尝试手动安装 gtkmm3 。如要启用客户机的拖拽与复制粘贴功能,则需要安装 gtkmm3 。

设置 open-vm-tools 开机自启:

1
2
sudo systemctl enable vmtoolsd.service
sudo systemctl enable vmware-vmblock-fuse.service