当我尝试在我的系统上安装 grub 时出现以下错误:
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
我在 Google 上搜索过,发现这是一个空间问题,但我不明白,因为分区之间有足够的空间。这些是我的分区表:
对于我的主磁盘:
Device Start End Sectors Size Type
/dev/sda1 30720 206847 176128 86M Microsoft basic data
/dev/sda2 206848 468991 262144 128M Microsoft reserved
/dev/sda3 468992 167772159 167303168 79.8G Microsoft basic data
/dev/sda4 167792640 177772543 9979904 4.8G Linux filesystem
/dev/sda6 177793024 185792511 7999488 3.8G Linux swap
/dev/sda7 185812992 488378367 302565376 144.3G Linux filesystem
对于我的辅助磁盘:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 904949759 904947712 431.5G 7 HPFS/NTFS/exFAT
/dev/sdb2 904970238 1953523711 1048553474 500G 5 Extended
/dev/sdb5 904970240 1953523711 1048553472 500G 83 Linux
我的主磁盘是 SSD 磁盘,辅助磁盘是 HDD 磁盘。我想将 SSD 磁盘用于操作系统(Windows 7 和 Ubuntu 16.10),将辅助磁盘用于保存数据。
在 Ubuntu 中我有以下分区:
/dev/sda4 --> /boot
/dev/sda6 --> swap
/dev/sda7 --> /
/dev/sdb5 --> /home
在 SSD 磁盘中,我在磁盘开始处、分区之间和磁盘末尾有 10MB 的未分配空间。
为什么我可以解决这个错误?也许在分区之间添加更多未分配的空间?有什么想法吗?
谢谢。
答案1
您可以在磁盘上运行 gdisk,创建 BIOS 启动分区,最后再次运行 grub。仅凭记忆,我认为您可以尝试以下步骤(请查看 gdisk 的手册页,因为我不能保证不会丢失数据!!)。
sudo gdisk /dev/sdX
# type x for expert menu
# type l to set the sector alignment value
# set it to 1
# type m to go back to main menu
# type n to create a new partition
# choose a partition number (e.g. 128)
# first sector: 34
# last sector: 2047
# Hex code or GUID: ef02 (BIOS boot partition)
# type w to write your partition table and exit