Linux 引导加载程序与分区 (Bootloader & Partitioning)
-
Comparison of boot loaders - WikipediaWikipediaComparison of boot loaders
-
Mac OS X 需要 GUID 或 Apple File System 分区。
-
MBR vs EFI vs UEFI
-
MBR vs GPT
cat /proc/partitions
cat /proc/version
lsusb -tESP (EFI System Partition)
- ESP - EFI SYSTEM PARTITION - 一般为 FAT32 或 FAT 变种
- EFI system partition - WikipediaWikipediaEFI system partition
- BIOS boot partition - WikipediaWikipediaBIOS boot partition
Alpine Linux LVM & UEFI
dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/sda创建 UEFI 启动 USB (Create UEFI Boot USB)
DEVICE=/dev/sdb
parted --script $DEVICE mklabel gpt
parted --script --align=optimal $DEVICE mkpart ESP fat32 1MiB 200MiB
parted --script $DEVICE set 1 boot on
gdisk -l /dev/sdb
# mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
mkfs.vfat -n Alpine ${DEVICE}1
mount -t vfat ${DEVICE}1 /mnt
wget https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.8/releases/x86_64/alpine-standard-3.8.0-x86_64.iso
cd /mnt && uniso < ~/alpine-standard-3.8.0-x86_64.iso
mkdir -p loader/entries
cat << CONF > loader/loader.conf
default alpine
timeout 4
CONF
# boot/syslinux/syslinux.cfg
cat << CONF > loader/entries/alpine.conf
title AlpineLinux-Vanilla
linux /boot/vmlinuz-vanilla
initrd /boot/initramfs-vanilla
options modules=loop,squashfs,sd-mod,usb-storage quiet nomodeset
CONF
cd ~ && umount /mntPartitioning Status
- MBR: protective
- BSD: not present
- APM: not present
- GPT: present
OVMF & QEMU
- OVMF "is a project to enable UEFI support for Virtual Machines".
- OVMF - KVM
- Using UEFI with QEMU - Fedora
- AArch64/Install with QEMU - Fedora
- UEFI/OVMF - Ubuntu Wiki链接wiki.ubuntu.com/UEFI/OVMFOpen Virtual Machine Firmware (OVMF) · Ubuntu UEFI/OVMF · Debian SecureBoot/VirtualMachine · Kraxel Repos · Use to specify the OVMF firmware.笔记:QEMU UEFI Support (OVMF)
- tianocore/edk2GitHubtianocore/edk2
QEMU:
-L path: set the directory for the BIOS, VGA BIOS and keymaps
Parted & GPT
Parted commands:
mklabel msdos
unit MiB
mklabel gpt
mkpart 1 1 256
name 1 boot
set 1 legacy_boot on
mkpart 2 256 100%
set 2 lvm on
partprobeUse sgdisk and parted:
# 转换为 GPT
parted -s /dev/sdb 'mklabel gpt'
# 编辑 GPT 分区
gdisk /dev/sdb
# 脚本操作 http://www.rodsbooks.com/gdisk/sgdisk-walkthrough.html
# -p 查看分区 -o 清除分区表 -g 转换 MBR 为 GPT -n 删除分区 -n 添加分区 -c 更改分区名
# -t 分区类型 -v 校验 -Z 清除分区数据,当需要从新分区的时候使用
sgdisk -og /dev/sdb参考资料 (References)
- Unified Extensible Firmware Interface - WikipediaWikipediaUnified Extensible Firmware Interface.efi 存储在 ESP/EFI System Partition 分区 · 分区标识 EF · 分区格式为 FAT 或 FAT32 · efibootmgr - 管理 efi 变量,控制使用的启动文件 · 参考 · Understanding UEFI Secure Boot Chain笔记:UEFI
- EFI system partition: Linux - WikipediaWikipediaEFI system partition
- Windows To Go - WikipediaWikipediaWindows To Go
- syslinux: UEFI Systems - ArchWiki
- What is the difference between GRUB and Syslinux? - Ask Ubuntu
- Unified Extensible Firmware Interface - ArchWiki
- Das U-Boot - WikipediaWikipediaDas U-BootDas U-Boot -- the Universal Boot Loader · Manual · wikipedia Das U-Boot · 主要用于嵌入式系统的开机加载程序,可以支持多种不同的计算机系统结构. · 支持架构 · 68k, ARM, Blackfin, MicroBlaze, MIPS, Nios, SuperH, PPC, RI...笔记:U-Boot
Bootloader Features
| Feature | SYSLINUX | Das U-Boot | GRUB 2 |
|---|---|---|---|
| Platforms | x86 (PC) | PPC, ARM, MIPS, x86, etc. | x86, ARM, PowerPC, MIPS, SPARC |
| Filesystems | ext2/3/4, btrfs, FAT16/32, NTFS, iso9660 | FAT, ext2/3/4, jffs2, ubifs, nfs | ext2/3/4, btrfs, zfs, xfs, FAT, NTFS, iso9660 |
| OS Support | GNU/Linux | Linux, BSD, RTOS, Solaris, etc. | Linux, BSD, Solaris, Multiboot |
| Network | TFTP | TFTP, NFS | ? |
关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
GitHub1 条
- tianocore/edk2github.com/tianocore/edk2
Wikipedia6 条
- EFI system partitionWikipedia:EFI system partition
- BIOS boot partitionWikipedia:BIOS boot partition
- Comparison of boot loadersWikipedia:Comparison of boot loaders
- Das U-BootWikipedia:Das U-Boot
- Unified Extensible Firmware InterfaceWikipedia:Unified Extensible Firmware Interface
- Windows To GoWikipedia:Windows To Go
其他外链14 条
- askubuntu.com/questions/651902/what-is-the-difference-between-grub-and-syslinuxaskubuntu.com/questions/651902/what-is-the-difference-between-grub-and-syslinux
- fedoraproject.org/wiki/Architectures/AArch64/Install_with_QEMUfedoraproject.org/wiki/Architectures/AArch64/Install_with_QEMU
- fedoraproject.org/wiki/Using_UEFI_with_QEMUfedoraproject.org/wiki/Using_UEFI_with_QEMU
- serverfault.com/questions/104923/unrecognised-disc-label-when-using-parted-with-qemu-imagesserverfault.com/questions/104923/unrecognised-disc-label-when-using-parted-with-qemu-images
- support.apple.com/kb/PH6382support.apple.com/kb/PH6382
- wiki.alpinelinux.org/wiki/Create_UEFI_boot_USBwiki.alpinelinux.org/wiki/Create_UEFI_boot_USB
- wiki.alpinelinux.org/wiki/Installing_on_GPT_LVMwiki.alpinelinux.org/wiki/Installing_on_GPT_LVM
- wiki.alpinelinux.org/wiki/Setting_up_LVM_on_GPT-labeled_diskswiki.alpinelinux.org/wiki/Setting_up_LVM_on_GPT-labeled_disks
- wiki.archlinux.org/index.php/syslinuxwiki.archlinux.org/index.php/syslinux
- wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interfacewiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
- wiki.ubuntu.com/UEFI/OVMFwiki.ubuntu.com/UEFI/OVMF
- www.linux-kvm.org/page/OVMFwww.linux-kvm.org/page/OVMF
- www.makeuseof.com/tag/how-to-boot-a-linux-live-usb-stick-on-your-macwww.makeuseof.com/tag/how-to-boot-a-linux-live-usb-stick-on-your-mac
- www.syslinux.org/wiki/index.php?title=Installwww.syslinux.org/wiki/index.php?title=Install