这篇文章将为大家详细讲解有关Raspberry Pi OS禁止自动扩展tf卡与设置根分区大小的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
树莓派在突然断电的时候很容易导致tf卡损坏,我需要另外创建一个分区用于保存数据,系统分区设置只读用于保护tf卡。
Linux上要消减一个分区大小是很难的,然而扩展一个分区容量比起来简单很多
Raspbian based on Debian Buster 在系统第一次启动的时候会执行脚本去扩展系统分区到整个tf卡的。如果需要另外创建分区,这个功能是需要禁用的。 Raspbian自动扩展tf卡的实现方式:
-
/boot/cmdline.txt 末尾init=/usr/lib/raspi-config/init_resize.sh,这个脚本修改了root分区的大小,使其扩展到真个tf卡
-
/etc/init.d/resize2fs_once 随机启动脚本会resize2fs 会修改文件系统大小, 并删除文件自身。
知道这个就很简单了,在烧录好tf卡之后,不要立即插入树莓派去运行,而应该在电脑上修改tf卡内容。
-
删除/boot/cmdline.txt 末尾init=/usr/lib/raspi-config/init_resize.sh 这一串
-
删除/etc/init.d/resize2fs_once 脚本中 含resize2fs $ROOT_DEV &&那一行
-
fdisk 操作tf卡, 重新创建分区增加size 。我的电脑上是sudo fdisk /dev/sdb
sudo fdisk /dev/sdb Welcome to fdisk (util-linux 2.31.1). 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): p Disk /dev/sdb: 14.6 GiB, 15665725440 bytes, 30597120 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: 0x2fed7fee Device Boot Start End Sectors Size Id Type /dev/sdb1 8192 532479 524288 256M c W95 FAT32 (LBA) /dev/sdb2 532480 3620863 3088384 1.5G 83 Linux Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted. Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): First sector (2048-30597119, default 2048): 532480 Last sector, +sectors or +size{K,M,G,T,P} (532480-30597119, default 30597119): +6G Created a new partition 2 of type 'Linux' and of size 6 GiB. Partition #2 contains a ext4 signature. Do you want to remove the signature? [Y]es/[N]o: n Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. $ sudo e2fsck -f /dev/sdb2 e2fsck 1.44.1 (24-Mar-2018) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information rootfs: 44456/96576 files (0.2% non-contiguous), 292342/386048 blocks $ sudo resize2fs /dev/sdb2 6G resize2fs 1.44.1 (24-Mar-2018) Resizing the filesystem on /dev/sdb2 to 1572864 (4k) blocks. The filesystem on /dev/sdb2 is now 1572864 (4k) blocks long.
现在就可以用这个tf卡启动树莓派了,root分区我只设置了6G。 进入raspbian可以再对剩余空间进行分区, cfdisk比较直观一些。
sudo cfdisk /dev/mmcblk0
之后看到df -h和fdisk -l的大小不一样用下面命令修复
sudo resize2fs /dev/mmcblk0p2
关于Raspberry Pi OS禁止自动扩展tf卡与设置根分区大小的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/206635.html