解决Linux安装过程中不能安装Grub的问题

参考,部分转载和万分感谢:解决Linux安装过程中不能安装Grub的问题


关卡1:

从前段时间折腾了很久,刚开始是因为/boot区已经占满了,那么为什么会占满呢?因为当时尝试初次手动分区,然后参考了网上的分区方案,其中一个说/boot分区100M绝对够用够用了,然后我就天真地就分了100M,然后后面就悲剧地天天被kali警告/boot分区已经基本占满。

被这个问题折腾地崩溃了,但是一直没有想到好办法,但是最近发现自己可能真的是老了,很多简单易懂的事情都无法理解。

我的目的如下:

1. 整个移动硬盘已经完全分区完毕,没有任何空闲分区留下,而且都或多或少有一些使用,个人不是那么爱冒险的人

2. 在分区的时候配置了,swap分区,分区的大小大约为内容大小的1.5倍

然后今天下午,看见一篇文章说,只需要直接放弃原来的efi分区,重新分一个efi分区即可。

所以我就灵机一动,直接将swap分区格式化,然后分出了1GB的分区作为efi分区,然后将剩余的空间重新作为swap分区不就行了= =,在修改后改变/etc/fstab配置文件即可,因为使用的mac,直接使用自费的extfs软件进入ext4格式的系统进行文件修改操作(这个软件有试用期的)


关卡2:

然后紧接着就是grub-install失败的问题了:(后面就是直接转载的部分了)

在grub-install的时候,具体问题如下:

sh-4.3# grub-install /dev/sdb
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: error: embedding is not possible, but this is required for cross-disk install.

有一个不是办法的办法,就是不用Grub呗,可以使用syslinux,不过我不想用。具体方法在这里:

https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install

解决Grub的方法:

就是在分区前面加上一个2MB大小的分区,设定它的标志为“bios_grub”。

如果你是Arch,那么可以在安装过程中下载:

sh4.3# pacman -S parted

好像还有一个软件要安装,具体没有注意,系统会有提示的,我一会再看看是什么,补充上来。

然后执行:

parted /dev/sdb set 1 bios_grub on

这里的“1”就是那个2MB大小的分区

具体执行过程如下:

sh-4.3# parted /dev/sdb set 1 bios_grub on
Information: You may need to update /etc/fstab.                           
 
sh-4.3# parted /dev/sdb print
Model: ATA WDC WD20EZRX-00D (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
 
Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  3049kB  3032kB  ext4               bios_grub
sh-4.3# grub-install /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.

这样就可以正常安装Grub了。

希望你喜欢!

发布了302 篇原创文章 · 获赞 26 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_31433709/article/details/104622142