积分305 / 贡献0

提问7答案被采纳4文章45

[经验分享] 一键优雅给Ubuntu20.04服务器挂载新磁盘 原创

润开鸿_闻飞 显示全部楼层 发表于 2024-7-11 14:14:53

itopen组织 1、提供OpenHarmony优雅实用的小工具 2、手把手适配riscv + qemu + linux的三方库移植 3、未来计划riscv + qemu + ohos的三方库移植 + 小程序开发 4、一切拥抱开源,拥抱国产化

一、小于2T磁盘挂载方式

1.1 安装磁盘到电脑后启动系统

1.2 查找未分区的磁盘

  • 打开终端输入 sudo fdisk -l查找到没有分区的磁盘
  • 已经分区的磁盘会有对应的 Device Start End Sectors Size Type信息,而未分区的磁盘没有对应的信息,通过查看当前 /dev/nvme0n1是新增加的未分区磁盘
$ sudo fdisk -l
[sudo] password for wen_fei:
Disk /dev/nvme0n1: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors # 未分区的磁盘
Disk model: Samsung SSD 980 PRO 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/nvme1n1: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors # 已分区的磁盘
Disk model: Samsung SSD 980 PRO 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6F0C9477-25AA-45D6-A027-C7186A2C5918

Device             Start        End    Sectors  Size Type
/dev/nvme1n1p1      2048    5859327    5857280  2.8G EFI System
/dev/nvme1n1p2   5859328  162109439  156250112 74.5G Linux filesystem
/dev/nvme1n1p3 162109440  220702719   58593280   28G Linux filesystem
/dev/nvme1n1p4 220702720  298827775   78125056 37.3G Linux filesystem
/dev/nvme1n1p5 298827776  376952831   78125056 37.3G Linux filesystem
/dev/nvme1n1p6 376952832  416014335   39061504 18.6G Linux filesystem
/dev/nvme1n1p7 416014336 3907028991 3491014656  1.6T Linux filesystem


Disk /dev/nvme2n1: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors # 已分区的磁盘
Disk model: Samsung SSD 980 PRO 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B6155B74-845D-4234-B637-4308B3F0C56D

Device         Start        End    Sectors  Size Type
/dev/nvme2n1p1  2048 3907028991 3907026944  1.8T Linux filesystem

1.3 磁盘分区

  • 对未分区的磁盘执行命令 sudo fdisk /dev/xxx
  • 根据提示输入 m查看指令信息
  • 根据提示输入 n开始创建分区
  • 根据提示输入 p表示创建主分区,或者输入区 e表示创建逻辑分区说明: 一块硬盘最多只能创建4个主分区,逻辑分区可以创建若干个
  • 根据提示输入 x表示创建x个分区说明: 我们挂载磁盘一般只创建一个分区即可,直接输入 1即可
  • 根据提示直接回车设置分区开始位置是从第2048个扇区开始说明: 由于 EFI的兴起,要给 EFI代码留磁盘最开始的 1M空间,即 2048*521/(1024*1024)=1M,因此分区默认第2048个扇区开始
  • 根据提示直接回车设置分区结束位置为磁盘末尾
  • 根据提示输入 w保存分区设置
$ sudo fdisk /dev/nvme0n1

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x20e2fdf1.

Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-3907029167, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029167, default 3907029167):

Created a new partition 1 of type 'Linux' and of size 1.8 TiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

1.4 格式化分区

  • 输入命令 sudo mkfs -t ext4 /dev/xxx进行格式化磁盘
  • 记住生成磁盘的 UUID为挂载磁盘使用
$ sudo mkfs -t ext4 /dev/nvme0n1
mke2fs 1.45.5 (07-Jan-2020)
Found a dos partition table in /dev/nvme0n1
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 488378646 4k blocks and 122101760 inodes
Filesystem UUID: 330fdef4-df72-47ab-afa0-0ff08ae4999f
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

1.5 设置开机自动挂载

  • 打开文件 /etc/fstab添加新分区挂载到 /data目录
$ sudo vim /etc/fstab
# /datb was on /dev/nvme3n1p1 during installation
UUID=330fdef4-df72-47ab-afa0-0ff08ae4999f /data           ext4    defaults        0       2

1.6 重启系统

  • 系统重启后查看已经有目录 /data表示挂载新磁盘成功

