在使用linux的过程中,有时会出现由于安装系统时分区不当造成有的分区空间不足,而有的分区空间短缺的情况.例如:我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发觉,/usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G.空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的技巧.这儿采用的是拆东墙,补西墙的方式.其实,假如你的c盘中有未分区的空闲空间,你就不用降低某个分区的空间了.
打算工作
(一)备份
首先组好备份要修改的分区中的文件.对c盘的操作显然会造成数据的遗失.开始工作之前最好将重要的数据保存到别的分区.
(二)获取相关信息.
1,运行$df,查看文件系统信息.记下你想要调整的分区对应的挂载点和设备文件.
这一步是为了查看/usr/local对应/dev/中的那个设备文件.本文以/dev/hda7为例.
2,运行#sudofdisk/dev/sda.步入fdisk,按下p,查看c盘分区信息.记下/dev/sda8的起始柱面号,中止柱面号.设她们分别为start,end.并记下一个Unit包含多少字节.
注意,文件系统大小和c盘分区大小是不能等同的:至少她们的计量单位不同.在文件系统中,通常用KB,MB,GB为单位.但在fdisk中,是以c盘的unit值(即一个柱面中包含的字节数)来估算的.我们运行#fdisk/dev/sda后,fdisk显示如下信息:
Disk/dev/sda:163.9GB,2bytes
255heads,63sectors/track,19929cylinders
Units=cylindersof16065*512=8225280bytes
(三)估算中止柱面号
e.g:原本/usr/local的大小为5000MB,起始柱面号为2550,中止柱面号为3157.这么我如今要将它的大小改为1000MB,应当这样估算中止柱面号([3.2]=4):
中止柱面号=2550[(1000*1024*1024)/8225280]=2678
使用fdisk删掉原先的分区(曾经分区的数据不会遗失!).之后新建一个分区,新分区于旧分区惟一的区别就在于分区大小不一样,这表现在她们中止柱面号不同.
降低分区大小:中止柱面号设置为空闲空间的最后一个柱面号.减少分区大小:中止柱面号由估算得出.
开始调整
在开始调整之前,最好拿一张纸记下要调整的分区的下述信息:
调整前大小,调整后大小.它挂载在那个目录,对应于/dev/中的那个设备.起始,中止柱面.
e.g:调整前:5G,调整后:1G,挂载点:/usr/local,对应于/dev/hda7.起始,中止柱面分别为2550,3157.
1,卸载分区
最好在runlevel=1的情况下卸载.
#umount/dev/
2,检测文件系统的一致性
#fsck-n/dev/
3,如够是ext3系统,还要去掉日志
#tune2fs-O^has_journal/dev/
注意:取出日志后的ext3系统是难以挂载的,使用
#tune2fs-j/dev/重建日志.
4,调整文件系统大小
#resize_reiserfs-s1000M/dev/hda7
调整完文件系统的大小之后linux 文件系统分区linux修改文件名linux驱动下载,再使用以下命令以文件系统进行全面的检测:
#reiserfsck--check--fix-fixable/dev/hda7
5,步入fdisk,调整分区大小.
#fdisk/dev/hda
因为内核一直使用旧的分区表,重启以后再进行前面的步骤.
通过以上步骤,我们早已完成了硬碟分区大小调整的操作linux 文件系统分区,接出来回到重新调整文件系统大小的问题上来。因为硬碟分区是根据柱面来计划的,我们要在resize_reiserfs步骤上就一步到位调整文件系统大小与硬碟分区大小刚好相等是比较困难的事情。所以通常是调硬碟分区比文件系统要大一点点,之后再通过以下命令进行同步(其实假如你不在乎硬碟分区上面存在部份空间的话也可以忽视以下步骤):
#umount/home/
#resize_reiserfs/dev/hda6
这样,就将/usr/local的大小调整为1G,留下了4G的空闲c盘空间。
本文引用地址: