VMWare 下的ubuntu 磁盘扩展

=============20200701补充===========

原文是两年前写的blog,用的ubuntu还比较老,看起来磁盘空间也不大,现在又要扩盘虚拟机,看了自己之前的博客感觉很是啰嗦,故再次补充修改部分。
基本步骤和原理,还是一样,首先设置虚拟机软件vmware,配置硬件来加大磁盘空间。  然后进虚拟机ubuntu系统中去,这个时候 ubuntu系统相当于发现磁盘增大了,磁盘还是一个磁盘,没有变为两个,但是空间增大了,新增的空间上面没有分区,处于未分配状态。 要使用这块空间,
一种方法是:新建一个分区把这个未使用的空间给到新分区,(下面老的文章即是如此),然后把细新的分区挂载上去。 相当区于wind上面多了一个盘符。
另一种方法:把新增加未使用分区追加到以前的分区(推荐,这样我们不需要做任何挂载的操作,不用把文件移到新的挂载目录上来,直接在原来的基础上就扩大了空间
操作也简单,桌面版的Ubuntu上有现成的可视化gui分区工具
#sudo apt-get install gparted
运行#gparted
下面的操作和wind上的磁盘管理差不多. 如果用pe u盘装过wind系统的话应该比较熟悉。
选择原来使用的分区->右键->更改移动大小->鼠标往右拉满->调整大小-》点击界面上的绿色勾勾按钮,提交流程。ok
再#df -l 一下,就可看到效果了 

====================================

在客户机关机状态下:

选择实用工具,扩展。

扩展成功后,启动ubuntu,手动给磁盘添加新的分区,然后格式化新的分区。(千万注意格式化操作,要选对新的分区,否则把以前的文件给格式化了。)

知识拓展: 一个磁盘最多能创建4个主分区,然后在主分区中可以再划分逻辑分区。

新建分区时,一般使用默认参数,但如果你原先的分区地址不连续 ,默认参数会优先使用这个地址,导致新建的分区只是一个碎片,并没有把磁盘所有空间利用,比如我碰到的这样的问题:

查看当前已经存在的分区的使用情况

df -h

sda磁盘的sda1分区 大小7.5G 挂载在系统的更目录 /

sda磁盘的sda6分区 大小12G 挂载在 /home 目录下。

这两个分区都已经爆满。

接着看下磁盘的分区情况:

啥都没有?不,需要root用户登录才可以:

sudo -i切换到root用户

磁盘sda 共32.2G sda1 为启动引导分区 (BOOT下面的*标记) 地址(暂且成为地址吧)

补充: 这个是柱面(磁道), 从 2048 (外圈) 到 15624191 (内圈) 这个范围内的磁道

磁盘大小这么算 (15624191 - 2048 )(单盘面磁道数)* 63(每个磁道扇区数)*521byte(扇区大小,固定值,扇区应该是个单位,不同磁盘其能力不同每个磁道容量不同,体现在磁道扇区数) 255 (磁头数,即盘面数)

(15624191 - 2048+1)x 63 x 512byte x 255= 128 496 508 600 320 byte = 122543820 M ???

崩溃,如果start 和end表示磁柱 那么单sda1 就 15624191 - 2048 =1560371 个磁柱了,和总的磁柱数 3916 cylinders完全不是一个数量级啊。网上各种说start 和end 是磁柱,还在网上看到某人发ubuntu 12.04 添加硬盘的博客,里面的数据竟然也是这样离奇,稍有安慰。,这个ubuntu 12.04 确实很奇怪,没理解

补充: 结果在第二次扩展磁盘的时候,看到输出

 

新建分区填 start 之后有提示, first sector (这里表示的是扇区啊,不是柱面,原来如此)

重新计算下:

(15624191 - 2048+1)*512b= 7998537728 byte = 7.9G (按1000算)

= 7811072 Kb (按1024算) 刚好就是后面的block 的大小,哈哈

现在知道了,从blocks看大小,

下面

sda1 7.8G 主分区

sda2 13G 扩展分区 (扩展分区是可以在其上建立逻辑分区的)

sda3 31G 主分区(刚刚第二次扩展的)

sda4 10.4G 主分期(第一次扩展的)

sda5 & sda6 建立在sda2上的逻辑分区 0.9 +12.1 = 13

一个磁盘sda 的 四个主分区号都用掉了,看来以后是没办法再添加了,可以另加磁盘

3+1

一个硬盘可以有1到3个主分区和1个扩展分区,也可以只有主分区而没有扩展分区,但主分区必须至少有1个,扩展分区则最多只有1个,且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。  

(硬盘的第一个扇区最重要,其上面有硬盘主引导记录(占用446bytes)和分区表(占用64 bytes),之所以只能有四个主分区就是因为分区表只有64B,只能装下4条记录)

所以只能有四个主分区的硬盘的限制,并不是操作系统的限制,而最多只能有一个拓展分区则是操作系统的限制

 

一个磁道 63 x 512 = 32256 = 32.25Kb

63 x 512 x 255 = 7.844 M 这个磁盘大概一个柱面 7.8M

按厂家的1000 b = 1Kb来算

63 x 512 x 255 = 8225280 = 8.2 M (一般以这个计算)

这个磁盘一共有3916 cylinders = 32111.2 M = 32.11G

2048~15624191

sda2 Extended扩展分区,发现,sda5 和sda6 地址是在sda2内部的,这就对了,这是逻辑分区。上面说过,主分区最多只能分配4个(1~4),这里都用到5、6了,肯定不是主分区,5、6 是主分区sda2上的逻辑分区。

来初略估计下两个已经存在的主分区大小: sda2 的结束地址 13157377 大概。。。怎么计算后续再研究----------------------------------------

 

先不处理,直接新建分区,

执行 fdisk /dev/sda (sda是磁盘,sad1 2 3 等是这个磁盘上的分区,现在扩展了磁盘,但是这个扩展的空间上还没有建立分区,没法使用,下面的步骤就是要建一个分区,把扩展的这个空间都给它放到一个新的分区上去)

新建主分区,选择p(p,主分区,l逻辑分区,括号里面表示当前已有一个 主分区,一个扩展分区还有两个号可以用), 使用默认值3,(1、2已经被使用了,剩下3、4)。开始和结束地址都按默认值。

最后发现,新建的分区如此小,难道虚拟机扩展没成功,并不是,因为使用的默认值,而这个15624192~15626240刚好是在sda1和sda2之间的一块未被使用的地址,默认值就优先把这个连续的地址用了,后面在格式化该分区时,直接提示磁盘too small .

两种解决方法

1:新建分区的时候不使用默认值

2:还有一个主分区可用,再建一个分区使用默认值,自然跳过这个坑。

 

补充:这个可不是磁盘碎片哦:

其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的

 

 

懒点就采用第二个方法:

可以看到主分区都不用选,直接为4,现在大小就对了,新建的4 41940992~62914559

接着把填坑用的sda3给delet掉

记住最后输入w保存,然后按提示reboot 或者 执行partprobe。

一定是在确定操作对后保存,如果操作错误,也可以利用这一点,输入q不保存退出

接着对建好的分区格式化,注意千万要选对,不然数据被格掉

如果碰到:

请看上面,记住最后输入w保存,然后按提示reboot 或者 执行partprobe。

到此,建一个文件夹然后挂载上去就可以用了

新的空间,9.2G,呵呵

不过,问题来了,重启之后,又不见了,来偷瞄下别人博客,自动挂载, 修改/etc/fstab文件如下,然后重启。

虽然变红了,不过还是生效了。建议修改之前先备份一个,免得改错,

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值