Как я могу изменить размер файловой системы FAT32 в разделе LVM? [закрыто
Вопрос
Достаточно просто: у меня есть раздел LVM (например, dev/dev/mapper/foo-fat), который содержит файловую систему FAT32. До уменьшения размера этого разделения LVM (что я сделаю с Lvmreduce), я хочу уменьшить размер файловой системы FAT32, в которой она содержит.
Похоже, что расстался, должен быть в состоянии сделать это, но я не могу найти магический вызов, чтобы заставить его работать.
Решение
Использовать fatresize (Ман) и затем перейти к lvresize
.
Чтобы избежать укорания FS, вы должны сначала сократить объем VFAT на несколько сотен (чтобы быть безопасными) мегабайтами больше, чем разыскиваемые, а затем измените размер контейнера LVM и, наконец, увеличить объем, чтобы заполнить раздел LVM.
Кроме того, этот вопрос принадлежит не Stackoverflow, а к Serverfault.
Другие советы
Нет ответов + крайний срок, чтобы встретиться = написать сам.
Для будущей ссылки это было всего несколько строк кода, используя LibParted. Для читаемости я пропустил проверку ошибок и т. Д. Абонент несет ответственность за обеспечение достаточно места в разделе для нового размера файловой системы.
#include <parted/parted.h>
int
resize_filesystem(const char *device, PedSector newsize)
{
PedDevice *dev = NULL;
PedGeometry *geom = NULL;
PedGeometry *new_geom = NULL;
PedFileSystem *fs = NULL;
int rc = 0;
dev = ped_device_get(device);
ped_device_open(dev);
geom = ped_geometry_new(dev, 0LL, dev->length);
fs = ped_file_system_open(geom);
new_geom = ped_geometry_new(dev, 0LL, newsize / dev->sector_size);
ped_file_system_resize(fs, new_geom, NULL);
ped_file_system_close(fs);
ped_geometry_destroy(geom);
ped_geometry_destroy(new_geom);
ped_device_close(dev);
return rc;
}
Похоже, что вы хотите, http://www.gnu.org/software/parted/manual/html_chapter/parted_2.html#sec25