Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103696306
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-08 13:33:32

作者: Axflue     出自:
  本文首先要讨论的是为什么要将好好的linux根分区给迁移掉,说到这个问题我就是一肚子火啊!

  原因就是windows的无理、霸道和BT,具体是这样的,我原先的分区情况如下图所示:

  

Click here to open new window

  已经有4个主分区了,其中有一个swap分区,3个ext3格式的分区,本打算把最后一个ext3的分区删掉,建一个扩展分区,再在里面建两个fat32的逻辑分区,把XP安装在其中之一上。可能有的朋友已经发现我这样的想法基本上是无法实现的,试了很久都没有办法。究其原因可能有两点:

  1、windows要求装在主分区上。
  2、windows要往硬盘的第一个主分区(也就是/dev/hda1)上面写一些文件用于引导,但此时我的那个分区是ext3格式的,windows不认识。(唉,终于发现装windows还是要比装linux难一些的。)

  好,接下来就只能无奈地把我的第一个主分区让给那个变态的windows了,但是我可不想就这样重装我的linux,所以就开始了我的根分区迁移历程了。我用的是ubuntu7.04的desktop CD来启动(没试过直接在运行着的linux下面复制文件,不过理论上也完全可行),启动好了以后,调整分区结构,如下图所示。

  

Click here to open new window

  然后将原来的根分区和新的根分区分别mount到两个目录下面。执行

   sudo cp -ax 原目录/* 新目录

  这里一定要注意的是必须加上这个ax参数,否则的话,复制到新的分区后,所有文件的拥有者都会变成root,那麻烦可就大了,而cp命令的ax参数可以阻止这样的事情发生,它会把所有的文件权限按原样复制好。这一步可能要等比较久,等文件复制完毕以后,为了能让grub正确引导需要相应修改一些新目录/boot/grub/menu.lst这个文件,又为了能让系统自动挂载其他分区(包括/home分区),还要修改一下新目录/etc/fstab这个文件。具体的修改方法很多地方都有了,这里就不再讨论了。

  另外,等装完windows以后还要在用desktop CD启动,重装一下grub才算完工。
阅读(525) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~