VirtualBox下Ubuntu系统磁盘扩容

news2024/10/3 4:41:56

1. 正确扩容虚拟硬盘:修改虚拟硬盘和快照的虚拟硬盘大小

  1. 打开VirtualBox所在目录,打开cmd,输入命令VBoxManage list hdds,这样能够列出所有的虚拟磁盘。
  2. 找到你需要扩容的磁盘
  3. 输入命令VBoxManage" modifyhd "D:\Pat\to\VM\Ubuntu20.04.3LTS.vdi" --resize 20480,其中.vdi为你的Ubuntu系统的虚拟磁盘,注意,我使用的虚拟硬盘是动态分配存储方式。其中20480是磁盘容量,单位是MB
  4. 如何你的Ubuntu使用了快照进行备份,还需要修改备份文件的vdi大小,这一点非常重要,如果你不修改,那么也许你在VirtualBox的设置中显示了虚拟硬盘大小为20408MB,但是进入Ubuntu系统之后,大小依然是原来的大小,因为Ubuntu系统使用的是快照vdi文件。

NOTE:如果不修改快照大小,后续Ubuntu的gparted软件无法更新为扩容后大小

例如
在这里插入图片描述

UUID:           0172d852-fd6f-438c-a10c-ecb8c35289ea
Parent UUID:    ccd7d5e2-cf11-4312-bc08-5ce68a983bc7
State:          locked write
Type:           normal (differencing)
Location:       E:\Ubuntu20.04.3LTS\Ubuntu20.04.3LTS\Snapshots/{0172d852-fd6f-438c-a10c-ecb8c35289ea}.vdi
Storage format: VDI
Capacity:       150000 MBytes
Encryption:     disabled

这是我的Ubuntu系统,快照对应的vdi文件,如果不知道对应哪个,就新建一个快照,跟新建之前对比,多出来的就是了。

