当前位置: 技术问答>linux和unix
关于获取类似/dev/hda1设备的文件系统的类型
来源: 互联网 发布时间:2016-02-10
本文导语: 请问有现成的linux C函数可以用 不想自己去读分区表 也不想调用fdisk命令 | 应该没有 | cat /proc/mounts | getmntent()调用,返回一个struct mntent结构。下面是一个...
请问有现成的linux C函数可以用
不想自己去读分区表
也不想调用fdisk命令
不想自己去读分区表
也不想调用fdisk命令
|
应该没有
|
cat /proc/mounts
|
getmntent()调用,返回一个struct mntent结构。下面是一个代码例子
#include
#include
int main(int argc, char *argv[])
{
FILE *fp = NULL;
struct mntent *mnt = NULL;
fp = setmntent("/etc/mtab", "r");
if (fp == NULL) {
return -1;
}
while ((mnt = getmntent(fp))) {
printf("name: %s, type: %s, mount dir: %s, opts: %sn",
mnt->mnt_fsname, mnt->mnt_type, mnt->mnt_dir, mnt->mnt_opts);
}
endmntent(fp);
return 0;
}
#include
#include
int main(int argc, char *argv[])
{
FILE *fp = NULL;
struct mntent *mnt = NULL;
fp = setmntent("/etc/mtab", "r");
if (fp == NULL) {
return -1;
}
while ((mnt = getmntent(fp))) {
printf("name: %s, type: %s, mount dir: %s, opts: %sn",
mnt->mnt_fsname, mnt->mnt_type, mnt->mnt_dir, mnt->mnt_opts);
}
endmntent(fp);
return 0;
}
|
mount里面好像就是一个一个试的
|
你od -c /dev/hda1看一下设备的头100-200个字节
fat32类型的类型标志在第82-86这5个字节里.
ntfs 的类型标志在第3,4,5,6这4个字节里.
其它类型的没找到在那,仔细找下看看能否找到.
fat32类型的类型标志在第82-86这5个字节里.
ntfs 的类型标志在第3,4,5,6这4个字节里.
其它类型的没找到在那,仔细找下看看能否找到.