vBox Arch UEFI LVM安装

Table of Contents

  1. 介绍
    1. 配置
    2. 基础
  2. VirtualBox配置
  3. 安装准备
    1. 基础
    2. 分区
    3. 格式化
    4. 挂载
  4. 安装
    1. 选择镜像
    2. 安装基本系统
  5. 配置
    1. fstab
    2. chroot
    3. 一些配置
    4. lvm2
    5. 网络配置
  6. 系统引导
  7. 整理新系统
  8. 引导界面
  9. 网络管理
  10. 图形界面安装
  11. 展现
  12. 参考

介绍

配置

  • win10 x86_64
  • VirtualBox 5.2.22
  • archlinux-2018.12.01-x86_64

基础

  1. 必须有网络
  2. Arch Linux ISO镜像(根据国家和地区选择网站)
  3. vim基本操做

VirtualBox配置

  1. VirtualBox加载archLinux ISO基本操做,请参考VirtualBox fedora29 安装。
  2. 勾选 设置->系统->启用EFI(只针对某些操做系统)
    请确保你的系统支持
  3. 取消勾选 设置->系统->硬件时钟使用国际标准时间(UTC)
    保持VBox和本地win10系统时间一致
    img

安装准备

  • 当VirtualBox加载archlinux镜像后,若以EFI启动则显示“Arch Linux archiso x86_64 UEFI USB
    img
  • 直接回车确认,等待片刻后,咱们以root身份登陆虚拟控制台
    img

基础

  1. 键盘布局
    默认为US美式键盘映射
  2. 验证启动模式php

    ls /sys/firmware/efi/efivars
    若该目录存在则启用了UEFI模式
  3. 链接到网络
    守护进程dhcpcd已被默认启用来探测有线网络设备,并会尝试链接html

    ping www.baidu.com
  4. 更新系统时间linux

    timedatectl set-ntp true

