前言

在使用树莓派利用SD卡启动系统的过程中,如何配置一张新买的空SD卡也是一个必不可少的技能。本文主要是介绍如何将SD卡分成boot和root两个分区,操作流程主要分为分区、格式化两步

操作流程

  • 分区
    查看插入的SD卡情况,可以看出目前插入了一张32G(29G)的SD卡,系统分配给其的名字是/dev/sdb,目前存在1个分区,名字分别为/dev/sdb1,格式是W95 FAT32 (LBA)

    hsq@ares:~$ sudo fdisk -l
    Disk /dev/sdb: 29 GiB, 31104958464 bytes, 60751872 sectors
    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: 0x9c2d2e7aDevice     Boot Start      End  Sectors Size Id Type
    /dev/sdb1  *     8192 60751871 60743680  29G  c W95 FAT32 (LBA)
    

    操作分区信息前先卸载掉系统对SD卡的自动挂载

    hsq@ares:~$ umount /media/hsq/kingston
    

    然后利用fdisk命令进行分区操作

    hsq@ares:~$ sudo fdisk /dev/sdbWelcome to fdisk (util-linux 2.27.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.Command (m for help): p #这里也可以查看SD卡分区情况
    Disk /dev/sdb: 29 GiB, 31104958464 bytes, 60751872 sectors
    Units: sectors of 1 * 512 = 512 bytes #默认每个扇区0.5KB
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x9c2d2e7aDevice     Boot Start      End  Sectors Size Id Type
    /dev/sdb1  *     8192 60751871 60743680  29G  c W95 FAT32 (LBA)Command (m for help): d#删除当前的分区,有几个分区就要运行几次d
    Selected partition 1
    Partition 1 has been deleted.Command (m for help): n #创建一个新的分区作为boot分区
    Partition type
    p   primary (0 primary, 0 extended, 4 free)
    e   extended (container for logical partitions)
    Select (default p): #一般用默认的主分区即可Using default response p.
    Partition number (1-4, default 1): #分区号默认按序即可
    First sector (2048-60751871, default 2048):  #起始扇区序号默认即可
    Last sector, +sectors or +size{K,M,G,T,P} (2048-60751871, default 60751871): 205824 #终止扇区序号,2000个扇区是1MB,这里与初始扇区差值约为100MBCreated a new partition 1 of type 'Linux' and of size 99.5 MiB.Command (m for help): t #改变分区类型
    Partition type (type L to list all types): L #打印所有的支持类型,很长这里省略
    ······
    ······
    ······
    Partition type (type L to list all types): c #选择类型c,即W95 FAT32 (LBA)作为boot类型Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.Command (m for help): n #再创建一个分区作为root分区
    Partition type
    p   primary (1 primary, 0 extended, 3 free)
    e   extended (container for logical partitions)
    Select (default p): #默认Using default response p.
    Partition number (2-4, default 2): #默认
    First sector (205825-60751871, default 206848): #默认
    Last sector, +sectors or +size{K,M,G,T,P} (206848-60751871, default 60751871): #默认把剩下所有的空间都分配给rootCreated a new partition 2 of type 'Linux' and of size 28.9 GiB.Command (m for help): p #查看一下重新分区后的信息
    Disk /dev/sdb: 29 GiB, 31104958464 bytes, 60751872 sectors
    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: 0x9c2d2e7aDevice     Boot  Start      End  Sectors  Size Id Type
    /dev/sdb1         2048   205824   203777 99.5M  c W95 FAT32 (LBA)
    /dev/sdb2       206848 60751871 60545024 28.9G 83 LinuxCommand (m for help): w #保存分区信息,注意需要之前卸载掉系统对SD卡的自动挂载,否则这里会有一个警告
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
  • 格式化
    分区后还要对SD卡的各个分区进行格式化和重命名

    hsq@ares:~$ sudo mkfs.msdos /dev/sdb1 -n boot #将第一个分区sdb1格式化为fat类型,并重命名为boot
    mkfs.fat 3.0.28 (2015-05-16)
    mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
    hsq@ares:~$ sudo mkfs.ext4 /dev/sdb2 -L root #将第二个分区sdb2格式化为ext4类型,并重命名为root
    mke2fs 1.42.13 (17-May-2015)
    Creating filesystem with 7568128 4k blocks and 1892352 inodes
    Filesystem UUID: 9702d479-9bc1-4c72-9398-70d018b9fbd5
    Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    

问题解决

  1. 问题: 用fdisk命令分区结束后w保存时出现警告
    错误提示:Re-reading the partition table failed.:Device or resource busy
    原因分析:因为用fdisk命令前没有卸载系统自动挂载的SD
    解决:umount /media/hsq/kingston

  2. 问题:挂载分区虽然成功但是有报警告
    错误提示:Volume was not properly unmounted
    原因分析:多次意外掉电造成的。据说可以把分区文件夹的权限设置为只读而避免这个问题,没验证过
    解决:在ubuntu主机上用以下命令修复。参考

    fsck.fat -V /dev/mmcblk0p1
    
  3. 问题:
    错误提示:
    原因分析:
    解决:

参考资料

[1] flash介绍 https://www.cnblogs.com/jxjl/p/7138133.html
[2] 本文参考的雷同文章 http://www.360doc.com/content/16/0108/20/12144668_526479541.shtml
[3] 本文参考的雷同文章 https://www.iteye.com/blog/womendu-1229916
[4] 本文参考的雷同文章,提到了一个专家模式 http://www.roboby.com/making_sd_card_for_linux_boot.html

树莓派SD卡手动格式化相关推荐

  1. 格式化树莓派SD卡(恢复SD卡到满容量)

    环境 树莓派,已装 Ubuntu 系统的 SD 卡,Mac mini 问题描述 SD 卡想要回收再利用,需要将其格式化到满容量. 如果直接在电脑上格式化,只会释放出部分容量.将SD卡插入树莓派USB口 ...

  2. 树莓派3b+ CENTOS7 制作备份Raspberry Pi树莓派SD卡的img映像文件(不用dd命令)[转载]...

    2019独角兽企业重金招聘Python工程师标准>>> 之前复制或者备份树莓派的SD卡,都是用dd命令全盘复制,可以用,但是这样有两大缺点: 1. 慢 2. 一个大的SD卡,比如64 ...

  3. 【Jetson-Nano】SD卡重新格式化

    文章目录 1.打开磁盘管理系统 2.打开powershell,以管理员身份运行 3.输入diskpart,并按回车键 4.输入 list disk,并按回车 5.输入select disk #,并按下 ...

  4. linux读取树莓派SD卡,树莓派系统(Linux)SD卡存储设备的命令行使用

    本文介绍了SD卡读卡器通过usb连接到树莓派的挂载和卸载的操作,以及SD卡的格式化以及查看SD卡容量的命令行操作.mount umount mkfs.vfat df 当SD卡插入到树莓派板子上的时候/ ...

  5. sd卡受损格式化后还能恢复数据吗?

    SD卡在我们的日常生活中很常见,智能手机.数码相机等都有用到SD卡,SD卡在使用过程中难免会遇到SD卡受损无法使用的情况,如果想继续使用,会提示格式化后才能使用,有些用户就按提示格式化了SD卡,才发现 ...

  6. 【树莓派】树莓派SD卡测速一键脚本,SD卡读写速度测试程序

    上图中的(耳机接口对着的)小的SD卡(micro SD卡)就是树莓派的硬盘,系统和文件都是存在这里边.那么问题就来了,我们知道电脑上SSD固态硬盘比机械硬盘快,那怎么区分树莓派SD卡的速度呢? 当然可 ...

  7. 树莓派 SD卡 的系统备份 方法 WindowsLinux (奶妈式教学)

    树莓派SD卡的系统备份方法 Win&Linux 情景: 在树莓派上进行开发的时候经常遇到各种超出预料而又无法解决的问题需要重装系统,问题是重装系统之后一大堆的设置和常用的软件包实在让人头疼,之 ...

  8. sd卡数据恢复格式化相机照片文件

    sd卡数据恢复格式化相机照片文件 周末的时候和论坛里的一些朋友一起去爬山了,大家都是摄影的爱好者,所以人人都有带相机,我呢,刚巧是碰上相机坏了,于是只能趁着别人不用的时候去蹭上几张照片,特别是有一个朋 ...

  9. 树莓派sd卡格式化_利用树莓派和移动硬盘搭建下载机,常见视频网站都可下载...

    前言 一直想搭建一个下载机,查了很多资料,觉得树莓派+移动硬盘应该是最好的选择.树莓派是比较小众的东西,它可不是什么吃的,它是一台完整的微型电脑.对于树莓派,下载只是很小的一个功能. 树莓派 终于下手 ...

  10. 树莓派sd卡格式化_树莓派安装免费IP电话系统3CX

    3CX 在 V16 版本以后,就可以运行在树莓派的最新硬件版本,3B+ 上了.最新版本的 3CX 可以在 Raspbian Stretch 上安装, Raspbian Stretch 这个 Debia ...

最新文章

  1. 【Qt】error: undefined reference to `vtable for MainWindow‘
  2. 给QTreeWidget添加右键菜单功能
  3. MySQL高可用架构InnoDB Cluster (和NDB Cluster是两码事)
  4. 入门训练 A+B问题 c语言
  5. 服务器怎么用光驱装系统教程,使用光驱重装系统详细教程
  6. 如何看当前windows是utf8还是gbk_监理工程师5月份出教材,现在如何备考?
  7. IDEA项目创建Mapper的xml文件的方法
  8. c语言通讯录动态文件操作,学C三个月了,学了文件,用C语言写了个通讯录程序...
  9. ssh配置config文件,实现vscode免密登陆
  10. 智能手机射频前端架构初识: Phase 2/3/5/6/6L/7/7L/7LE
  11. PostgreSQL usermanual翻译暂停20200420
  12. 一个著名防外挂软件,下面转载一遍关于nProtect的破解
  13. ibm arm-linux,CentOS Linux 7.5 (build 1804) 现可用于IBM POWER9体系结构
  14. qq 病毒 html,盗qq号软件里有病毒吗
  15. Java中的与或非、异或运算
  16. 知识资源整理(持续更新)
  17. 定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。
  18. snipaste如何滚动截图_这三款软件,满足你对截图的所有需求
  19. 在docker中搭建xss漏洞靶场
  20. Confluence迁移中遇到的问题(Data too long for column #39;STRINGVAL#39;)及解决方法

热门文章

  1. java 冒泡_Java中的冒泡排序
  2. 懵逼树上懵逼果:探索二分法搜索
  3. 使用Go语言实现单词翻译功能/simpledict 命令行词典
  4. js json stringify
  5. 计算机视觉基础(五)——图像分割/二值化
  6. word 2010 脚注 尾注 尾注序号 连续尾注 尾注分隔符 删除
  7. 信息检索1.3.学术搜索引擎--谷歌学术搜索引擎
  8. oracle 对表重建索引,oracle 重建索引方法 分析
  9. 电脑html怎么导入苹果手机,爱思助手把电脑视频怎么导入苹果手机 视频导入iPhone教程...
  10. 苹果开发者账号续费相关问题