-1

Я расширил корневой раздел на своем 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 ответ1

1

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .