Linux 커널은 Windows NTFS 파일 시스템을 어떻게 처리합니까?

Linux 커널은 Windows NTFS 파일 시스템을 어떻게 처리합니까?

나는 다음과 같은 내용의 텍스트(RW Smith LPIC_1 학습 가이드)를 읽고 있습니다.

Linux는 NTFS를 안정적으로 읽을 수 있고 기존 파일을 덮어쓸 수 있지만 Linux 커널은 NTFS 파티션에 새 파일을 쓸 수 없습니다.

"커널"이 NFTS 파티션에 새 파일을 쓸 수 없다는 것은 무엇을 의미합니까?

다른 곳에서는 이렇게 말합니다.

NTFS-3G는 커널 공간이 아닌 사용자 공간에 상주하는 읽기/쓰기 NTFS 드라이버입니다. 일부 Linux 배포판에서는 기본 NTFS 드라이버로 사용됩니다.

커널 공간은 사용자 공간과 어떻게 다릅니까?

또한 이중 부팅 시스템에서 Windows 드라이브에 액세스할 수 있는데 왜 다음과 같은 명령을 사용하여 Windows 파일 시스템 유형을 볼 수 없습니까 df -T?

답변1

NTFS-3G 이전에는 적절한 읽기/쓰기 NTFS 지원이 없었습니다. 처음에는 이중 부팅 시스템에서는 NTFS 파티션에 파일을 쓸 수 있었지만 재부팅 시 Windows NT/XP에서는 디스크의 (메타) 데이터를 수정하기 위해 파일 시스템 검사를 수행해야 했습니다. 따라서 해당 파일 시스템 유형의 드라이버에는 이러한 제한/문제가 없었기 때문에 Windows NT/XP와 Linux 간의 데이터 교환을 위해 VFAT 파티션을 갖는 것이 일반적이었습니다.

NFTS-3G(2006) 도입 이후 이는 더 이상 필요하지 않으며 새 파일을 작성하고 기존 파일을 업데이트할 수 있으며 Windows에서 재부팅하고 파일 시스템 검사를 수행하지 않고도 해당 파일을 사용할 수 있습니다. (그때쯤에는 재부팅을 거의 하지 않고 대신 가상 머신에서 Windows를 사용하고 있었습니다.)

NTFS-3G는 사용자 공간에서 실행됩니다. 즉, 커널 데이터 및 루틴에 직접 액세스할 수는 없지만 일반 프로그램처럼 시스템 호출을 거쳐야 합니다(커널 공간(장치) 드라이버와는 대조적).

의 경우 df -TFuse와 함께 작동하는 것으로 보이며 파일 시스템 유형을 fuseblk. Fuse는 NTFS에 대해 아무것도 모르므로 더 깊은 조사를 제공하지 않습니다. 디스크를 검색 하지도 않고 df -T파일 시스템 드라이버에 처리 중인 유형을 묻습니다. 가능하다면 디스크가 표시되도록 파일 시스템을 마운트할 필요가 없습니다. df -T이 경우 장치 블록을 직접 검색하고 추측해 보세요).

관련 정보