VMWare 下的ubuntu 磁盘扩展

在客户机关机状态下:
选择实用工具,扩展。



扩展成功后,启动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 是磁柱,坑爹啊 ,是不是ubunt惹的祸,还在网上看到某人发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,呵呵

不过,问题来了,重启之后,又不见了,来偷瞄下别人博客,自动挂载
虽然变红了,不过还是生效了。建议修改之前先备份一个,免得改错,


猜你喜欢

转载自blog.csdn.net/u012459903/article/details/80212151