저는 다음과 같은 기사(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 -T
Fuse로 실행되는 것으로 보이며 파일 시스템 유형을 fuseblk
. Fuse는 NTFS에 대해 아무것도 모르므로 더 깊은 조사를 제공하지 않습니다. 디스크도 감지 하지 못하고 df -T
파일 시스템 드라이버에 처리 중인 유형을 묻습니다. 가능하다면 표시하기 위해 파일 시스템을 마운트할 필요가 없습니다 df -T
. 이 경우 장치 블록을 직접 감지할 수 있습니다. 추측해 보세요.)