vBox Arch UEFI LVM安装

2023-02-18,,,,

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

vBox Arch UEFI LVM安装的相关教程结束。

《vBox Arch UEFI LVM安装.doc》

下载本文的Word格式文档,以方便收藏与打印。