• ubuntu 20.04 SD 卡分区类型 msdos 改为 GPT 的方法


    前言

    • 默认 SD 卡分区是 FAT32 格式,为了用于嵌入式Linux ext4 文件系统,需要改为 ext4 文件系统,但是SD 卡分区类型默认是 msdos 类型,也就是 MBR 类型,不是 GPT 类型。

    • 烧写 ext4 分区表,或者使用 ubuntu 下 gparted 分区时, msdos 类型的 SD 卡,无法设置分区的名字,只能设置分区的 label 标签

    • 问题:如何把 SD 卡分区类型由 msdos,也就是 MBR 改为 GPT 类型呢?

    msdosgpt

    • windows 下可以使用分区工具,比如 Diskgenius 把 SD 卡分区改为 GPT 分区类型

    • ubuntu 下,可以使用 parted 命令更改

    • 首先插入 SD 卡(读卡器),并让 ubuntu 系统识别,一般识别为 /dev/sdx 这样的设备,如 /dev/sdb

    • 然后运行 sudo parted /dev/sdb,注意 /dev/sdb 是 SD 卡的设备名,不要搞错

    • (parted) 提升符下,输入 print 可以查看当前的分区类型,比如 Partition Table: msdos

    • (parted) 提升符下,输入 mklabel gpt,更改为 gpt 分区类型,【备注】注意如果 SD 卡有数据,会被清空(分区不存在了,需要再重新分区)

    • (parted) 提升符下,输入 print ,可以查看更改分区类型的结果,Partition Table: gpt 表示已经更改为 gpt 分区类型了

    • (parted) 提升符下,输入 quit 可以退出 parted 命令

    • (parted) 提升符下,输入 help,可以查看相应的 parted 命令的参数与使用说明

    zhangsz@ubuntu:~/Desktop$ sudo parted /dev/sdb
    GNU Parted 3.3
    Using /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) help                                                             
      align-check TYPE N                       check partition N for TYPE(min|opt) alignment
      help [COMMAND]                           print general help, or help on COMMAND
      mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
      mkpart PART-TYPE [FS-TYPE] START END     make a partition
      name NUMBER NAME                         name partition NUMBER as NAME
      print [devices|free|list,all|NUMBER]     display the partition table, available devices,
            free space, all found partitions, or a particular partition
      quit                                     exit program
      rescue START END                         rescue a lost partition near START and END
      resizepart NUMBER END                    resize partition NUMBER
      rm NUMBER                                delete partition NUMBER
      select DEVICE                            choose the device to edit
      disk_set FLAG STATE                      change the FLAG on selected device
      disk_toggle [FLAG]                       toggle the state of FLAG on selected device
      set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
      toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
      unit UNIT                                set the default unit to UNIT
      version                                  display the version number and copyright
            information of GNU Parted
    
    
    (parted) print                                                            
    Model: Generic MassStorageClass (scsi)
    Disk /dev/sdb: 15.9GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End    Size   Type     File system  Flags
     1      12.6MB  117MB  105MB  primary  ext4
    
    (parted) mklabel gpt                                                      
    Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will
    be lost. Do you want to continue?
    Yes/No? Yes
    (parted) print                                                            
    Model: Generic MassStorageClass (scsi)
    Disk /dev/sdb: 15.9GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start  End  Size  File system  Name  Flags
    
    (parted) quit 
    Information: You may need to update /etc/fstab.
    
    zhangsz@ubuntu:~/Desktop$ sudo gparted /dev/sdb                           
    Unit tmp.mount does not exist, proceeding anyway.
    GParted 1.0.0
    configuration --enable-libparted-dmraid --enable-online-resize
    libparted 3.3
    zhangsz@ubuntu:~/Desktop$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 自此,SD 卡分区类型就更改为了 gpt 分区,类似于 emmc,可以方便的使用 gparted 进行图形分区,并可以为每个分区设置分区名字,用于 fastboot 等镜像的烧写

    小结

    • FAT 格式的 SD 卡,默认是 MBR,也就是 msdos 分区类型,可以使用 ubuntu 下的 parted 命令更改为 gpt 分区类型

    • SD 卡更改为 gpt 分区类型后,分区表丢失,需要重新创建分区,可以使用 fdisk 或者图形界面的 gparted 重新分区

  • 相关阅读:
    WCF Demo
    清洁机器人之BMS
    打地鼠(susliks) 方法记录
    精度论文Generative Prompt Model for Weakly Supervised Object Localization
    CodeTalker 踩坑实录
    羡慕实时数据看板?来看看Python的交互数据分析可视化工具! ⛵
    深入浅出的给大家分析下现在做抖音短视频还来得及吗?
    php不重新编译,添加模块
    回溯算法中组合问题的去重通用方案
    数据持久层框架:MyBatis-Plus
  • 原文地址:https://blog.csdn.net/tcjy1000/article/details/137244326