我使用以下脚本扩展了我的 Banana Pi 上的根分区:
fdisk /dev/mmcblk0 <<EOF
p
d
$PART_NUM
n
p
$PART_NUM
$PART_START
p
w
EOF
重新启动后,我得到了一个 32 GB 的分区fdisk
:
root@bananapi /usr/local/bin # fdisk /dev/mmcblk0
Command (m for help): p
Disk /dev/mmcblk0: 31.9 GB, 31914983424 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 43007 20480 83 Linux
/dev/mmcblk0p2 43008 62333951 31145472 83 Linux
但是,df
显示旧的 8 GB 分区,并且我没有获得任何额外的空间:
root@bananapi /usr/local/bin # df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 8254904 5702140 2133448 73% /
/dev/root 8254904 5702140 2133448 73% /
devtmpfs 447624 0 447624 0% /dev
tmpfs 89548 292 89256 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 179080 0 179080 0% /run/shm
我已尝试过:
基本上我尝试了所有的方法这个问题除了第三个需要物理键盘存在。但是,我似乎无法在重启时强制执行 fsck:
root@bananapi /usr/local/bin # dmesg |grep fsck
[ 4.796771] EXT4-fs (mmcblk0p2): warning: mounting unchecked fs,
running e2fsck is recommended
除了显而易见的解决方案(获取读卡器并在另一台计算机上修复分区)之外,我还能尝试其他方法吗?为什么fsck
无法在启动时启动?
请随意将我的问题迁移至http://raspberrypi.stackexchange.com然而,据我所知他们不喜欢异国水果在上面。
答案1
fdisk
显示(并使用)分区列表,df
使用文件系统列表。在 *nix 上,两者是不同的;原则上,一个分区可以容纳多个文件系统(在 Linux 上,可以使用基于文件的文件系统,或者使用或类似losetup
偏移和大小参数来创建多个单独的块设备)。
扩大保存文件系统的分区后调整文件系统的大小是一个与扩大保存文件系统的设备(分区)分开的操作。
使用 ext2、ext3 和 ext4,调整文件系统大小是使用 完成的resize2fs
。 其他文件系统类型则有所不同。
对于简单的情况,看起来您应该能够仅sudo resize2fs /dev/mmcblk0p2
调整 /dev/mmcblk0p2 上的文件系统的大小以覆盖整个分区。man 8 resize2fs
是你的朋友。
就我个人而言,我会运行一个首先手动 e2fsck,然后调整文件系统的大小,然后立即再次运行 e2fsck 以确保磁盘上的所有内容都正确。另外确保您有最近的备份文件系统上任何重要文件的信息,以防出现问题。出现问题的几率很小,但问题的后果可能很大,因此小心谨慎是值得的。