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

好了,我们缩小分区的任务就完成啦!

相关推荐