如何创建 ISO 并隐藏某些文件

如何创建 ISO 并隐藏某些文件

我正在尝试创建可执行文件的 ISO 映像,通过隐藏 ISO 映像中的几个文件,因为我希望用户在 PC(Windows)中打开时只看到 EXE 而不是其他目录,这是我的目标 ENV用户将启动该应用程序。

答案1

如果您想要将一组目录合并到 ISO 文件中,可以使用以下命令来完成:

% mkisofs -o ~/my_iso.iso -r -J -hide-rr-moved -V "Title of ISO" \
       -graft-points "Directory1/=/home/me/dir1" "Directory2/=/home/me/dir2"

上述命令开关如下:

-o = name of output .iso file
-r = set permissions to 0
-J = output's ISO using Joliet format (useful for Windows users of the final ISO)
-V = Volume ID

-hide-rr-moved = hides the directory RR_MOVED to .rr_moved
-graft-points = specifies names of locations in ISO and what goes into 
                them from local system

隐藏文件

我相信你可以修改上面的内容并添加开关-hide-joliet <pattern>。这将过滤与<pattern>.例如:

% mkisofs -o ~/my_iso.iso -r -J -hide-rr-moved -V "Title of ISO" \
       -hide-joliet *files_to_ignore* \
       -graft-points "Directory1/=/home/me/dir1" "Directory2/=/home/me/dir2"

笔记: --hidden也可用于“隐藏”文件。但这两种转变都是用词不当。这些文件仍然存在于磁盘上,任何具有管理员权限的人都可以在磁盘上看到它们。 ISO 文件系统上设置了一个属性,用于记录文件是否隐藏。这个隐藏的工具是 MS-DOS 和 Windows 命令特定的!

NTFS属性

OP 对 NTFS 文件系统属性有几个问题,例如 H(隐藏)和 S(系统文件)。

属性,包括:

  • H——隐藏
  • S-系统
  • ETC。

...是属于 NTFS 一部分的文件系统属性(这些不是文件本身的一部分)。 Joliet/UDF 不直接支持这些属性。我相信 NTFS 属性已应用于 ISO 中的 UDF/Joliet 文件系统(在本例中仅支持隐藏)。

答案2

这取决于您使用什么软件来创建图像。mkisofs有几种有关隐藏文件的选项,但我认为您需要的是-hidden

  -hidden glob
          Add the hidden (existence) ISO-9660 directory attribute for glob.  This attribute will prevent glob from
          being  listed  on  DOS  based systems if the /A flag is not used for the listing.  glob is a shell wild-
          card-style pattern that must match any part of the filename or path.  In  order  to  match  a  directory
          name, make sure the pathname does not include a trailing '/' character.  Multiple globs may be hidden.

由于它是一项有点深奥的功能,因此如果您使用它,可能无法通过图形前端使用它。

相关内容