网友A给出的方法:
可能有不少人遇到这个问题:看到介绍说用wubi来装ubuntu既方便又安全。第一次用ubuntu的时候又对他要求的空间分配又没什么概念,就随手给了个5,6g心想应该是够了。结果安几次软件升级几次发现分给的空间迅速被用完。然而Wubi分配的空间实际上是一个大的文件,没有办法直接扩充。这里介绍一个工具能够方便的重新分配Wubi安装的Ubuntu的空间。
到这里下载LPVM的deb包,在Ubuntu下可以直接安装。
这个软件主要就是辅助Wubi用户来将Wubi安装的Ubuntu复制到整个硬盘分区或者扩展Wubi分配的大小。这里主要介绍一下他重新分配大小的功能。
其实LPVM重新分配大小的原理很简单。他在你安装Wubi的分区内按用户的需求生成一个新的.disk文件,再将用户当前的Ubuntu使用的.disk文件全部复制到新的文件中。
根据这个我们可以很容易发现有几个重要的注意事项:
* 新分配的空间必须比原来Wubi分配的空间要大,否则无法正确的完成复制。
* 在你安装Wubi的分区必须有足够的剩余空间。
LPVM不能直接在原来的.disk文件上扩展,而必须要单独生成新的文件。假如你原来Wubi分配的空间是5G,你现在想要把他分配到10G,那么请注意你安装Wubi的分区必须有15G以上的空间才能保证LPVM正常的工作。
着重讲以上几点的原因是貌似LPVM不会自己检查这些问题,如果不能满足这些条件LPVM仍然会工作但是生成的.disk文件往往有问题。
接下来介绍下基本操作:
* 下载LPVM的deb包,在Ubuntu下直接运行安装。可以在系统菜单->系统工具->LPVM找到它。
* 运行LPVM,会出现下面的窗口:
* 我们要重新分配大小,选择resize。
* 输入你希望的新的大小。
* 然后等LPVM自己生成和复制文件了。
* 注意这个过程需要相当长的时间...而且他的进度条不会正常的一直往前走,所以需要一点耐心。
* 之后会弹出完成画面,并告诉你需要自己手动用新的.disk文件覆盖原来的。
* 重新启动进入你的Windows,找到安装Wubi的目录。我的是在D:/ubuntu下面。
那么里面会找到一个disks文件夹。里面应该有new.disk,swap.disk,和一个new.disk。将root.disk剪切出去备份起来,把new.disk重命名为root.disk,重启进入Ubuntu即可。
网友B给出的方法:
背景:
电脑磁盘空间总数160G,Windows 7扎根C盘(sda1),30G;Ubuntu 10.04LTS,25G,sda7。尚有部分闲余磁盘空间可用。
目的:
增加Ubuntu文件系统空间。
方式:
1,清理Ubuntu系统垃圾;
2,挂载新磁盘,从根本上解决Ubuntu空间不足问题。
内容:
一,分区挂载方式增加文件系统空间:(强烈建议将/home/xiaoz备份,以避免误删用户数据,造成系统配置回复默认状态。)
1)在Windows 7下,使用磁盘分区工具划分15G,格式化为EXT3,备用;
2)进入Ubuntu的恢复模式(recovery mode),选择root,输入root密码,进入root用户;
3)若之前磁盘没格式化为EXT3(或EXT4),现在也可格式化:
#mkfs.ext3 /dev/sda6 (我分出的15G是sda6)
4)由于我们是要将新分区挂载到/home目录下,故先备份/home内容:
#mv /home /home.bak (也就是将/home重命名为/home.bak)
使用recoverymode时等待一到两分钟可以复制完;如果你进入的是正常的Ubuntu并使用root用户进行的操作时,会出现错误提示:没有权限复制文件.gvfs。有人说这是Ubuntu的BUG可以忽略,我试过,忽略之后确实没什么问题。(关于这个.gvfs文件的具体作用,有待今后研究,在此先略过)
5)如果你的/home目录已经挂载了某个分区,先卸载掉,并将/home删掉:
#umount /home
#rm /home
6)在根目录下重新创建/home目录,作为新分区挂载目录:
#mkdir /home
7)挂载新分区到/home目录下:
#mount /dev/sda6/home
8)这时新分区已经挂载好,可以将备份的/home复制过来了:
#cp -R /home.bak/* /home
(将备份的/home.bak下的子目录按照原本的目录结构复制过来)
9)赋予之前用户的权限:
#chown -R xiaoz:xiaoz/home/xiaoz
(请将xiaoz替换成你的用户名)
10)编辑/etc/fstab文件,使挂载的新分区能开机自动挂载:
#vi /etc/fstab
输入“i”进入编辑模式;在最后一行添加:
/dev/sda6 /home auto 0 0
请注意是auto,我试过用default,貌似出问题了。
按ESC退出编辑模式,输入“:”,输入wq!,RET退出。
11)删除备份的home文件:
#rm -rf /home.bak
12)重启:
# reboot
查看/根目录和/home目录,空间已经增加(关于空间增加,貌似是这样的:假设之前你的根目录剩余空间19G,在/home目录下显示剩余空间也是19G,当你往/home目录下塞东西时,上述两个剩余空间均减少;重新挂载后,利用磁盘分析工具可以看到磁盘空间增加了,但是根目录下仍显示19G剩余空间,而/home目录下显示的是接近15G(新目录分区大小,可能偏小点),当你往/home目录先塞东西时,/home剩余空间减少,/根目录剩余空间没变。貌似是这样的)。
基本流程就是这样。此时,你的用户文件(/xiaoz)已经在新分区(/sda6)下面了,如果操作不慎将新分区卸载了,或者没有设置开机自动挂载新分区,在开机之后将会无法进入桌面而停留在登录界面。并且会出现以下常见错误提示:
1)could not update ICEauthority file/home/xiaoz/.ICEauthority
2)配置服务器有错(usr/lib/libconf2-4/gconf-santity-check-2的退出状态为256)
3)Nautilus无法创建下列所需的文件夹:/home/xiaoz/Desktop,/home/xiaoz/.nautilus,在运行前请创建这些文件。
当然,很多问题可以导致上述错误提示,我在网上搜罗了一些针对上述问题的解决方案:
对于第一个问题:
#sudo chown xiaoz:xiaoz/home/xiaoz/.ICEauthority
#sudo chmod 644/home/xiaoz/.ICEauthority
对于第二个问题:
方案一:以root用户登录,创建新用户;
方案二:#chmod 1777 /tmp (没看懂什么意思)
此处显然运用以上方法解决不了,必须挂载新分区。以root登录系统,挂载新分区可以解决问题:
#mount /dev/sda6 /home (最好按照上面的方式将/etc/fstab也改改)
如果你的新分区别有他用,想从/home下面卸载掉,但又想让用户顺利登录到桌面,可以再次进入recovery mode按照以下步骤操作:
1)先将/home目录下的用户文件夹备份:
#mkdir /usr.bak
#cp -R /home/*/usr.bak
2)卸载掉/dev/sda6:
#umount /dev/sda6
#umount /home
#rm /home 将原来的/home删除掉,如果觉得没必要可以跳过,我当时是这样做了。
3)创建新的/home
#mkdir /home
4)复制备份到/home
#cp -R /usr.bak/*/home
5)设置用户权限:
#chown -R xiaoz:xiaoz/home/xiaoz
6)修改/etc/fstab文件,删掉最后一行。在此不再赘述。
7)删除备份:
#rm -rf /usr.bak
这里要注意的是,在复制用户文件时确保复制完全,不要出现用户文件丢失的问题出现。用户文件丢失会导致系统的一些个性化配置回复到默认状态。
二,清理系统垃圾:
从网上搜刮总结以下几点常用的垃圾清理方法:
1)非常有用的清理垃圾命令:
#sudo apt-get autoclean
#sudo apt-get clean
#sudo apt-get autoremove
这三个命令主要清理升级缓存及无用包。
2)删除旧内核及相关配置,可以进入/boot目录查看,将下列文件删除:
abi-2.6-32-XX-generic
config-2.6-32-XX-generic
initrd.img-2.6-32-XX-generic
System.map-2.6-32-XX-generic
vmlinuz-2.6-32-XX-generic
vmcoreinfo-2.6-32-XX-generic
请特别注意系统当前内核版本号,不要删错了!!!
3)删除/lib/modules里面的旧核的相关模块文件:
Linux-header-2.6-XX-XX-generic
把所有过时的内核文件都删了!
------------------------------------