我正在阅读有关在 linux 文件系统上创建的符号链接在复制到 NTFS 文件系统时如何无法正常工作的信息:https://ubuntuforums.org/showthread.php?t=1497914。是否可以将任何类型的文件从 ext4 复制到 ntfs 文件系统,并且仍然期望副本能够与原始文件一样工作?
在 Ubuntu 下,我曾经将文件(目录、符号链接和硬链接)从 ext4 复制到 USB 外部硬盘驱动器中的 NTFS 文件系统。当链接文件也被复制到 NTFS 文件系统并且符号链接和链接文件之间的相对路径仍然相同时,我认为在 NTFS 文件系统上使用符号链接副本时没有问题。
答案1
ext4
从NTFS复制后文件内容将相同。但权限和所有权经常被修改。
如果性能取决于权限或所有权,则复制后可能会出现问题。
可能存在针对从外部驱动器执行程序的保护。
如果您尝试在其他操作系统 (Windows) 中使用该文件,则不能期望可执行文件或符号链接能够工作,但可以期望数据文件(例如文档、图片和视频剪辑)能够工作。
编辑:
我使用可执行文件、编译的程序htop
和 shellscripts 集进行了测试mkusb
。
操作系统:使用 mkusb 创建的持久实时 Ubuntu 18.10。
文件系统:分区号1,NTFS,挂载为
/media/ubuntu/usbdata
命令:
sudo add-apt-repository ppa:mkusb/unstable
sudo apt install mkusb usb-pack-efi
sudo apt install htop
which htop
cd /media/ubuntu/usbdata
ln -s /usr/bin/htop link-to-htop-in-ntfs
./link-to-htop-in-ntfs
ln -s /usr/bin/mkusb link-to-mkusb-in-ntfs
./link-to-mkusb-in-ntfs
which mkusb-nox
cp -p /usr/sbin/mkusb-nox copy-of-mkusb-nox-in-ntfs
./copy-of-mkusb-nox-in-ntfs
ln -s /media/ubuntu/usbdata/copy-of-mkusb-nox-in-ntfs link-to-copy-of-mkusb-nox-in-ntfs
./link-to-copy-of-mkusb-nox-in-ntfs
cp -p /usr/bin/htop htop-copied-to-ntfs
./htop-copied-to-ntfs
这些命令有效(同时仍在持续运行的 Ubuntu 18.10 中,该版本在外部驱动器中运行)。换句话说,可执行文件和符号链接在 NTFS 文件系统中工作。
但在某些已安装的系统中,出于安全原因,禁止在外部驱动器中执行程序。这可以根据以下链接进行更改,
答案2
这取决于在:
- ntfs-3g的版本(
2017.3.23 integrated FUSE 28
需要) - 如何设置 NTFS 和 EXT4 分区
ntfs-3g 驱动程序具有许多内置功能,允许您:
- 执行用户映射
- 读取备用数据流 (ADS)
- 有以下内容额外的选项:
- 启用设置 POSIX ACL
- 使用 Windows 继承规则 (
inheritance
) - 显示/隐藏 Windows 系统文件 (
show_sys_files
) - 显示/隐藏隐藏文件 (
hide_hid_files
) - ...
但所有这些都需要在使用前和事后管理上进行仔细的规划(因此,如果您在Ubuntu部分创建新用户,则需要在Windows上创建相同的用户,双方具有相同的密码,...)
所以:是的,它可以处理特殊文件,如符号链接、设备和 FIFO,但工作量很大,因此对于专业用途:阅读文档、计划和部署,但对于简单的双启动,请不要打扰除非你想深入探究 NTFS 的内部......