摘要:【原创】转载请注明作者Johnthegreat和本文链接

由于虚拟机空间不足,为了避免重装虚拟机,做了一次无损扩容。

过程中的报错如下:

为了详细记录,这里将整个过程详述如下:

一、问题和需求

1. 碰到的问题:虚拟机之前设置的空间太小,安装软件过多导致无法使用;

2. 需求:需要增加虚拟机根目录的容量,事实上,这样的需求和解决问题的方法应该也适用于物理硬盘,注意谨慎操作。

3. 系统和软件情况:

1)虚拟机管理器:VirtualBox 6.1

2)虚拟机:Redhat的社区版CentOS 8

3)操作系统:Windows 10

4)CentOS操作用户身份:root,如果你的不是root身份,注意sudo

二、操作步骤概览

1. 首先在VirtualBox层增加虚拟机的容量,我这里展示的是增加2G,也就是虚拟机从原来整体8G,增加为10G;

2. 然后启动CentOS,使用LVM(Logic Volume Manager),即逻辑卷管理进行挂载和扩展。坑都在这里。

3. 操作成功前后的对比图,可以看到root下的容量从原来的6.2G增加到8G:

操作前:

操作后:

三、具体操作命令/截图

退出虚拟机,然后开始一步一步如下操作:

1. 首先找到你的CentOS系统所在位置,如果是默认的话,应该在用户目录的C:\Users\(用户,这里替换成你自己的)\VirtualBox VMs\CentOS8这个文件夹下,如下:

发现虚拟机磁盘文件是vdi格式的,所以在当前地址栏敲入cmd,进入windows下的cmd命令行,并且在当前目录下,然后敲入如下命令:

VBoxManage modifyhd centos.vdi --resize 10000

这里注意红色字代表10G,我是从原来8G扩展到10G,这里的单位是Mb。

2. 打开VirtualBox,启动虚拟机,如果VirtualBox检测到硬盘容量变化,要求你确认,那就确认一下;

3. 启动后,进入命令行,然后查看设备信息,使用命令lsblk(list block),即列出设备信息:

会发现,已经有sda1和sda2,这个时候,想当然认为增加的空间是sda3,使用pvcreate(physical volume create)创建物理卷:

这里出现文章开头的错误信息。

我们仔细观察上面的设备信息,会发现新增加的容量并没有在列表中出现,尽管sda有10G,但是sda1和sda2加起来只有8G,所以另外2G应该是没有发现,我们需要先对磁盘进行操作。fdisk是Linux下的一个创建和维护分区表的命令,接下来我们使用它。

4. 敲入fdisk /dev/sda命令,我们可以进入到fdisk的交互界面,注意确认自己操作正确前,不要按下w,有疑问按下q先退出搞清楚再重新进入继续操作:

5. 在交互界面,输入n(创建新的分区),然后回车,接下去,都可以直接4次回车,分别都是表示使用默认设置,注意这里默认的分区数字是3,即sda3。

6. 上面创建好后,我们在交互界面继续输入p(打印准备好的分区表),确认无误后,输入w(写入分区);

7. 至此,我们已经创建好了分区表,也可以看到sda3了,所以重新从上面出错的地方继续执行,即可创建成功:

pvcreate PV /dev/sda3

8. 扩展到卷组,我们vgdisplay命令查看一下自己所在的卷组:

看到VG Name是cl,所以进一步扩展到卷组:

vgextend cl /dev/sda3

9. 扩展到逻辑分区,使用lvextend(logical volume extend逻辑卷扩展)

lvextend /dev/cl/root /dev/sda3

10. 我们df -h查看一下文件系统的磁盘空间占用情况:

这里我们发现磁盘没有按照预期的扩容,因为我们没有刷新逻辑分区的容量。

11. 于是,刷新逻辑分区的容量,按照惯例使用resize2fs(调整ext2\\ext3\\ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小),如下命令:

resize2fs /dev/cl/root

发现找不到可用的超级系统块,这是什么鬼?

我们使用df -Th查看,发现文件系统是xfs,原来,CentOS7开始,预设的文件系统就由原本的EXT4变成XFS文件系统了,所以resize2fs命令设置无效。

12. 由于是xfs增量文件系统,所以我们使用xfs_growfs命令,注意上面的Mounted on是挂载点,这里我们的挂载点就是根目录:

xfs_growfs /

13. 大功告成!我们使用df命令查看一下最终结果:

df -h

好了,以上就是扩展磁盘容量的所有内容,如果你有疑问,或者有更好的解决方案,欢迎留言交流,谢谢!

