archlinux随笔

来源:互联网 发布:湖南广电网络董事长 编辑:程序博客网 时间:2024/04/28 19:58

Archlinux UEFI+GPT引导总结

用fusion装了一个archlinux玩玩。

虚拟机配置

固件使用efi,fusion中在连接光驱前加一行firmware=’efi’即可。然后连接后检查一下,如果变成bios就再改一下。

安装过程

使用gdisk分区。这里为了方便分成了两个,100M给esp,剩下的给根分区。

  • esp

    关于esp的用途,直接拷贝archwiki了。

    It is an OS independent partition that acts
    as the storage place for the EFI bootloaders and applications to be
    launched by the EFI firmware. It is mandatory for UEFI boot.

    总之是efi启动之必须。
    创建完后格式化为fat32

    #mkfs.fat -F32 /dev/sda1

    然后mount到/boot下

  • linux系统盘
    一样的过程,ext4文件系统。mount到/mnt下

分完区下载系统。先选镜像服务器地址。文件是
/etc/pacman.d/mirrorlist。将china的服务器移到前面。
之后
#pacstrap /mnt base
就下完了。

下完了之后生成分区信息
在开机时我们需要正确挂载分区,这就需要fstab 这里我使用的是UUID的方式识别
# genfstab -U /mnt >> /mnt/etc/fstab

然后change root到/mnt下
#arch-chroot /mnt

之后下载引导程序

  • boot loader(grub2)
    # grub-install --target=x86_64-efi --efi directory=$esp --bootloader-id=grub
    通常,不管 EFI 系统分区是否挂载,GRUB 都会将所有文件放到 /boot

注意:
一些发行版要求必须有 /boot/efi或/boot/EFI目录,但 Arch 没有这样的要求。
–efi-directory 和 –bootloader-id是 GRUB UEFI 特有的. –efi-directory 指定了 ESP 分区的挂载点,替代了已经废弃的 –root-directory
您可能注意到在 grub-install 命令中没有一个选项(例如: /dev/sda)。事实上即使提供了 ,也会被 GRUB 安装脚本忽略,因为 UEFI 启动加载器不使用 MBR 或启动扇区。

然后reboot就ok了。

bios与uefi开机流程

  • bios
    bios自检,识别设备,根据启动顺序选择启动盘,然后读取第一个扇区的mbr(主引导记录),并放入0x7c00位置的内存中。mbr共512字节,若最后两个字节不是55 AA则说明此盘不可启动,换下一个。
  • mbr
    mbr结构:
    “主引导记录”只有512个字节,放不了太多东西。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。

    主引导记录由三个部分组成:

    (1) 第1-446字节:调用操作系统的机器码。
    (2) 第447-510字节:分区表(Partition table)。
    (3) 第511-512字节:主引导记录签名(0x55和0xAA)。
    其中,第二部分”分区表”的作用,是将硬盘分成若干个区。
    其中bootloader就是第一部分。
    分区表共有64字节,每一个区用16字节,所以最多能分4个区。
    分区类型有三种:主分区、扩展分区、逻辑分区。
    扩展分区就是主分区剩下的部分,它不是实际意义上的分区,只是一个指针指向下面的部分。分区号1-4都是给主分区和扩展分区的。

bootloader的三个功能:
提供菜单、载入内核文件、转交给其他loader以实现多重引导功能。loader只能识别自己的系统分区内的可开机内核文件以及其他loader。

uefi懒得写了。改天完善

0 0
原创粉丝点击