我最近买了一个小尺寸 SSD,想通过 CD 驱动器托架适配器将其放入我的笔记本电脑中。安装和设置完所有内容后,我设置了一个clonezilla拇指驱动器,这样我就可以将旧HDD的系统分区克隆到新SSD上。
我必须在这里和那里进行一些修改,例如确保我的旧分区上的 UUID 已更改,并且出于某种原因,甚至两个驱动器之间的光盘标识符是相同的......但即使我尝试通过网络搜索进行阅读结果以查明是否需要使用 grub 进行任何特殊更改,但我没有找到太多。
我继续重新启动系统,BIOS 焦点位于 SSD,但 grub 表示找不到分区并且无法启动。
如果我使用 arch Linux 安装拇指驱动器和 arch-chroot 进入我的系统,我能够找到启动内核和 initram FS 文件,甚至 grub 文件夹也在那里,一切都在那里。我确保我的 FS 选项卡具有正确的 UUID,我确实有一个单独的启动分区,但据我所知,它配置正确。我什至运行grub-make 配置命令以确保一切都是最新的。
当我重新启动时,我仍然得到 grub 救援:没有分区错误。使用 grub 救援控制台,我可以看到我的驱动器和所有分区,但如果我ls
进入启动分区,我的内核映像和 initram FS 文件都在那里,但奇怪的是没有 grub 文件夹。
有谁知道为什么当我 arch-chroot 进入我的系统时 grub 文件夹会出现,但当 Grub 尝试从同一分区启动时它不存在?
如果我遗漏了任何细节,我很抱歉。老实说,我花了一天时间尝试了各种解决方案并阅读了解释 grub 如何工作的各种网站后,我正在尝试快速上传此文件,我几乎决定废弃我的系统和引导分区,并在今晚或明天晚些时候重新安装,可能不会这次是一个单独的启动分区。我确信我不久前听到有人说拥有一个单独的启动分区是有益的,但我不知道我是否需要在这台旧的东芝笔记本电脑上使用它,而且我也觉得这又是一层令人头疼的问题,但我不需要此时需要
以下是我解决这个问题的旅程的延续:
当我今天思考这个问题时,我突然想到,对于我的单独启动分区,我必须通过我的 FS 选项卡声明它存在,并且它必须在每次启动时安装。或者也许我的意思是说,如果我没有单独的引导分区,grub 只会在我的系统分区中查找引导文件夹...这让我想到了如果我已经在计划如果要在不使用单独分区的情况下重新安装,也许在执行此操作之前我应该尝试将 arch-chroot 按当前的方式安装到我的系统中。如果我再次在该引导分区上找到我的所有文件以及完整的 grub 文件夹,即使当我的系统正常启动时,grub 似乎找不到该 grub 文件夹,也许我可以在我的系统分区中创建一个引导文件夹,然后将所有内容复制到其中。然后我当然会注释掉 fstab 中告诉系统从单独的分区挂载 /boot 的行。今晚我会尝试这个,我希望它有效
所以昨晚我能够 arch-chroot 进入我的系统,我认为我需要的所有东西都在启动文件夹中。我继续执行我之前所说的计划。我的系统仍然无法启动,并且使用 grub 救援控制台我确实看到一切都在正确的位置。我能够使用正常命令加载模块并启动系统,但我不知道为什么如果没有这些手动步骤它就无法工作。我不知道是否是因为两个驱动器仍在系统中,我计划将旧驱动器保留为数据驱动器,并且尚未擦除旧系统分区,因为我想确保没有任何问题与新的。我的新 SSD 位于光盘托架适配器中,但由于当通过相同的 SATA 连接连接时我能够从硬盘驱动器启动,因此我没有看到任何原因这会成为障碍。这绝对是一个我找不到解决方案的难题,但此时我想我已经准备好全新安装,并希望大锤解决方案能够解决一切问题。