-2

我正在尝试将我的可启动 USB 驱动器从 MBR 转换为 UEFI。我已经准备好 ESP(vfat,appr 512 MByte,设置了“esp”和“boot”),调整了 /etc/fstab 等,安装了 efimanager 和 grub-uefi-amd64(替换 grub-pc),但是当我运行grub-install 在同一个 chroot 中,然后它说

# grub-install --efi-directory=/boot/efi /dev/sdf
Installing for i386-pc platform.
# ls -al /boot/efi/
total 8
drwxr-xr-x 2 root root 4096 Jan  1  1970 .
drwxr-xr-x 4 root root 4096 Feb 26 11:45 ..

这似乎不对。显然 ESP(安装在 /boot/efi 中)没有设置。运行结果相同dpkg-reconfigure grub-uefi-amd64

# blkid | grep sdf | sort
/dev/sdf1: PARTLABEL="bios_grub" PARTUUID="61668ee3-f367-457d-acaf-85757419f43b"
/dev/sdf2: LABEL_FATBOOT="ESP" LABEL="ESP" UUID="9ED5-05AC" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="esp" PARTUUID="32d3509d-6480-4376-af8b-2ee9fd6092c4"
/dev/sdf3: LABEL="root" UUID="15b2bf8d-3578-4f0e-82fb-dfa797acddd4" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="b7a56599-cc93-4fe0-9c8b-9f7c917813e1"
/dev/sdf4: LABEL="swap" UUID="442b58b3-9242-40cc-879d-802bcf8eed13" TYPE="swap" PARTLABEL="swap" PARTUUID="f28922cc-5f5a-4acd-b723-39fd6a438e24"
/dev/sdf5: LABEL="none" UUID="e262fcf4-ed94-4743-8b06-8305a99be22a" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="none" PARTUUID="c7c342f3-3d79-404e-b6d3-2dc516638e04"
/dev/sdf6: LABEL="export" UUID="15dbca62-8e90-44a1-b797-f22a57891d01" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="export" PARTUUID="41263693-05f1-40e7-a308-2c4fcd4c621f"

# parted /dev/sdf u s p
Model: SanDisk Extreme SSD (scsi)
Disk /dev/sdf: 488396800s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start       End         Size        File system     Name       Flags
 1      63s         2047s       1985s                       bios_grub  bios_grub
 2      2048s       1048575s    1046528s    fat32           esp        boot, esp
 3      1048576s    100663295s  99614720s   ext4            root
 4      100663296s  167772159s  67108864s   linux-swap(v1)  swap
 5      167772160s  268435455s  100663296s  ext4            none
 6      268435456s  488394751s  219959296s  ext4            export

# cat /proc/self/mounts
/dev/sdf3 / ext4 rw,noatime,stripe=256 0 0
/dev/sdf2 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /tmp tmpfs rw,nosuid,relatime,size=131072k 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=131072k,mode=755 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=16397324k,nr_inodes=4099331,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run/udev tmpfs rw,nosuid,nodev,noexec,relatime,size=3284020k,mode=755 0 0

设置 /boot/efi 缺少什么魔法?

哈里

4

1 回答 1

0

找到它:我必须明确运行

grub-install --efi-directory=/boot/efi --target=x86_64-efi /dev/sdf
于 2022-02-27T09:09:52.910 回答