Linux更改磁盘分区大小
我在刚开始安装Ubuntu的时候基础知识不牢固,只是按照网上教程做的,其中的原理都不太懂。今天学完磁盘分区的时候,感觉当时安装ubuntu的时候分给/home的空间有点大了,53个G,我想腾出点空间备用,所以就开始折腾了。
我的步骤是这样的,启动计算机,登录界面用root身份登录,如果是以普通用户登录的话,是不能卸载你的/home分区的,会一直提示busy!所以,直接以root登录xwindow吧!
要重新分割原来分区的大小,首先就要备份,不然分割的时候数据就全丢失啦!以我binbin用户为例,我想重新把53个G收回,分给binbin15个G。我选择/tmp为临时目录,你得确保目录大小能放下你的备份。
进入/tmp,执行tar -zcpv -f binbin.tar.gz /home/binbin,关于这些选项不懂的就先照做吧。做完这一步就说明把binbin用户的所有资料都打包并压缩为binbin.tar.gz了!注意,如果你的目录下有视频文件,压缩的时候可能有点慢,所以实现把这些视频首先拷贝到其他地方,比如U盘,硬盘什么的。我们的主要目的还是在缩小分区啦!
然后,要卸载/home下的分区,先在终端df一下,记下挂载在/home下的设备名,我的是/dev/sda12。执行命令
umount /home或umount /dev/sda12j就卸载了。注意,对哪块分区改变必须先卸载它才能操作。
卸载完毕后,就进入分区阶段了。执行命令fdisk /dev/sda出现:
root@ubuntu:~# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):
如果你会磁盘分区的话就比较简单了,输入p,查看一下当前的分区表,
Command (m for help): p
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x52354190
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 6400 51200000 7 HPFS/NTFS
/dev/sda3 6400 36988 245692417 f W95 Ext'd (LBA)
/dev/sda4 36988 38914 15471960 12 Compaq diagnostics
/dev/sda5 6400 13057 53468465 7 HPFS/NTFS
/dev/sda6 16844 27287 83886080 7 HPFS/NTFS
/dev/sda7 27287 30250 23799663 7 HPFS/NTFS
/dev/sda8 13057 13306 1998848 82 Linux swap / Solaris
/dev/sda9 13306 15129 14647296 83 Linux
/dev/sda10 15130 15154 194560 83 Linux
/dev/sda11 15154 15278 999424 82 Linux swap / Solaris
/dev/sda12 30250 32208 15730009+ 83 Linux
Partition table entries are not in disk order
我的/dev/sda12已经缩小了,所以就是15G喽~原来为53G呢!然后输入d,删除该分区,选择12
Command (m for help): d
Partition number (1-12): 12
删除以后就该建立新的分区了,这次就要分小点哦~输入n,选择起始磁道号,然后结束磁道号,其实输入+15G就行了,按照提示来吧!建立好分区后,就用w保存且退出吧!
这时候,会提示要reboot才能读取磁盘分区表,我们不reboot,输入命令partprobe就可以了!
建立好分区后还不能直接挂载,要先格式化才行哦,输入命令mkfs -t ext3 /dev/sda12
好了,这样就可以挂载了:mount /dev/sda12 /home
挂载后可以去/home目录下看看,是没有东西的啊,因为刚分好的区,没写进东西怎么会有呢。下面要做的就是把刚才的备份拿过来吧,cd到/tmp,执行tar -zxvf binbin.tar.gz -C /home
好了,我们缩小分区的任务就完成啦!