Раздел EXT4 не получил свободного места после расширения

Я расширил корневой раздел на своем Banana Pi, используя следующий скрипт:

fdisk /dev/mmcblk0 <<EOF
p
d
$PART_NUM
n
p
$PART_NUM
$PART_START

p
w
EOF

После перезагрузки я получил раздел 32 ГБ в соответствии с 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 ГБ, и я не получил никакого дополнительного места:

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/, однако, AFAIK, им там не нравятся экзотические фрукты.

1 ответ

Решение

fdisk показывает (и работает с) список разделов, df работает со списком файловых систем. В *nix оба они различны; в принципе, раздел может содержать несколько файловых систем (в Linux это может быть сделано либо с файловыми файловыми системами, либо с помощью losetup или аналогичные с параметрами смещения и размера для создания нескольких отдельных блочных устройств).

Изменение размера файловой системы после увеличения удерживающего раздела является операцией, отдельной от увеличения устройства (раздела), содержащего файловую систему.

Для ext2, ext3 и ext4 изменение размера файловой системы выполняется с помощью resize2fs , Другие типы файловых систем отличаются.

Для простого случая, похоже, вы должны быть в состоянии просто sudo resize2fs /dev/mmcblk0p2 изменить размер файловой системы на /dev/mmcblk0p2, чтобы охватить весь раздел. man 8 resize2fs твой друг здесь

Лично я сначала запустил бы ручной e2fsck, затем изменил размер файловой системы, затем немедленно снова запустил e2fsck, чтобы убедиться, что на диске все правильно. Также убедитесь, что у вас есть последняя резервная копия чего-то важного в файловой системе на случай, если что-то пойдет не так. Шансы проблем невелики, но последствия проблем потенциально велики, поэтому стоит быть осторожным.

Другие вопросы по тегам