..
基于 gpt 分区的 iscsi 引导踩坑
Model: ATA Example Disk (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot
Number Start End Size File system Name Flags
1 1049kB 1000MB 999MB fat32 boot, esp
2 1000MB 537GB 536GB ext4
上面这个分区表看起来非常正常。
boot 分区也拥有 /EFI/BOOT/bootx64.efi
文件来进行引导。但是这个磁盘却无法通过 ipxe
的 sanboot
命令成功引导。具体报错类似这样:
Boot from SAN device 0x80 failed: Error 0x7f22208e (http://ipxe.org/7f22208e)
磁盘里面是一个基于 chroot
安装的 alpine 系统。使用的 grub
引导。但是目前错误看起来根本没有走到 grub
的阶段。反复检查了很多地方都没有找到问题所在。最后无意间留意到这个 pmbr_boot
的 flag。之前没有怎么见过它,查询了一下发现它的描述是 this flag enables the boot flag on the GPT’s protective MBR partition.
看着好像也没有什么问题。但是还是尝试将其删除看看。运行命令:
(parted) disk_set pmbr_boot on
最后再次尝试 ipxe 引导,终于看到了 grub 的菜单。