Anyfs 工具承诺将 ntfs 分区转换为 ext3。这就是我想做的。 (我已经备份了必要的内容)。
但是当我尝试编译 anyfs-tools 时,我收到一个make
编译错误,抱怨 ext2fs 库。所以我想我没有使这个可执行文件编译的好版本。
遇到这样的情况我该怎么办?
- 我是否应该搜索兼容的 e2fslibs 版本并安装它以便能够
make
成功。它会破坏我当前的发行版吗? - 或者我应该尝试修改anyfs-tools 的代码(自2010年6月19日起未更新)
这是 make 的输出:
gcc -O3 -Wall -Winline --param inline-unit-growth=1000 --param large-function-growth=10000 -std=gnu99 -I../../include -I/usr/include/ext2fs -I/usr/include/et -g -O2 -o anysurrect anysurrect.o -rdynamic -L../../lib -lany -ldl -lext2fs -L. -lanysurrect
./libanysurrect.so: undefined reference to `ext2fs_unmark_block_bitmap_range2'
./libanysurrect.so: undefined reference to `ext2fs_inode_data_blocks2'
./libanysurrect.so: undefined reference to `ext2fs_mark_block_bitmap_range'
./libanysurrect.so: undefined reference to `ext2fs_unmark_generic_bitmap'
./libanysurrect.so: undefined reference to `ext2fs_group_last_block2'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bitmap_end'
./libanysurrect.so: undefined reference to `ext2fs_test_block_bitmap_range2'
./libanysurrect.so: undefined reference to `ext2fs_group_of_blk2'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bmap_end'
./libanysurrect.so: undefined reference to `com_err'
./libanysurrect.so: undefined reference to `ext2fs_test_generic_bitmap'
./libanysurrect.so: undefined reference to `ext2fs_mark_generic_bitmap'
./libanysurrect.so: undefined reference to `ext2fs_group_first_block2'
./libanysurrect.so: undefined reference to `ext2fs_unmark_block_bitmap_range'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bmap_start'
./libanysurrect.so: undefined reference to `ext2fs_unmark_generic_bmap'
./libanysurrect.so: undefined reference to `ext2fs_test_generic_bmap'
./libanysurrect.so: undefined reference to `ext2fs_mark_block_bitmap_range2'
./libanysurrect.so: undefined reference to `ext2fs_test_block_bitmap_range'
./libanysurrect.so: undefined reference to `ext2fs_mark_generic_bmap'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bitmap_start'
collect2: ld returned 1 exit status
make[2]: *** [anysurrect] Error 1
make[2]: Leaving directory `/usr/local/src/anyfs-tools-0.85.1c/src/anysurrect'
make[1]: *** [anysurrect_util] Error 2
make[1]: Leaving directory `/usr/local/src/anyfs-tools-0.85.1c/src'
make: *** [progs] Error 2
答案1
看着这里——https://launchpad.net/~develop7/+archive/ppa/+build/1545234- 看起来anyfs-tools 也未能为他们构建。推荐阅读该手册(http://anyfs-tools.sourceforge.net/),尤其是这个片段:“anyfs-tools anyfs-tools 允许用户转换文件系统。现有源文件系统只有一个要求:文件系统驱动程序中必须有 FIBMAP 系统调用 ioctl(2) 支持(可能是读-目前,anyfs-tools 支持将文件系统转换为 ext2fs/ext3fs 或 xfs,[...]" NTFS 和 ext* 太不兼容,甚至无法转换。