一键优雅为Ubuntu20.04服务器挂载新磁盘

avatar
作者
猴君
阅读量:0

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空间,即2048521/(10241024)=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表示挂载新磁盘成功

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!