Раздел 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, чтобы убедиться, что на диске все правильно. Также убедитесь, что у вас есть последняя резервная копия чего-то важного в файловой системе на случай, если что-то пойдет не так. Шансы проблем невелики, но последствия проблем потенциально велики, поэтому стоит быть осторожным.