2012-02-27 111 views
1

我需要为意外安装到错误分区上的根文件系统获取更多空间。考虑到以下分区,我可以将sda1缩小为1个字节,然后增加sda6以占用所有释放的空间,然后使用swapon/dev/sda5和swapoff/dev/sda7(尽管将sda7作为交换不会造成伤害)。移动linux根文件系统与调整其分区大小

替代方法是将所有sda6到sda1,从set root ='(hd0,6)'编辑sda1/boot/grub/grub.cfg来设置root ='(hd0,0)',然后重新安装grub所以它可以在sda1中找到grub.cfg。

sda5和sda6是意外创建的,可以放弃。

是否有任何特定的因素表明我应该选择一种方法而不是另一种?

Device Boot  Start   End  Blocks Id System 
/dev/sda1 *   1  72474 582142975 83 Linux 
/dev/sda2   72474  72962  3915777 5 Extended 
/dev/sda5   72800  72962  1296384 82 Linux swap/Solaris 
/dev/sda6   72474  72778  2442240 83 Linux THIS IS WHERE THE ROOT IS 
/dev/sda7   72778  72800  171008 82 Linux swap/Solaris THIS IS THE PRESENT SWAP 

Ubuntu 10.04.1 server(no X)。

问候, 亚历山大

回答

1

两个选项都可以给你,我会说你应该选择在分区号,你愿意的话,也就是你想要的根最终是位置的最终配置哪一个结果在sda1或sda6上?

警告:您的第一个选项无法正常显示。该选项实质上是通过将其开始块移回磁盘的开始来增长sda6。但是文件系统总是可以在它们所在分区的开头找到,因此您必须将目前拥有气缸72474的根文件系统数据移动到72778,以便它占据1至305号柱面。你已经忽略了这一步。

这里有两个金色的规则可循,然后再开始:

  • 与各部门工作,从未缸。分区不必以圆柱体边界开始和结束,因此如果以圆柱体工作,最终可能会指定错误的偏移量。
  • 从网络启动的恢复环境或从initramfs执行所有这些操作(如果这是您所拥有的全部内容)。非常小心,您可能能够从运行系统中完成它,但您凭借自己的独特性!

当然,无论你做什么,这都是一个微妙的操作。我没有测试过我在这里推荐的任何东西,并且有一个错误可能会让您获得所有数据。

这就是说,这里是一个修改后的选项#1。

  1. 将sda6的内容复制到sda1与dd
  2. 删除sda1和SDA6
  3. 创建开始起步的老sda1的偏移,并在年底的老SDA6偏移结束的新SDA6。
+0

谢谢,非常有帮助。我决定不改变分区大小,对你明确定义的含义感到不满意。 – 2012-03-01 11:07:35

+0

续:相反,我将sda6的根fs复制到了sda1,然后完成了整个grub例程(尽管它很简单,但它是一个非常繁琐的过程)。也许我会在晚些时候将未使用的分区合并到交换中,但现在大问题已经解决了。混乱与部门的想法是在我的舒适区外,但感谢您花时间和麻烦提供这种详细的援助。 – 2012-03-01 11:48:26

相关问题