将/boot移动到单独的分区

我在一个使用BTRFS文件系统的分区上安装了Ubuntu 12.04,但是似乎grub2对这个文件系统有些问题。由于某种原因,它启动起来需要很长时间,并且根本不显示操作系统选择界面。
所以我决定将我的/boot目录移动到一个单独的ext2文件系统的分区上。但是我不知道具体应该采取哪些步骤。请帮忙!:)

这个教程很详细地描述了该过程:https://help.ubuntu.com/community/BootPartition - LovinBuntu
1我认为操作系统选择界面不显示与btrfs无关,这只是grub2设置的问题,详见维基 - arand
2个回答

大致来说:
1. 创建一个分区并格式化为ext2。 2. 将旧的/boot文件夹中的内容复制到新分区的根目录下。 3. 使用单独的引导项编辑fstab,并在新的引导位置上运行grub-install命令(使用--boot-directory=选项)。 4. 启动并祈祷。
如果出现问题,可能更方便从LiveCD中进行操作(这样可以更容易修复)。

你可以使用GParted来完成。按照以下步骤操作:
1. 在软件中心安装GParted,或者在终端中使用命令"sudo apt-get install gparted"进行安装。 2. 卸载/boot分区,例如:假设/boot分区位于/dev/sda7,可以使用命令"sudo unmont /dev/sda7"进行卸载。如果不知道分区的位置,可以在GParted中查看。 3. 执行GParted,并在需要时输入root密码。 4. 现在,点击/dev/sda7(当然,假设/boot位于/dev/sda7),然后点击"Remove Partition"按钮。 5. 删除分区后,选择新的未分配空间,然后点击"Create new partition"。 6. 现在,按照安装过程中的步骤创建一个新的boot分区。完成后,点击"Apply all the changes"按钮。 7. 在新分区上安装grub:使用命令"sudo grub-install /dev/sda7"(假设新分区为/dev/sda7)。
重启一下,应该就能正常工作了。希望如此!如果有用,请告诉我们!

1修改/etc/fstab怎么样?如果你的运行系统中没有一个/boot目录,那就根本不可能更新内核了。另外,我认为如果你需要直接从分区/dev/sda7引导启动,安装Grub是不太合适的选择。 - gertvdijk