Table of Contents
- 介绍
- 配置
基础
VirtualBox配置
安装准备
- 基础
分区
格式化
挂载
安装
- 选择镜像
安装基本系统
配置
- fstab
chroot
一些配置
lvm2
网络配置
系统引导
整理新系统
引导界面
网络管理
图形界面安装
展示
参考
介绍
配置
win10 x86_64
VirtualBox 5.2.22
archlinux-2018.12.01-x86_64
基础
- 必须有网络
Arch Linux ISO镜像(根据国家和地区选择网站)
vim基本操作
VirtualBox配置
- VirtualBox加载archLinux ISO基本操作,请参考VirtualBox fedora29 安装。
勾选 设置->系统->启用EFI(只针对某些操作系统)
请确保你的系统支持
取消勾选 设置->系统->硬件时钟使用国际标准时间(UTC)
保持VBox和本地win10系统时间一致
安装准备
当VirtualBox加载archlinux镜像后,若以EFI启动则显示“Arch Linux archiso x86_64 UEFI USB”
直接回车确认,等待片刻后,我们以root身份登录虚拟控制台
基础
键盘布局
默认为US美式键盘映射
验证启动模式
ls /sys/firmware/efi/efivars
若该目录存在则启用了UEFI模式
连接到网络
守护进程dhcpcd已被默认启用来探测有线网络设备,并会尝试连接
ping www.baidu.com
更新系统时间
timedatectl set-ntp true
分区
- 分区工具
fdisk最大支持2.2T,想尝试新工具,本例使用parted分区。
可参考的分区工具表,如下
分区布局
和BIOS分区不同,UEFI分区必须有EFI系统分区,即ESP,文件系统为fat32
分区布局,如下
分区方案
首先给/boot分区,余下空间以LVM方式分区(采取本方案)
整个空间以LVM方式分区
100G空间分区布局
| 分区 | 大小 | 格式 |
|-------+------+-------|
| /boot | 548M | FAT32 |
| / | 32G | ext4 |
| swap | 4G | swap |
| /home | rest | ext4 |
初次分区操作
所用parted指令如表
指令 | 功能 | 备注 |
---|---|---|
parted /dev/sdX | 操作sdX磁盘 | X表示磁盘编号a、b、… |
p | 查看分区相关信息 | print指令缩写 |
rm number | 删除分区编号 | number分区编号 |
mklabel gpt | 创建gpt分区表 | |
mkpart primary 1 548 | 创建500M的主分区 | 单位为MB |
set 1 boot on | 将编号1分区设置为boot分区 |
使用gpt分区表
此处parted可以指定/dev/sda
parted
p
mklabel gpt
p
分区
分成两个分区,其中一个将作为boot分区,另一个进一步以LVM方式分区
mkpart primary 1 548
mkpart primary 548 -1
p
设置分区编号1 Flags为ESP或boot分区
set 1 boot on
p
设置分区编号2 Flags为LVM
退出parted使用cfdisk工具设置分区
LVM分区操作
查看blk
lsblk
创建物理卷
由于初次分区只有两个分区,只有编号2分区采用LVM分区方案,故在/dev/sda2建立物理卷
pvcreate /dev/sda2
建立卷组
将物理卷sda2加入到新建卷组arch中
vgcreate arch /dev/sda2
建立逻辑卷
在arch卷组中建立root、home和swap逻辑卷
lvcreate -L 32G arch -n root
lvcreate -L 4G arch -n swap
lvcreate -l +100%FREE arch -n home
格式化
esp格式化
mkfs.vfat -F32 /dev/sda1
lvm分区的格式化
mkfs.ext4 /dev/mapper/arch-root
mkfs.ext4 /dev/mapper/arch-home
mkswap /dev/mapper/arch-swap
用"fdisk -l"指令查看分区情况
挂载
lvm分区挂载
首先必须挂载根分区,然后才能挂载其它分区(包括boot分区)
mount /dev/mapper/arch-root /mnt
mkdir /mnt/home
mount /dev/mapper/arch-home /mnt/home
swap交换分区无需挂载
swapon /dev/mapper/arch-swap
找不到/dev/mapper/arch-?逻辑卷 ,可试一下
modprobe dm_mod
vgscan
vgchange -ay
esp分区挂载
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
确认是否已挂载
df -h
安装
选择镜像
将china相关放在前面
vim /etc/pacman.d/mirrorlist
确保网络正常
安装基本系统
pacstrap -i /mnt base base-devel
可按需选择安装程序,等待一会即可完成
配置
fstab
建立fstab
genfstab -U /mnt >> /mnt/etc/fstab
检查/mnt/etc/fstab是否正确
主要检查blkid命令显示分区UUID是否和fstab文件一致
chroot
arch-chroot /mnt
进入刚刚安装的系统
一些配置
时区
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
调整时间漂移
# hwclock --systohc --utc
本地化
由于新系统只安装了vi,故
# vi /etc/locale.gen
取消注释
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
生成本地化文件
# locale-gen
设置主机名
# echo naruto > /etc/hostname
root密码
# passwd
lvm2
由于使用了LVM,故需要在系统启动时中增加lvm2模块
编辑/etc/mkinitcpio.conf
找到类似
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
修改为
HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"
修改mkinitcpio.conf文件后需要重新生成archlinux镜像
# mkinitcpio -p linux
若WARNING所示模块未安装,则可忽略WARNING
网络配置
开启有线网络
systemctl enable dhcpcd
系统引导
安装引导程序grub和efi管理工具
pacman -S grub efibootmgr --noconfirm
安装引导
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
会有问题,必须解决,否则无法生成引导文件,期待下个版本解决
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
WARNING: Device /dev/loop0 not initialized in udev database even after
waiting 10000000 microseconds
...
解决方案
ctrl+D退出chroot环境
操作如下
# mkdir /mnt/hostlvm
# mount --bind /run/lvm /mnt/hostlvm
# arch-chroot /mnt
# ln -s /hostlvm /run/lvm
生成引导配置
# grub-mkconfig -o /boot/grub/grub.cfg
整理新系统
退出chroot环境
卸载被挂载的分区
# umount -R /mnt
重启系统
# reboot
增加新账户
增加普通账户
useradd -m -g users -s /bin/bash naruto
passwd naruto
增加sudo用户属性
chmod u+w /etc/sudoers
echo 'naruto ALL=(ALL) ALL' >> /etc/sudoers
删除ISO文件
关机
shutdown -h now
删除“设置->存储->控制器:IDE”
引导界面
- 开机界面为UEFI Interactive Shell
三种解决方案
每次开机从shell中手动启动bootloader
\EFI\grub\grubx64.efi
把bootloader移到默认的路径/EFI/BOOT/BOOTX64.EFI
实际上可以把“EFI/grub/grubx64.efi”按照默认的方式拷贝,推荐
在ESP根目录创建一个startup.nsh脚本,添加内容为
\EFI\grub\grubx64.efi
网络管理
安装过程确认网络保持畅通
安装网络管理
# pacman -Syu networkmanager
图形界面安装
需要支持X
查看显卡类型
# lspci | grep -e VGA -e 3D
查看开源驱动
# pacman -Ss xf86-video
通用显卡
# pacman -S xf86-video-vesa
然而以上都不需要
虚拟机的显卡需要虚拟机支持
# pacman -S virtualbox-guest-utils
选择默认Linux内核
2)virtualbox-guest-modules-arch
或者从virtualBox选项 设备->安装增强功能 添加
X窗口管理系统
# pacman -S xorg-server xorg-xinit xorg-twm xorg-xclock xterm
测试xorg
# startx
桌面环境
# pacman -S lxqt
选装
# pacman -S oxygen-icons kwin 图标和kwin桌面,原生openbox不好看
# pacman -S xscreensaver 屏幕保护
# pacman -S numlockx 小键盘
# numlockx on
窗口管理器
lxqt建议使用sddm
# pacman -S sddm
# systemctl enable sddm.service
# systemctl start sddm.service
安装字体
# pacman -S wqy-zenhei wqy-microhei ttf-dejavu
安装输入法
# pacman fcitx fcitx-im fcitx-configtool
设置环境变量,需在/etc/environment添加
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
重启X桌面
声音
我不需要
应用程序安装
例如
# pacman -S firefox
展示
只装了Firefox和kwin的效果图
终端调整了下设置
很多细节未调整,此外这个lxqt桌面自我感觉不好用
参考
- 安装指南:https://wiki.archlinux.org/index.php/Installation_guide_(简体中文)
分区:https://wiki.archlinux.org/index.php/Partitioning_(简体中文)
LVM:https://wiki.archlinux.org/index.php/LVM#Configure_mkinitcpio
VirtualBox:https://wiki.archlinux.org/index.php/VirtualBox#Installation_in_EFI_mode