5.ubuntu磁盘的分区、格式化、挂载、分区扩容

时间:2024-02-19 13:45:50

目的:对硬盘U盘等磁盘进行分区、格式化、挂载、分区扩容

 

基础知识:一块硬盘可以有多个分区,如同windows下的c盘就是一个分区,D盘就是另外一个分区,实际可能C盘D盘在一块硬盘上,即只有一个硬盘,我们分成多块使用。linux下的一块硬盘也能分成多块使用,但是与windows有些差别,主要在挂载上。windows是不需要挂载就能用的,linux需要挂载才能用。有的linux会自动挂载,有的不会。我们也可以把系统自动挂载的目标目录,更改成到其他目录。当然不自动挂载的,我们需要挂载后再使用。

 

1.查看磁盘信息

sudo fdisk -l  #查看系统有几块硬盘和每个硬盘的分区情况

    注:需要记住自己要操作的硬盘是哪一个,比如/dev/sda,还需要记住这块硬盘的分区方式。

 

sudo df -h #查看硬盘挂载情况和使用情况

注:这个只显示挂载的分区,不挂载的不显示。

2.分区的删除和创建

(注意!!!可能可能会丢失被操作硬盘里的数据,注意备份!!其实当我们只删除分区表时,数据不会删除,只要再建一个和原来起始位置一样,结束位置大于等于以前的分区,文件依然存在,这也是一种分区扩容方法。)

电脑的硬盘有两种分区方式:MBR和GPT。MBR 分区表需要使用 fdisk 分区, GPT 分区表需要使用 gdisk 分区(老电脑和虚拟机一般为MBR)

查看分区表分区方式:

 fdisk -l #磁盘类型是dos的是MBR,不是的是GPT

首先进入fdisk或gdisk工具:

sudo fdisk /dev/sda #如果为MBR类型

sudo gdisk /dev/sda #如果为GPT类型

 

进入后m是帮助,可以显示出所有可用的命令

下面列几个常用的:

p为打印当前分区表

d为删除分区  

n为新建分区  

w为保存并退出

q为不保存并退出

 注意:数据的大小是按块来计算的,不是按MB、GB来计算。一个块多大,使用p时可以看出来,我的一个section是512B。

分区新建、删除之后,需要使用w保存之后再重启机器才会生效。

 

3.分区的格式化

 

我们可以使用 mkfs 命令格式化分区,具体命令如下:

 sudo mkfs -t 文件系统格式 分区    ,例如:

sudo mkfs -t ext4 /dev/sda1

注:sudo mkfs -t 之后按两下tab可以显示出支持的格式。

 

4.分区的挂载

分区的挂载就像给分区建一个快捷方式,挂载之后可以通过挂载的目录来访问分区。Linux外接U盘或移动硬盘时,有的版本会自动挂载,有的不会。会自动挂载的版本会将硬盘挂载到一个指定目录,而不自动挂载的系统,我们需要挂载后才能访问分区。所以如果我们需要进行挂载和重新挂载是就需要如下操作。    

 

使用下面的命令可以查看硬盘挂载情况。

sudo df -h #查看硬盘挂载情况

 

(1)临时挂载方法(重启后失效):

sudo mkdir /samda #创建挂载的目标文件夹

sudo chmod 777 /samba #添加权限(按需使用)

sudo umount /dev/sda1 #取消已经的挂载(按需使用)

sudo mount -o  /dev/sda1 /samda #进行挂载

 

现在已经挂载完成,可以查看挂载情况:

sudo df -h #查看硬盘挂载情况

出现里面的16gbU盘挂载到了/samda

 

如果用完后卸载挂载,使用如下命令:

sudo umount /samda

 

(2)开机自动挂载磁盘方法:

sudo vi /etc/fstab

最后一行加入

 

/dev/sda1 /samba vfat rw,defaults 0 0

注意:如果用这种方法指定某磁盘开机自动挂载,当没有插入该设备时无法正常开机(一般是U盘),会进入emergency模式,网络无法连接上。这时需要用串口进入调试界面重复以上步骤,删除自动挂载该磁盘的那一行脚本。

 

5、分区扩容

分区扩容,有两种情况

(1)、在需要扩容的分区后边有空闲的空间,我们只想把该分区的结束位置向后调整一下。(相当于windows里的扩展卷)

(2)、不满足第一种情况的。比如一个硬盘只有一个分区硬盘已满;这块分区后边没有可用的空间的。

1.对第一种情况:

我们进入fdisk /dev/sda

p打印分区表,记住目标分区的名字和起始号

d删除想要扩容的分区

n新建分区 ,名字为以前的,起始地址也是以前的,结束地址设置成你想要的。

w写入分区表并退出

sudo reboot #重启

sudo resize2fs /dev/分区对应的名字

例如

sudo resize2fs /dev/sda1

 

2.对第二种情况,做法是:把两块或多块物理上不连续的分区(可以上同一硬盘上的,也可以是不同硬盘上的),使用软件拼成一块。(这里太长了,未完待续)