Ubuntu 20.04 根目录磁盘扩容(2023 | 您所在的位置:网站首页 › linux如何扩容目录 › Ubuntu 20.04 根目录磁盘扩容(2023 |
这篇文章,当时只是对分区扩容的记录。当时技术水平有限,虽然文章内容没什么问题,但今天看来,有必要对其进行更新。 一、原始文章:使用Gparted软件扩容1.1 下载安装GParted1.2 U盘启动Ubuntu扩容1.3 注 二、更新内容2.1 Linux 分区、目录 的概念2.11 从Windows说起2.12 Linux分区的概念 2.2 Linux 分区为什么要扩容2.3 Linux 扩容策略 一、原始文章:使用Gparted软件扩容 1.1 下载安装GParted sudo apt-get install gparted安装后如图所示:
用U盘启动Ubuntu系统,进去之后点击试用系统。 同样打开上面的这个软件(没有的话安装一下就行了)。 在根目录磁盘上右键“调整大小”(可能是英文的注意一下) 将磁盘边界向扩容方向拉就行了(就是下图绿色的那个框框) 点击调整大小 点击菜单栏绿色对号,确定执行更改。 关机,拔出U盘。 像往常一样启动Ubuntu 你买了一台电脑,电脑里面有一个固态硬盘(SSD)、内存条(RAM)还有ROM。 电脑的ROM(Read-Only Memory,只读存储器)里面存放了一些不可修改的数据和程序,它们在电脑断电后也不会丢失。ROM一般用于存放计算机的基本程序和数据,如BIOS ROM。BIOS ROM是一种固件,它存放了计算机的硬件信息和启动程序,当计算机开机时,它会执行BIOS ROM中的程序,检测硬件设备,加载操作系统。而磁盘,则存放了你的系统、软件、数据等内容,现在电脑的磁盘都是SSD了,同样的,你断电后,这些数据也不会消失。内存条:在你运行软件(首先是操作系统)的时候起作用,它是CPU和磁盘上的数据交换的高速通道。ROM我们不用管,而内存觉得小则可以换个大的。 只有磁盘,使我们可以自主操作的部分。 一块SSD可能容量是1TB,这些存储区域在物理上是连接在一起的整块区域。但我们可以在逻辑上,把这块硬盘换分为多个区域,每个区域可以有不同的属性,比如不同的文件系统类型(不同的文件系统类型有不同的特点,比如支持的最大文件的大小,是否支持权限管理等等)。 分区之后我们可以更加灵活管理数据,比如用一个分区来安装操作系统,一个分区来安装字节下载的软件,一个分区来存放文稿数据等等。 下图是我电脑在Windows下的可见分区: 严格来说,应该成为“卷”,当然了,通常情况下可以将它和分区看成是一个概念,我们暂且用分区这个词来描述。当分区的文件系统是NTFS时,才会在上上面的资源管理器中显示,我还有一个用来安装Ubuntu的分区,文件系统是ETX4,就不会在这里显示。 Windows下的分区通俗易懂。但是到了Linux,可能就会产生疑惑。 Windows下的一个目录可能是这样的:E:\ST\STM32CubeIDE_1.13.0,而到了Linux,则变成了:/root/LinuxC/Algorithm,所有的绝对目录,都是以/开头的。 2.12 Linux分区的概念Linux 根目录:/ Linux的根目录是文件系统目录结构的顶层,是最顶层的目录,所有的文件和目录都置于根目录“/”之下。 根目录是Linux系统启动时系统第一个载入的分区,所以启动过程中用到的文件应该都放在这个分区中; 其中/etc、/bin、/dev、/lib、/sbin这5个子目录都应该要与根目录连在一起,不可独立成为某个分区。 根目录所在的分区称为根分区(或者启动分区),它是你的固态硬盘上多个分区中的一个。可以在概念上将它理解为Windows的系统盘,但并不完全一样。 Linux多分区与挂载: 和Windows类似,Linux也可以有多个分区,以便提升数据安全性、效率、支持多文件系统、支持多用户等等。 Linux至少应该有2个分区: / 分区:这是根分区,存放了Linux系统的核心文件和应用程序,是必须要有的分区。2/boot 分区:这是启动分区,存放了启动程序和内核映像,一般大小为200~500M。这个分区可以单独设置为只读模式,提高安全性当然了,Linux分区往往不止上面这2个,常用的还有: /swap:这是交换分区,用于在内存不足时作为虚拟内存使用,一般大小为物理内存的1~2倍。这个分区可以提高系统的性能和稳定性。/home分区:用户分区,存放用户的个人文件和设置的分区。这些分区都是SSD上的一块一块的存储区域,它们可以在物理上挨着,也可以不挨着。 为了便于管理,可以通过挂载操作,将这些七七八八的分区统一组织起来。 一个分区,可以自行创建多个目录。根分区的顶级目录是/,即根目录,它也是整个Linux系统目录结构的顶级目录。其他分区,通常可以挂载到根目录下的任意目录下,比如直接挂载到/下,或者挂载到/root/下,都是可以的。 挂载只是将分区与目录结构(目录树)进行关联,形成一个逻辑上的、有序的结构,这使得所有的绝对路径都是从根目录开始,而不是从某个分区开始(比如C盘、D盘),方便我们定位和访问文件。 2.2 Linux 分区为什么要扩容说到这里,你明白你为什么要扩容了吗?仅仅是系统提示你内存不足吗?你为什么需要对根目录(根分区)进行扩容呢? 如上所言,根分区是Linux操作系统所在的分区。按理说不需要太大的空间,问题出在: 安装软件:一般使用apt(Debian类)命令安装软件时,会默认安装在根分区,而经验不足的Linux使用者意识不到这个问题,或者不会修改软件的默认安装位置,或者嫌麻烦(比如我),索性还不如扩容呢。文稿与数据的存放:如果系统的分区不清楚,平常可能随便创建的目录来存放各种文件。结果文件全都存放在根分区,最终导致空间不足。 2.3 Linux 扩容策略如果你不想管那么多,那么就用我原来讲的Gparted,对根分区进行扩容就完事了。 如果你无法使用前面的方法扩容(可能是不满足一些条件),那么可以试试下面的策略。 (1)修改软件的默认安装位置 如果你有其他分区,可以考虑把软件安装到这里,而不是占用根分区。 使用 apt.conf 文件来设置 Dir 参数,指定软件包的根目录。例如,如果你想将软件包安装到 /opt 目录下,可以在 /etc/apt/apt.conf 文件中添加以下内容: Dir "/opt";(2)挂载新的分区 如果你的所有分区都空间不足,可以挂载一个新的分区,来存放数据。这个新的分区,不需要满足Gparted扩容的那些条件,应为这不是给根分区扩容,只是给你的Linux文件系统添加了一个新的存储位置。 假设你有一个不使用的分区,它原来没有被挂载到Linux,它可能位于SSD的任意位置。 可以把原来某个分区格式化,然后挂载,参考步骤: 首先,确定要格式化和挂载的分区的设备名,例如 /dev/vdb1。使用 fdisk -l 或 lsblk -f 命令查看当前的磁盘和分区情况。 比如:这是我的服务器的磁盘列表,有两块磁盘vda和vdb,都被分为了2个分区,我之前已经挂载了,所以最右边显示的有挂载点。 然后,使用 umount /dev/vdb2 命令卸载该分区,如果它已经被挂载了。如果它没有被挂载,可以跳过这一步。 如图,现在已经不显示挂载点了: 接着,使用 mkfs -t ext4 /dev/vdb2 命令对该分区进行格式化。可以选择不同的文件系统类型,如 ext4,xfs,ntfs 等。这里以 ext4 为例。注意,这一步会删除该分区上的所有数据,所以请在执行之前做好备份。 然后,使用 mkdir /root/data/new 命令创建一个挂载点(就是新建个目录)。可以选择任意一个空的目录作为挂载点,这里以 /root/data/new 为例。 接着,使用 mount /dev/vdb2 /root/data/new 命令将该分区挂载到挂载点。可以使用 df -h 或 lsblk -f 命令查看挂载是否成功。 最后,如果想让该分区在每次开机时自动挂载,使用 vim /etc/fstab 命令编辑 /etc/fstab 文件,添加一行类似于以下的内容: UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /root/data/new ext4 defaults 0 0其中,UUID 是该分区的唯一标识符,可以用 blkid /dev/vdb2 命令查看,前面的fdisk命令也显示了; /root/data/new 是挂载点;ext4 是文件系统类型;defaults 是挂载选项;最后两个数字是用于备份和检查的标志。
|
CopyRight 2018-2019 实验室设备网 版权所有 |