在新的Jessie映像中禁用自动文件系统扩展2016-05-10


12

现在,当您在SD卡上刷新新的Jessie映像(发布于2016-05-10)并首次启动时,它将自动在整个SD卡上扩展文件系统。我想停止该脚本。我想要这个的原因是因为从SD卡备份图像时,它消耗了16 GB的磁盘空间,我想节省该空间。我正在使用16 GB SD卡。


您如何备份卡?
Milliways '16

在Win32DiskImager中单击读取选项,它会创建SD卡的备份映像
user3601278,2016年

2
我不能说我对Win32DiskImager很熟悉,但是如果它像其他成像器一样,则生成的图像将是所成像设备的大小-在这种情况下为SD卡的大小。这与分区的大小无关。如果您搜索该站点,尽管大多数“解决方案”都针对Unix / Linux,但您会发现数百个类似的问题。
Milliways '16

我还看到这种自动扩展可能会使制作标准工作设置的副本变得更加困难(在过去,即使'dd'制作了图像,我过去也使用'trucate'将图像切成略大于未扩展的尺寸)整个SD卡(包括空白部分)。jessie lite是否不进行扩展?
paddyg '16

Answers:


11

看起来这将是最新更新的一部分;桌面版和精简版:

https://www.raspberrypi.org/blog/another-update-raspbian/

刷新新的Raspbian映像时,文件系统将在首次启动时自动扩展为使用卡上的所有空间。

在Ubuntu上,您可以编辑映像以停止自动文件系统扩展。

这是使用2016-05-10-raspbian-jessie-lite.img的示例。

尝试这个:

fdisk -lu ./2016-05-10-raspbian-jessie-lite.img

您将获得以下信息:

Device Boot                             Start     End     Blocks    Id  System

2016-05-10-raspbian-jessie-lite.img1    8192      137215  64512     c   W95 FAT32 (LBA)

2016-05-10-raspbian-jessie-lite.img2  137216     2707455  1285120   83  Linux

因此对于引导部分,您的偏移量是(Start * 512)= 8192 * 512 = 4194304

对于Raspbian文件系统,您的偏移量为(开始* 512)= 137216 * 512 = 70254592

mkdir boot
sudo mount -t vfat -o loop,offset=4194304 2016-05-10-raspbian-jessie-lite.img boot

如果要查看/编辑Raspbian文件系统。虽然不需要。

mkdir test
sudo mount -t ext4 -o loop,offset=70254592 2016-05-10-raspbian-jessie-lite.img test

然后,您需要修改./boot/cmdline.txt文件。

sudo gedit ./boot/cmdline.txt

从:

dwc_otg.lpm_enable = 0 console = serial0,115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 lift = deadline fsck.repair = yes rootwait quiet init = / usr / lib / raspi-config / init_resize.sh

至:

dwc_otg.lpm_enable = 0 console = serial0,115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4电梯=最后期限fsck.repair =是rootroot安静

sudo umount ./boot

如果您挂载了Raspbian文件系统:

sudo umount ./test

现在,将新映像刷新到SD卡。

  • 2016-05-10-raspbian-jessie-lite.img

在您的Pi上启动后,它不会自动扩展。


或者,您可以将原始图像刷新到SD卡上。

在将其插入Raspberry Pi之前。

编辑文件: /boot/cmdline.txt

删除以下文本: init=/usr/lib/raspi-config/init_resize.sh


那就是我想要的,谢谢分享!
Gergely Lukacsy,2016年

2

“删除以下文本:init=/usr/lib/raspi-config/init_resize.sh。这不再适用于Stretch发行版(没有要删除的init参数)”。

删除/etc/init.d/resize2fs_once


init参数在Raspbian Stretch中仍然存在。必须同时删除init参数和resize2fs_once文件。
斯科特,

2018年11月13日-raspbian-stretch-lite在boot / cmdline.txt中明确调用了init_resize.sh,直到您首次启动为止。该脚本会将自己从cmdline.txt中删除
Andy

0

这不再适用于Stretch发行版(没有要删除的init参数)。

pishrink.sh(从github下载脚本)脚本接受-s标志,该标志将防止在下次重新引导时扩展。您需要Linux机器或虚拟机来运行脚本。该脚本通过重写/etc/rc.local来工作,以扩展文件系统(默认)或保持不变(如果提供了-s标志)。

在Windows 10笔记本电脑上,您可以使用win32diskimager从SD卡获取映像,而我使用了来自osboxes.org的Lubuntu映像在VirtualBox下运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.