Ubuntu下转移/usr等分区的方法
Ubuntu下转移/usr等分区的方法
原因:初装的时候,sconf把ubuntu只分了/和/home两个区。很快装的软件把/usr分区给塞满了。于是打算把/usr转移到新分的分区。
参考了网上很多方法。试了很多。最终得以解决。感觉部分网上写的并不合适,特此写下方法(本方法同样适用转移/home等其它分区):
1、新建分区。在liveCD中使用磁盘工具新建10G的分区。新分区名为:/dev/sda7(卷标为usr_disk)。然后重启。liveCD模式就是把安装盘放进去,直接运行Ubuntu从而不调用原系统文件。
2、转移思路:
先将原/usr的所有内容拷至新分区usr_disk,再将原/usr更名以免新挂起的和它重名。再将/usr这个目录设制成自动挂载即可。
3、步骤:
a)先将原/usr的所有内容拷至新分区usr_disk。拷之前必须让/usr不能再读写(否则拷不全)。所以需在转到level 1的情况下操作。在终端root帐户输入:init 1,然后输密码登录到root shell命令行下。
先挂载新分区:mount /media/usrdisk /dev/sda7 (若/media/usrdisk不存在需mkdir创建)
再拷:cp -pr /usr/* /media/usr_disk(权限一同拷贝)
拷备时间会很长,视文件多少而定。原/usr此时应已全部拷过去了。
b)将原/usr更名以免新挂起的和它重名。
mv /usr /usrold (正常后删除usrold文件夹即可)
c)再将/usr这个目录设制成自动挂载即可。.
自动挂载需要修改/etc/fstab文件。在文件尾部加入
/dev/sda7 /usr ext4 defaults 0 0
保存即可自动加载。
注:若在level 1上修改fstab文件,需要用ed命令改。也可以在liveCD上来改(此时需加载原根目录,注意别改错了)。
在网上看到有人为保证自动加载采用:
创建符号链接: ln -s /media/usr_disk /usr
再在fstab中加入:/dev/sda7 /media/usr_disk ext4 defaults 0 0
此方法和之前的方法相似,但又觉得多此一举。所以没有采用。
另有的文章说是看到拷贝/usr文件夹时,使用tar来做。感觉也是没必要
上面的步骤,我没有用cd盘进去, 直接在硬盘上分出了一个区
/dev/sda10
先创建了个目录,mkdir /media/usr_disk
然后复试文件 ,cp -pr /usr/* /media/usr_disk
移动/usr目录 mv /usr /usr_old
想去修改 /etc/fstab 文件,发现vi vim文本编辑器都不能用了,那个郁闷啊
第一次我有吧usr目录弄回去了。
然后再用vim编辑器修改了文件/etc/fstab,
加上了/dev/sda7 /usr ext4 defaults 0 0
记得看鸟哥的书里面,说是要mount -a挂载测试一下,要是文件写错了,很可能进不了系统。
这一测试就好了,挂载上了, 问题来了,/usr原来的那个没有办法删除了,
卸载半天,都不弄不下来了 /usr一直在上面挂着
没有办法,可能有其他的办法, 没有找到,我就把fstab添加那个行删掉了, 重启系统了
再次登录,
先修改/etc/fstab文件,加上上面的那行
然后mv /usr /usr_old
执行mount -a
提示/usr不存在, mkdir创建了一个目录,然后mount -a就ok了
执行 df 就能看到自己的/usr挂载目录了
如果mount -a不行, 看看是不是usr_disk没有umount,记得umount下