Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

【前言】

  本文将要讲解的功能为Linux环境下对磁盘进行操作。包括分区、格式化、挂载外接移动存储设备等。

  该文的写作背景为本人的树莓派需要外接一个固态硬盘作为存储设备,因此,便开始了一系列的折腾。

【开发及部署环境】

开发环境:Raspberry Linux

部署环境:Rspberry Pi3

【实现过程】

  一个新磁盘要经过分区、格式化、挂载以后才可以给linux读写文件,如果磁盘已经分区且格式化过,那只要挂载即可。

  准备工作

  首先我们需要先将我们的移动硬盘或U盘插入我们的设备,然后稍等片刻,使用 fdisk -l 命令查看我们的所有设备。

  如果在上述命令敲完后,提示没有权限,则在前面加 sudo (sudo fdisk -l)即可。

  Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

  Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

  这里我们可以看到我们刚借入的硬盘(固态硬盘59.6GB)

  Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

  开始分区格式化

  一切准备就绪后,我们进行对硬盘的分区、格式化操作。这里我们采用linux下的 GPT(GUID)分区。

  用 parted 工具,可以支持很多种格式的分区,是linux平台教新的分区工具。

  接下来我们使用一系列的命令进行对硬盘的分区操作。

sudo parted  # 进入parted工具,输入help可查看帮助

select /dev/sda  # 选择你要操作的设备,一定要注意,不要把默认设备误操作了,先使用df工具查看到设备的名称

mklabel gpt  # 设定使用的分区类型, 如果要用MBR分区,输入msdos即可。

mkpart  # 添加一个分区

输入分区名称,回车

输入使用哪种文件系统,默认ext2,回车 (此处可以随意选,之后重新格式化写入文件系统)

输入分区从第几Mb的位置开始,输入1,从第1Mb开始(最好不要从0开始)

输入分区从第几Mb结束,输入2000,第2000Mb结束

此时已经分区成功,输入print查看目前分区情况

  格式化操作

  我们使用 parted 工具对对硬盘进行分区操作后,我们一定要进行格式化分区才能被使用!

  使用 mkfs 工具可以方便地对分区进行格式化。

fdisk -l  # 用该命令查找到分区的设备号,例如是/dev/sda1

mkfs -t ext3 /dev/sda1  # 将sda1分区格式化为ext3格式, 也可以用vfat格成fat32等

  由上述的一行代码即可将我们的分区很好地格式化成我们想要的格式。

  挂载操作(设置开机自动加载)

  格式化好我们的分区后,我们将其进行挂载,才能在系统中使用。

  通常情况下,我们采用 /mnt 目录作为我们的外接存储设备的挂载点,我们在该目录下新建一个目录作为我们的挂载地址(可以看成今后要使用的盘符)。

  我们切换到 /mnt 目录下:cd /mnt

  Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

  新建一个目录,本人命名为 d(暗喻D盘)。使用命令:mkdir d

  Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

  接下来我们使用 mount 命令将我们刚才格式化好的分区挂载到 /mnt/d 目录下。(mount /dev/sda1 /mnt/d

  当然卸载也很方便,如果我们不继续使用的话,可以将其卸载 。(unmount /mnt/d

  用mount命令手动挂载的磁盘,重启后就没了,需要重新挂载,这个时候可以通过修改 /etc/fstab 文件来实现开机自动挂载。

  使用命令:vi /etc/fstab 或者nano /etc/fstab 在最后一行添加:/dev/sda1 /mnt/d ext3 default 0 0

  保存完成后,我们便实现了开机自动挂载的功能。

  

【可能遇到的问题】

  1、ext格式不支持

  FAT 格式U盘mount 本身就能支持,但如果你的U盘或移动硬盘使用的是exFAT 格式,mount会说不支持。没关系,安装 exfat-fuse软件之后 mount就支持了。

  sudo apt-get install exfat-fuse  

  2、ntfs格式不在支持(同上)

   sudo apt-get install fuse-utils ntfs-3g

  3、用 fdisk -l 查看不出来外接硬盘

  第一种原因是硬盘电压不足,没有正常运行。如果是树莓派的话,很有可能,需要给硬盘进行额外供电。固态硬盘应该不需要。

  第二种原因是如果分区是 fat32 或 ext3 等文件系统,此时可以用parted工具里输入 print 查看。

上一篇:cc命令


下一篇:asp.net解决:当前上下文中不存在名称“Session”