分区

  1. 分区工具
    fdisk最大支持2.2T,想尝试新工具,本例使用parted分区。
    可参考的分区工具表,以下
    img
  2. 分区布局
    和BIOS分区不一样,UEFI分区必须有EFI系统分区,即ESP,文件系统为fat32
    分区布局,以下
    img
  3. 分区方案
    • 首先给/boot分区,余下空间以LVM方式分区(采起本方案
    • 整个空间以LVM方式分区
    • 100G空间分区布局shell

      | 分区  | 大小 | 格式  |
      |-------+------+-------|
      | /boot | 548M | FAT32 |
      | /     | 32G  | ext4  |
      | swap  | 4G   | swap  |
      | /home | rest | ext4  |
  4. 初次分区操做
    • 所用parted指令如表vim

      指令 功能 备注
      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/sdabash

      parted
      p
      mklabel gpt
      p
      img
    • 分区
      分红两个分区,其中一个将做为boot分区,另外一个进一步以LVM方式分区网络

      mkpart primary 1 548
      mkpart primary 548 -1
      p
      img
    • 设置分区编号1 Flags为ESP或boot分区app

      set 1 boot on
      p
      img
    • 设置分区编号2 Flags为LVM
      退出parted使用cfdisk工具设置分区
      img
  5. LVM分区操做
    • 查看blktcp

      lsblk
      img
    • 建立物理卷
      因为初次分区只有两个分区,只有编号2分区采用LVM分区方案,故在/dev/sda2创建物理卷ide

      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

      img

格式化

  1. esp格式化

    mkfs.vfat -F32 /dev/sda1
  2. lvm分区的格式化

    mkfs.ext4 /dev/mapper/arch-root
    mkfs.ext4 /dev/mapper/arch-home
    mkswap /dev/mapper/arch-swap

    img
    用"fdisk -l"指令查看分区状况

挂载

  1. 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
  2. esp分区挂载

    mkdir -p /mnt/boot/efi
    mount /dev/sda1 /mnt/boot/efi
    img
  3. 确认是否已挂载

    df -h

    img

安装

选择镜像

  1. 将china相关放在前面

    vim /etc/pacman.d/mirrorlist
    img
  2. 确保网络正常

安装基本系统

pacstrap -i /mnt base base-devel

可按需选择安装程序,等待一会便可完成

配置

fstab

  1. 创建fstab

    genfstab -U /mnt >> /mnt/etc/fstab
  2. 检查/mnt/etc/fstab是否正确
    主要检查blkid命令显示分区UUID是否和fstab文件一致

chroot

arch-chroot /mnt

进入刚刚安装的系统

一些配置

  1. 时区

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

    调整时间漂移

    # hwclock --systohc --utc
  2. 本地化
    • 因为新系统只安装了vi,故

      # vi /etc/locale.gen
    • 取消注释

      en_US.UTF-8 UTF-8
      zh_CN.UTF-8 UTF-8
    • 生成本地化文件

      # locale-gen
  3. 设置主机名

    # echo naruto > /etc/hostname
  4. root密码

    # passwd

lvm2

  1. 因为使用了LVM,故须要在系统启动时中增长lvm2模块
    编辑/etc/mkinitcpio.conf
    找到相似

    HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

    修改成

    HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"
  2. 修改mkinitcpio.conf文件后须要从新生成archlinux镜像

    # mkinitcpio -p linux

    若WARNING所示模块未安装,则可忽略WARNING

网络配置

开启有线网络

systemctl enable dhcpcd

系统引导

  1. 安装引导程序grub和efi管理工具

    pacman -S grub efibootmgr --noconfirm
  2. 安装引导

    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
        img
  3. 生成引导配置

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

    img

整理新系统

  1. 退出chroot环境
  2. 卸载被挂载的分区

    # umount -R /mnt
  3. 重启系统

    # reboot
  4. 增长新帐户
    • 增长普通帐户

      useradd -m -g users -s /bin/bash naruto
      passwd naruto
    • 增长sudo用户属性

      chmod u+w /etc/sudoers
      echo 'naruto ALL=(ALL) ALL' >> /etc/sudoers
  5. 删除ISO文件
    • 关机

      shutdown -h now
    • 删除“设置->存储->控制器:IDE”
      img

引导界面

  1. 开机界面为UEFI Interactive Shell
    img
  2. 三种解决方案
    • 每次开机从shell中手动启动bootloader

      \EFI\grub\grubx64.efi
    • 把bootloader移到默认的路径/EFI/BOOT/BOOTX64.EFI
      实际上能够把“EFI/grub/grubx64.efi”按照默认的方式拷贝,推荐
      img
    • 在ESP根目录建立一个startup.nsh脚本,添加内容为

      \EFI\grub\grubx64.efi

网络管理

  1. 安装过程确认网络保持畅通
  2. 安装网络管理

    # pacman -Syu networkmanager

图形界面安装

  1. 须要支持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选项 设备->安装加强功能 添加
  2. X窗口管理系统

    # pacman -S xorg-server xorg-xinit xorg-twm xorg-xclock xterm

    测试xorg

    # startx
  3. 桌面环境

    # pacman -S lxqt

    选装

    # pacman -S oxygen-icons kwin   图标和kwin桌面,原生openbox很差看
    
    # pacman -S xscreensaver        屏幕保护
    
    # pacman -S numlockx            小键盘
    # numlockx on
  4. 窗口管理器
    lxqt建议使用sddm

    # pacman -S sddm
    # systemctl enable sddm.service
    # systemctl start sddm.service
  5. 安装字体

    # pacman -S wqy-zenhei wqy-microhei ttf-dejavu
  6. 安装输入法

    # pacman fcitx fcitx-im fcitx-configtool

    设置环境变量,需在/etc/environment添加

    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    重启X桌面
  7. 声音
    我不须要
  8. 应用程序安装
    例如

    # pacman -S firefox

展现

  • 只装了Firefox和kwin的效果图
  • 终端调整了下设置
  • 不少细节未调整,此外这个lxqt桌面自我感受很差用

img

参考

  1. 安装指南:https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
  2. 分区:https://wiki.archlinux.org/index.php/Partitioning_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
  3. LVM:https://wiki.archlinux.org/index.php/LVM#Configure_mkinitcpio
  4. VirtualBox:https://wiki.archlinux.org/index.php/VirtualBox#Installation_in_EFI_mode
相关文章
相关标签/搜索