注意:\Snapshots/{0172d中的/要改成\,再把它的大小修改成和刚刚一样的大小。

然后你会在virtualbox的设置--存储中,看见对应的磁盘大小改变了。
在这里插入图片描述

参考资料:Guest system does not see the updated disk size in VirtualBox

2 修改Ubuntu系统的容量:卸载–>扩容–>挂载

这里我们扩容了虚拟磁盘的大小,但是Ubuntu系统并不会自动扩容,你还需要为其分配空间。

你需要安装gparted软件,sudo apt-get install gparted

打开软件

在这里插入图片描述

这里的未分配空间,就是我们扩容的大小,你要将其分配。

在这里插入图片描述

选中要扩容的分区,右键单击,再扩容即可。

在这里插入图片描述

之后确认。

特别注意,如果你像我一样,想要扩容根目录/下的磁盘,这种方法会失败,因为【磁盘扩容前必须卸载之后再扩容】

在这里插入图片描述

先卸载磁盘,让其停止运行,之后扩容,之后再mount挂载磁盘。

而根目录是无法在系统启动的时候卸载的,这种情况,你只能使用U盘启动方式,这里不讲解这个,假设你可以卸载磁盘并扩容,到此就完成了。

关于硬盘分区,自动挂载,你可以参考Linux Ubuntu 硬盘挂载方法

3 无法卸载情况下的其他解决方案

我们需要扩容某个常用的文件夹,将其挂载到一个大容量的新磁盘下。

  1. 为系统添加一个新的虚拟硬盘
    在这里插入图片描述

  2. 将该文件夹(假设文件夹名称为name1)的所有内容拷贝到该虚拟硬盘

    1. name1相同路径下,创建一个文件夹mkdir name2
    2. 把磁盘挂载到name2下,sudo mount /dev/sdb1 name2dev/sdb1为新添加的磁盘,请使用sudo fdisk -l命令查看该磁盘的名称。
    3. name1文件夹下所有文件夹和文件,拷贝到name2下,使用命令sudo cp -v -a name1/* ./name2
  3. 偷梁换柱,让name1在系统看起来没变化,实际上name1存储到了新的磁盘中

    1. 修改name2的权限,由root改为用户权限,chown -R user:group ./name2
    2. name1的文件名修改为别的,mv name1 name3
    3. name2修改为name1mv name2 name1
  4. 运行name1中的程序,看是否可以正确运行,此时name3其实你可以删掉了,但是以防万一,还是备份呆着比较好

解释一下为什么这样做:文件夹本来在原磁盘中,挂载到新磁盘之后,会显示新磁盘的内容,而原磁盘的内容会被隐藏,这导致很麻烦。通过完全拷贝的方式,解决这个问题。

此外注意一下cp命令,我们不需要把name1文件夹及其子文件夹拷贝,只需要拷贝其子文件夹,因此使用了name1/*。如果直接把name1拷贝到name2下,name1将会成为name2的子文件夹,这样和原有路径不一样了。

对于cp命令,如果使用cp -a name1 ./name333,而name333本来不存在,就相当于拷贝整个name1并改名为name333,而不是把name1文件夹作为name333的子文件夹存储。而挂载磁盘的文件夹是必须存在的,就不能通过这种方式复制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

米尔STM32MP135核心板 又一款入门级嵌入式开发平台

自2007年意法半导体(ST)推出STM32首款Cortex-M内核 MCU,十几年来,ST在MCU领域的发展是飞速向前的。而2019年ST发布了全新的STM32MPU系列产品线,STM32MP1作为新一代 MPU 的典范,有着极富开创意义的异构系统架构兼容并蓄…

WMS智能仓储

子产品介绍篇--智能仓储 智能仓储 我们通常也称 WMS 系统。是一个实时的计算机软件系统,它能够按照运作的业务规则和运算法则,对信息、资源、行为、存货和分销运作进行更完美地管理,提高效率。 一. 仓储管理系统(wms)…

javaweb过滤器与监听器

一、过滤器程序的基本结构、web.xml文件的配置过程和过滤器的执行过程 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"https://jakarta.ee/xml/ns/jakartaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&quo…

MobPush创建推送

功能说明 MobPush提供遵循REST规范的HTTP接口&#xff0c;适用各开发语言环境调用。 IP绑定 工作台可以绑定服务器IP地址&#xff0c;未绑定之前所有IP均可进行REST API的调用&#xff0c;绑定后进仅绑定的IP才有调用权限。 调用地址 POSThttp://api.push.mob.com/v3/push/c…

03.vue3的计算属性

文章目录1.计算属性1.get()和set()2.computed的简写3.computed和methods对比2.相关demo1.全选和反选2.todos列表1.计算属性 模板内的表达式非常便利&#xff0c;但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。所以&#xff0c;对于任何…

CRM系统是什么?它有什么作用?

CRM系统是什么&#xff1f; CRM是Customer Relationship Management&#xff08;客户关系管理&#xff09;的缩写&#xff0c;是一种通过对客户进行跟踪、分析和管理的方法&#xff0c;以增加企业与客户之间的互动和联系&#xff0c;提高企业与客户之间的互信&#xff0c;从而…

GoNote第一章 环境搭建

GoNote第一章 环境搭建 golang介绍 1. 语言介绍 Go 是一个开源的编程语言&#xff0c;它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发&#xff0c;后来还加入了Ian Lance Taylor, Russ Cox等人&#xff0c…

oracle远程克隆pdb

使用远程克隆的先决条件是: oracle版本是12.2以上,开启归档模式以及本地undo. 这里是想从172.16.12.250将PRODPDB1克隆到172.16.12.251下&#xff0c;命名为PRODPDB1COPY。 1 确保源端数据库开启归档模式 备注&#xff1a;进cdb里开启归档。 2 在源数据库中&#xff0c;确保…

2023年环境工程与生物技术国际会议(CoEEB 2023)

会议简介 Brief Introduction 2023年环境工程与生物技术国际会议(CoEEB 2023) 会议时间&#xff1a;2023年5月19日-21日 召开地点&#xff1a;瑞典马尔默 大会官网&#xff1a;www.coeeb.org 2023年环境工程与生物技术国际会议(CoEEB 2023)将围绕“环境工程与生物技术”的最新研…

【教程】Unity 与 Simence PLC 联动通讯

开发平台&#xff1a;Unity 2021 依赖DLL&#xff1a;S7.NET 编程语言&#xff1a;CSharp 6.0 以上   一、前言 Unity 涉及应用行业广泛。在工业方向有着一定方向的涉足与深入。除构建数据看板等内容&#xff0c;也会有模拟物理设备进行虚拟孪生的需求需要解决。而 SIMATIC&a…

测评:腾讯云轻量4核8G12M服务器CPU内存带宽流量

腾讯云轻量4核8G12M应用服务器带宽&#xff0c;12M公网带宽下载速度峰值可达1536KB/秒&#xff0c;折合1.5M/s&#xff0c;每月2000GB月流量&#xff0c;折合每天66GB&#xff0c;系统盘为180GB SSD盘&#xff0c;地域节点可选上海、广州或北京&#xff0c;4核8G服务器网来详细…

02-参数传递+统一响应结果

1. 参数传递&#xff1a; -- 简单参数 如果方法形参数名称与请求方法名称不匹配&#xff0c;采用RequestParam注解 -- 实体参数 -- 数组集合参数 -- 日期参数 -- JSON参数 -- 路径参数 2. 统一响应结果 -- 1. 创建Result类&#xff08;放到pojo包中&#xff09; package dem…

centos8 源码安装 apache(内附图片超详细)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…

Redis 如何实现库存扣减操作和防止被超卖?

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…

《Rank-LIME: Local Model-Agnostic Feature Attribution for Learning to Rank》论文精读

文章目录一、论文信息摘要二、要解决的问题现有工作存在的问题论文给出的方法&#xff08;Rank-LIME&#xff09;介绍贡献三、前置知识LIMEFeature AttributionModel-AgnosticLocalLearning to Rank&#xff08;LTR&#xff09;单文档方法&#xff08;PointWise Approach&#…

工业相机标定(张正友标定法)

目录 相机标定的概念 a. 相机标定的定义 b. 相机标定的目的 相机标定的过程 a. 标定板选择 b. 标定板摆放及拍摄 c. 标定板角点提取 张正友标定法 a. 反解相机矩阵 b.反解畸变系数 使用Python进行相机标定 a. 安装OpenCV b. 准备标定板图片 c. 利用OpenCV进行角点…

HashMap、HashTable、ConcurrentHashMap 之间的区别

哈喽&#xff0c;大家好~我是保护小周ღ&#xff0c;本期为大家带来的是 HashMap、HashTable、ConcurrentHashMap 之间的区别&#xff0c;从数据结构到多线程安全~确定不来看看嘛~更多精彩敬请期待&#xff1a;保护小周ღ *★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* ‘一、…

内存、CPU与指针的知识

在计算机中&#xff0c;内存、CPU和指针是非常重要的概念。在本篇博客中&#xff0c;我们将探讨内存、CPU和指针的知识。 内存的概念 内存是计算机中的一种存储设备&#xff0c;用于存储程序和数据。内存可以被CPU读取和写入&#xff0c;因此是计算机中非常重要的组成部分。在…

006:Mapbox GL添加zoom和旋转控件

第006个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加zoom和旋转rotation控件 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共60行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:h…

【数据结构第八章】- 排序(万字详解排序算法并用 C 语言实现)

目录 一、基本概念和排序方法概述 1.1 - 排序的基本概念 1.2 - 内部排序的分类 二、插入排序 2.1 - 直接插入排序 2.2 - 希尔排序 三、交换排序 3.1 - 冒泡排序 3.2 - 快速排序 3.2.1 - 递归算法 3.2.2 - 优化 3.2.3 - 非递归算法 四、选择排序 4.1 - 简单选择排…