感谢支持
我们一直在努力

Ubuntu Linux移动根分区

  自从用上了Ubuntu,发现对Windows的依赖越来越小,前两天更是把我的Vista给删了,现在系统里只有Ubuntu,于是想把Ubuntu从安装时的分区3上转到分区1上去。实验结果如下:


  声明:本人只讨论技术问题,如因此造成的数据损失及其他问题不承担任何责任。


  0:我的配置:分区:sda1 原Vista ,


  sda2扩展分区,下有两个逻辑分区(sda5,sda6),


  sda3 Ubuntu分区,


  sda4   Swap分区


  1:从LiveUSB(LiveCD)启动。


  使用现有系统的制作LiveUSB工具及安装镜像制作LiveUSB,当然你也可以用LiveCD,建议使用LiveUSB(LiveCD可能挂载分区时会无法创建目录);


  在开机启动选项里选择你的启动设备(使用Del键或F2键或F12键进入启动选项,具体视机器而定)


  2:挂载sda1和sda3。


  这个没什么好说的,可以在文件浏览器中挂载,也可以手动用mount命令


  3:移动文件。


  用 cp -ax /media/分区3/* /media/分区1/ “分区1”是sda1挂载的目录,“分区3”是sda3挂载的目录,加入-ax 参数可以保证复制时保留属性。


  4:重装grub。


  这一步的目的是保证grub从sda1寻找menu.lst文件,而不是原来的sda3。


  方法:依然是在LiveUSB上,打开终端,输入sudo grub命令,可能要等一会儿,然后出现grub>提示符;


  输入find /boot/grub/stage1,如果出现(hd0,0)   (hd0,2)两项,那就说明你复制的没问题;


  接着输入:root (hd0,0),表明启动分区是第0块硬盘上的第0分区(grub中用0表示1,1表示2,以此类推);


  然后输入:setup (hd0),将grub装到第0块硬盘上。


  5:修改menu.lst。


  这一步最关键,是能否从新系统上启动的关键。


  打开终端;


  将原来的menu.lst改名:在终端中进入分区3目录下/boot/grub目录,使用sudo mv menu.lst newfilename把menu.lst改名(newfilename为任意的其他名称)


  cd 命令进入sda1挂载目录下的/boot/grub目录;


  查看分区UUID:sudo ls -l /dev/disk/by-uuid ,记录下sda1和sda3的UUID(分区编号sdx在行尾);


  修改分区1上的menu.lst:


  sudo cp menu.lst menu.lst.backupfile (备份menu.lst文件)


  sudo gedit menu.lst,把里面sda3的UUID都替换为sda1的UUID,然后保存,关闭gedit和终端;


  注:有些人的grub可能不是使用UUID来识别分区,可以直接将menu.lst里的/dev/sda3改为/dev/sda1。


  6:重启。从硬盘启动(改回你的设定,不再使用LiveUSB启动)


  如果成功的话,进入任意目录下查看剩余空间,如果与新分区剩余空间相符,这一步进入的就是新分区了,如果你使用一段时间后没什么问题,就可以把原来的sda3删掉以作他用了。


  如果失败,将分区3上的menu.lst恢复,并在grub命令下使用root (hd0,2)然后setup (hd0),以重装grub。


  如果有什么问题,欢迎大家积极讨论。

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu Linux移动根分区
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