1.7 删除分区

  • 卸载分区:使用 sudo umount xxx
  • 对已分区的磁盘执行命令 sudo fdisk /dev/xxx
  • 根据提示输入 m查看指令信息
  • 根据提示输入 d开始删除最后一个分区,如果想删除更多的分区,则不停的输入 d即可
  • 根据提示输入 p表示打印分区表
  • 根据提示输入 w表示保存分区设置
  • 删除 /etc/fstab中原 UUID挂载的磁盘
$ sudo fdisk /dev/nvme0n1

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): p
Disk /dev/nvme0n1: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 980 PRO 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcd706ecb

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

二、大于2T磁盘挂载方式

2.1 安装磁盘到电脑后启动系统

2.2 查找未分区的磁盘

  • 打开终端输入 sudo fdisk -l查找到没有分区的磁盘
  • 已经分区的磁盘会有对应的 Device Start End Sectors Size Type信息,而未分区的磁盘没有对应的信息,通过查看当前 /dev/nvme0n1是新增加的未分区磁盘
$ sudo fdisk -l
[sudo] password for wen_fei:
Disk /dev/nvme0n1: 3.74 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: Lexar SSD ARES 4TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/nvme1n1: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors # 已分区的磁盘
Disk model: Samsung SSD 980 PRO 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6F0C9477-25AA-45D6-A027-C7186A2C5918

Device             Start        End    Sectors  Size Type
/dev/nvme1n1p1      2048    5859327    5857280  2.8G EFI System
/dev/nvme1n1p2   5859328  162109439  156250112 74.5G Linux filesystem
/dev/nvme1n1p3 162109440  220702719   58593280   28G Linux filesystem
/dev/nvme1n1p4 220702720  298827775   78125056 37.3G Linux filesystem
/dev/nvme1n1p5 298827776  376952831   78125056 37.3G Linux filesystem
/dev/nvme1n1p6 376952832  416014335   39061504 18.6G Linux filesystem
/dev/nvme1n1p7 416014336 3907028991 3491014656  1.6T Linux filesystem


Disk /dev/nvme2n1: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors # 已分区的磁盘
Disk model: Samsung SSD 980 PRO 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B6155B74-845D-4234-B637-4308B3F0C56D

Device         Start        End    Sectors  Size Type
/dev/nvme2n1p1  2048 3907028991 3907026944  1.8T Linux filesystem

2.3 磁盘分区

  • 对未分区的磁盘执行命令 sudo parted /dev/xxx
  • 根据提示输入 mklabel gpt建立GPT分区
  • 根据提示输入 Yes开始创建分区
  • 根据提示输入 mkpart primary ext4 0% 100%创建主分区
  • 根据提示输入 print查看详细信息
  • 根据提示输入 quit退出
$ sudo parted /dev/nvme0n1
GNU Parted 3.3
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/nvme0n1 will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? Yes
(parted) mkpart primary ext4 0% 100%
(parted) print
Model: Lexar SSD ARES 4TB (nvme)
Disk /dev/nvme0n1: 4097GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  4097GB  4097GB  ext4         primary

(parted) quit
Information: You may need to update /etc/fstab.

2.4 格式化分区

  • 输入命令 sudo mkfs -t ext4 /dev/xxx进行格式化磁盘
  • 记住生成磁盘的 UUID为挂载磁盘使用
$ sudo mkfs -t ext4 /dev/nvme0n1
mke2fs 1.45.5 (07-Jan-2020)
/dev/nvme0n1 contains a ext4 file system
        created on Wed Jul  3 17:44:09 2024
Proceed anyway? (y,N) y
Discarding device blocks: done
Creating filesystem with 1000196694 4k blocks and 250052608 inodes
Filesystem UUID: 7918bc9f-458c-442f-b586-53fa657b4ad2
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

2.5 设置开机自动挂载

  • 打开文件 /etc/fstab添加新分区挂载到 /data目录
$ sudo vim /etc/fstab
# /datb was on /dev/nvme3n1p1 during installation
UUID=7918bc9f-458c-442f-b586-53fa657b4ad2 /data           ext4    defaults        0       2

2.6 重启系统

  • 系统重启后查看已经有目录 /data表示挂载新磁盘成功

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部