怎么把linux虚拟机硬盘扩容,Windows下虚拟机Linux(CentOS8)扩容设置 - 磁盘扩容中的坑和解决方法...相关推荐

  1. windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法

    windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法 参考文章: (1)windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法 (2)https://www. ...

  2. Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法

    Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...

  3. Windows下使用pip安装模块发生“failed with error code 1”的解决方法

    Windows下Python安装部分模块时出错,错误代码类似于下面这种: Command "f:\python\python36\python.exe -u -c "import ...

  4. cygwin学习linux命令,cygwin 在windows下使用linux命令的方法

    cygwin 在windows下使用linux命令的方法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 但是cygwin ...

  5. 远程访问linux图像桌面,在windows下远程访问linux桌面

    中等难度SQL语句(存储过程,分页,拼接字段.游标,日期类型转换,动态行转列,视图)汇总 一.创建存储过程 if Exists(select name from sysobjects where NA ...

  6. linux 虚拟机直播网站,快速搭建自己的直播服务器,完成属于你的直播服务。(以windows 下虚拟机centos为例,对安装步骤进行详细说明)...

    本文以srs v2.0-r8  安装为例,对搭建直播服务器的搭建和安装过程中的注意事项,进行详细的说明. 点击跳转到 教程原文 1.Windows下安装linux centos系统,版本建议 5.7- ...

  7. 查看和修改vmdk的软件DiskGenius Windows下读写Linux之EXT3文件系统Ext2Fsd

    DiskGenius 虚拟机的最佳伴侣,很很的分区软件. Windows下读写Linux之EXT3文件系统,Ext2Fsd软件 很多从Windows平台转到Linux下的朋友都不会只在机器上装一个Li ...

  8. windows下编译linux内核,windows上可编译Linux内核

    编译过程: 1). 解压后默认的文件夹位置是在D:\Linux-0.11,如果你不是将文件解压到该目录下, 你要修改MinGW32目录下的MinGW32.bat文件,将里面的PATH指向MinGW32 ...

  9. dll可以在linux下使用吗_无需虚拟技术,6步直接在Windows下使用Linux

    Windows和Linux是大家熟知并且常用的两大操作系统.相信每一个使用计算机的人,都至少使用过它们其中之一.但由于它们之间的竞争关系和不同内核技术.所以我们一直认为它们之间很难共存,虽然伴随着虚拟 ...

最新文章

  1. 三个优秀的语义分割框架 PyTorch实现
  2. keras如何解决局部最小问题
  3. 【机器学习】一文读懂层次聚类(Python代码)
  4. qml自定义switch_QML官方系列教程——Qt Quick Controls Styles
  5. linux批量切割图片,MAC中用Shell脚本批量裁剪各种尺寸的App图标
  6. 浏览器兼容的JS写法总结
  7. 25. 文件系统——源程序的编译安装(make,make install,ldd,ldconfig -v)
  8. HTC 一个基站老无法定位
  9. R 计算平均值标准误差
  10. PTA 7-1 判断素数
  11. hugo搭建个人博客
  12. 计算机usb连接外设后不能启动,usb连接电脑没反应解决方法
  13. 算法复杂度分析,算法复杂度o(1), o(n), o(logn), o(nlogn) 时间复杂度On和空间复杂度O1是什么意思?
  14. 华北电力计算机学什么,华北电力大学有什么王牌专业?北京人眼中如何?
  15. 如何判断一家软件公司是否靠谱
  16. 服务器 虚拟声卡,虚拟声卡,小编教你怎么安装虚拟声卡
  17. Php绘制棋盘,第二次DIY棋盘,纯手工绘制完美棋盘
  18. coding之外的3个日常:开会、提问和读书
  19. IP网络主动测评系统
  20. 《万能数据库查询分析器》创作人之2014年总结

热门文章

  1. linux系统怎么安装cas,CAS 在Linux中安装与配置
  2. java 微信图片上传_微信小程序图片上传java端以及前端实现
  3. springboot指定属性返回_SpringBoot中必须掌握的45个注解
  4. Maven常用的命令
  5. 数据库两个表有一个字段互相关联,根据这个关联字段更新一张表
  6. 整理的一些常用的CSS HACK
  7. 神经网络其实并不需要那么深!普林斯顿大学英特尔提出ParNet,12层的网络就能达到80%以上的准确率!...
  8. 目标检测: Anchor-Free 时代
  9. DivideMix: Salesforce提出使用半监督学习大幅改进含噪声标签的学习
  10. 编译原理 计算机科学丛书_计算机科学导论(二)