Как читать раздел ntfs с помощью ntfw
Я использую grub и помещаю один дистрибутив tinycore linux в раздел Windows (c:/). Я не знаю, почему ntfw не читает этот раздел (sda1). Я использую этот раздел (в памяти). Ниже приведен код, и без "FTW_MOUNT" это не удастся
#define _XOPEN_SOURCE 600
#include <ftw.h>
#include <stdio.h>
#define MAX_LEVEL 1
int show(const char* path, const struct stat* st, int flags, struct FTW* ftw) {
if (ftw->level > MAX_LEVEL)return 0;
printf("path : %s mode : %o flag : %d\n", path, st->st_mode,flags);
return 0;
}
int main(){
if(nftw("/mnt", show, 10,FTW_MOUNT | FTW_DEPTH | FTW_PHYS) != 0){
printf("error\n");
return 1;
}
return 0;
}
Ниже приведен результат (SDB5 является Linux)
tc@box:/tmp$ ./walker
path : /mnt/sdb1 mode : 40755 flag : 5
path : /mnt/sdb3 mode : 40755 flag : 5
path : /mnt/sdb5 mode : 40755 flag : 5
path : /mnt/sdb2 mode : 40755 flag : 5
path : /mnt mode : 40775 flag : 5
Это мой grub menu.lst с диска c:
title Tiny Core 8
kernel /boot/vmlinuz tce=sda1
initrd /boot/tiny.gz