美文网首页
archlinux BIOS+GPT

archlinux BIOS+GPT

作者: 思想与地面的距离 | 来源:发表于2019-04-22 19:06 被阅读0次

    1. 获取 ISO 并校验

    Arch Linux 官网 下载 ISO 并验证。

    2. 制作 USB 启动盘

    将 ISO 文件写入 USB 闪存盘中:

    1. Linux 系统下
      ...
    2. Windows 系统下
      ...

    3. 启动至 USB 启动盘

    ISO 中包含了 Arch Linux 的基础系统,任何对此系统的修改都不能被保存,关机即丢失,因此 ISO 只适合用于系统的安装与维护。

    进入 UEFI/BIOS 界面,调整机器的引导顺序,保存退出。重启进入到 USB 启动系统中。

    4. 检查启动模式

    命令行
    # ls /sys/firmware/efi/efivars
    

    若该目录不存在,则系统是以 BIOS 模式启动,否则是以 UEFI 模式启动。

    脚本
    ## chk-bm.sh
    
    #!/bin/bash
    
    # 参数检测
    # 若有参数输入,则返回 -1 错误
    if [[ $# -ne 0 ]]; then
        printf "请不要输入参数,谢谢"
        exit -1
    fi
    
    # 若 /sys/firmware/efi/efivars 目录存在,
    # 则系统是以 UEFI 模式启动,否则是以 BIOS 模式启动
    
    if [[ -d "/sys/firmware/efi/efivars" ]]; then 
        printf "主板启动模式:UEFI"
        exit 2
    else
        printf "主板启动模式:BIOS"
        exit 1
    fi
    

    5. 检查 USB 启动系统的配置

    键盘布局

    终端字体

    显示语言

    网络连接

    命令行

    # wifi-menu
    

    脚本

    ## chk-net.sh
    
    # 参数检测
    # 若有参数输入,则返回 -1 错误
    if [[ $# -ne 0 ]]; then
        printf "请不要输入参数,谢谢"
        exit -1
    fi
    
    # to be continue...
    

    同步时间

    命令行

    # timedatectl set-ntp true
    

    pacman 软件仓库镜像服务器

    安装 reflector

    # pacman -S reflector rsync curl
    

    备份镜像列表

    # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.origin
    

    获取最快的20个镜像服务器

    # reflector --verbose --country 'China' --latest 20 --sort rate --save /etc/pacman.d/mirrorlist
    
    • --verbose : 显示更多的信息
    • --country 'China' : 优先镜像国家
    • --latest 20 : 只获取20个镜像
    • --sort rate : 按下载速度排序
    • --save : 保存为

    6. 分区

    6.1. BIOS + GPT + Grub

    为了使 GRUB 从一台有 GPT 分区的基于 BIOS 的系统上启动,需要创建一个 BIOS 启动分区, 这个分区和 /boot 没关系,仅仅是 GRUB 使用,不要建立文件系统和挂载。 参见: https://wiki.archlinux.org/index.php/Partitioning_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

    找到并清除所有现有分区

    # fdisk -l
    # sgdisk --zap-all /dev/sda
    

    BIOS 启动分区

    需要分配一个独立的 1MB 分区,不需要在这个分区创建文件系统。这个分区可以在启动设备的前 2 TiB 内的任意位置,但必须在 GRUB 安装前分配出来。

    分区工具 分区类型
    fdisk 选择 BIOS boot 和 分区类型 4
    gdisk ef02
    parted bios_grub

    分区方案:

    分区类型 分区的实际大小
    BIOS boot 2MB
    / 20GB
    /home 硬盘余下全部空间

    6.2. 目标磁盘

    # lsblk
    

    6.3. 创建文件系统

    分区类型 分区的文件系统
    BIOS boot NONE
    / ext4
    /home ext4
    $ ls -1 /usr/bin/ | grep -E 'mkfs|mkswap'
    ...
    mkfs.ext4*    # ext4 格式化工具
    ...
    mkfs.fat*    # fat 格式化工具
    ...
    mkswap*    # swap 格式化工具
    

    为让 genfstab 能生成 fstab 时包含交换分区,须先激活交换分区

    # swapon /dev/<交换分区>
    
    ## skip /dev/sda1 BIOS 启动分区
    # mkfs.ext4 /dev/sda2    # 创建 ext4 分区
    # mkfs.ext4 /dev/sda3    # 创建 ext4 分区
    # mkfs.ext4 /dev/sda4    # 创建 ext4 分区
    # mkswap /dev/sda5    # 创建交换分区
    # swapon /dev/sda5    # 激活交换分区
    

    7. 系统安装

    7.1. 挂载分区

    # mount /dev/sda3 /mnt    # 挂载根目录
    
    # mkdir /mnt/boot
    # mount /dev/sda2 /mnt/boot
    
    # mkdir /mnt/home    # 创建 /home 挂载点
    # mount /dev/sda3 /mnt/home    # 挂载 /home
    

    7.2. 安装基本系统

    # pacstrap -i /mnt base base-devel
    

    使用 -i 选项时会在实际安装前进行确认

    7.3. 配置系统

    # genfstab -U -p /mnt >> /mnt/etc/fstab
    
    • 使用UUID做标识符
    • 如果命令运行出现错误,那么只能手动修改,不要重复执行genfstab

    检查生成的 fstab 正确是否:

    # cat /mnt/etc/fstab
    

    8. 配置基础系统

    8.1. 进入新系统

    # arch-chroot /mnt
    

    8.2. 时区

    设置时区

    # ln -sf /usr/share/zoneinfo/[zone]/[subzone] /etc/localtime
    # ln -sf /usr/share/zoneinfo/$(tzselect) /etc/localtime
    

    设置时间标准 为 UTC

    # hwclock --systohc --utc
    

    8.3. 本地化

    简体中文

    # sed -i '/en_US.UTF-8/{s/#//}' /etc/locale.gen
    # sed -i '/zh_CN.GB18030/{s/#//}' /etc/locale.gen
    # sed -i '/zh_CN.GB2312/{s/#//}' /etc/locale.gen
    # sed -i '/zh_CN.GBK/{s/#//}' /etc/locale.gen
    # sed -i '/zh_CN.UTF-8/{s/#//}' /etc/locale.gen
    # sed -i '/zh_TW.UTF-8/{s/#//}' /etc/locale.gen
    
    # locale-gen
    # echo LANG=en_US.UTF-8 > /etc/locale.conf
    # export LANG=en_US.UTF-8
    

    键盘布局与终端字体

    主机名

    # echo [myhostname] > /etc/hostname
    
    /etc/hosts
    
    127.0.0.1   localhost.localdomain   localhost
    ::1         localhost.localdomain   localhost
    127.0.1.1   [myhostname].localdomain    [myhostname]
    
    # HOSTNAME='myhostname'
    # echo $HOSTNAME > /etc/hostname
    # echo "127.0.1.1\t$HOSTNAME.localdomain\t$HOSTNAME" >> /etc/hosts
    

    网络配置

    无线网络配置

    安装 软件包 iw, wpa_supplicant,dialog

    # pacman -S iw wpa_supplicant dialog 
    # wifi-menu    # 连接
    

    Initramfs

    创建一个初始 RAM disk:

    # mkinitcpio -p linux
    

    Root 密码

    设置 root 密码:

    # passwd
    

    安装Intel-ucode(非IntelCPU可以跳过此步骤)

    # pacman -S intel-ucode
    

    安装引导程序

    GRUB

    BIOS:

    # pacman -S grub
    # grub-install --target=i386-pc --recheck /dev/sdx
    # pacman -S os-prober
    # grub-mkconfig -o /boot/grub/grub.cfg
    

    如果遇到警告

    WARNING: Failed to connect to lvmetad. Falling back to device scanning.
    

    可以忽略,这是因为从 live CD 启动的系统没有运行 lvmeted 。

    9. 卸载分区并重启

    # exit              # 退回安装环境
    # umount -R /mnt    # 卸载新分区
    # reboot            # 重启
    # # 记得移除安装介质
    

    10. 更新系统

    # pacman -Syu
    

    11. 用户管理

    创建一个名为 <用户名> 的用户,指定登陆 shell 为 bash,所属主用户组 users,用户文件夹位于 /home/<用户名>。

    # useradd -m -g [initial_group] -G [additional_groups] -s [login_shell] [username]
    # useradd -m -g users -G wheel,storage,power -s /bin/bash <用户名>
    # passwd <用户名>   # 设置密码
    

    安装并配置顺手的 Sudo

    # pacman -S sudo bash-completion
    # sed -i 's/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers
    

    12. 配置图形界面

    安装显卡驱动

    # lspci | grep VGA    # 确定显卡型号
    # pacman -S <驱动包>
    #
    # # 官方仓库提供的驱动包:
    # # +----------------------+--------------------+--------------+
    # # |                      |        开源        |     私有     |
    # # +----------------------+--------------------+--------------+
    # # |         通用         |   xf86-video-vesa  |              |
    # # +----------------------+--------------------+--------------+
    # # |         Intel        |  xf86-video-intel  |              |
    # # +--------+-------------+--------------------+--------------+
    # # |        | GeForce 9+  |                    |    nvidia    |
    # # +        +-------------+                    +--------------+
    # # | nVidia | GeForce 8/9 | xf86-video-nouveau | nvidia-340xx |
    # # +        +-------------+                    +--------------+
    # # |        | GeForce 6/7 |                    | nvidia-304xx |
    # # +--------+-------------+--------------------+--------------+
    # # |        AMD/ATI       |   xf86-video-ati   |              |
    # # +----------------------+--------------------+--------------+
    

    安装音频

    # pacman -S pulseaudio pulseaudio-alsa alsa-utils alsa-oss alsa-lib
    

    安装触控板驱动

    # pacman -S xf86-input-synaptics
    

    中文字体

    # pacman -S adobe-source-han-sans-cn-fonts    # 可选,思源黑体
    
    # pacman -S wqy-bitmapfont wqy-zenhei wqy-microhei
    
    wqy-microhei
    ttf-dejavu 
    wqy-zenhei
    

    安装 Deepin 桌面环境

    # pacman -S xorg xorg-server
    # pacman -S deepin
    # pacman -S deepin-extra
    
    # sed -i 's/#greeter-session=example-gtk-gnome/greeter-session=lightdm-deepin-greeter/' /etc/lightdm/lightdm.conf
    
    # systemctl start lightdm.service
    # systemctl enable lightdm.service
    
    # pacman -S network-manager-applet networkmanager
    # systemctl disable netctl
    # systemctl enable NetworkManager.service
    
    

    安装 GNOME 桌面环境

    sudo pacman -S xorg
    sudo pacman -S gnome gnome-extra
    sudo systemctl start gdm.service
    sudo systemctl enable gdm.service
    

    在 /etc/pacman.conf 中,反注以下2行

    [multilib]
    Include = /etc/pacman.d/mirrorlist
    

    添加

    [archlinuxcn]
    SigLevel = Never
    Server = http://repo.archlinuxcn.org/$arch
    

    Yaourt (Yet AnOther User Repository Tool; French for ‘Yogurt’)

    不要安装 yaourt ,因为yaourt 已经停止更新维护,其最后的更新是2017-07-19 20:22

    相关文章

      网友评论

          本文标题:archlinux BIOS+GPT

          本文链接:https://www.haomeiwen.com/subject/vjbclxtx.html