在Windows XP上使用Rock ridge扩展


1

我需要在DVD上备份包含大量文件和符号链接的目录。我没有对该目录的写访问权。

我已经从GNU / Linux创建了DVD映像,并使用以下命令启用了rock-ridge和joliet扩展:

genisoimage -r -J -joliet-long -T -o mess.iso mess/

结果很好。

现在,我需要从Windows XP访问DVD,但是所有符号链接似乎都悬垂了(它们显示为0大小的文件)。据我了解,这是因为符号链接是由rockridge扩展程序处理的,而Windows XP无法使用它。

是否可以安装某些东西才能正确访问该DVD?自定义文件管理器也是一种选择。如果有帮助,我还可以使用其他选项重新制作图像。


我不知道这是否行得通,但是您可以考虑使用UDF文件系统,该系统支持符号链接并且更加现代。
Pincopallino

@Pincopallino IIRC Windows XP不支持UDF,因此我没有考虑该选项。当然,如果可以解决的话,我可以选择这种方式...
ntd

Windows XP支持UDF 1.02、1.5和2.01,甚至可能带有某些驱动程序或调整的更新版本。
Pincopallino

我仍然不确定如何将Linux符号链接转换为UDF符号链接,以及结果在Windows中是否可读。
Pincopallino

@Pincopallino感谢您的建议。我尝试了一下(虽然不那么困难),但是我发现Linux上对UDF的支持有点混乱(mkisofs中对UDF的支持是alpha,缺少在线文档)。所以我用另一种方法解决了。
ntd

Answers:


1

找到了!我已经能够完成要求的工作。

首先,我将所有符号链接转换为硬链接。我创建了一个如下脚本:

#!/bin/sh

link="$1"

error() {
    echo "Error: $1." 1>&2
    exit 1
}

[ -h "$link" ] || error "'$link' is not a symbolic link"

linkdir=`dirname "$link"`
linkname=`basename "$link"`
target=`cd "$linkdir" 2> /dev/null && readlink -qfn "$linkname"`
[ $? = 0 ] || error "unable to readlink '$link'"

[ -f "$target" ] || error "'$link' target is not a regular file"

ln -f "$target" "$link" || error "hard-link failed on '$link'"

并在mess目录下执行它:

find . -type l -print0 | xargs -0n1 soft2hard.sh

之后,我以与以前相同的方式创建了ISO映像,但是使用了确保--cache-inode(我也省略了它-T以减少混乱):

genisoimage -r -J -joliet-long --cache-inodes -o mess.iso mess/

贴切:从Windows XP可以完美访问所有内容,并适合低密度DVD。


0

符号链接在iso中显示为Windows无法处理的外部文件系统的链接。

对于更加独立于操作系统的CD格式,你应该使用genisoimage-f参数取消引用符号链接或跟随他们,而不是使用岩岭进入他们。

这样,您可以将符号链接的目标添加到ISO映像中,而不是符号链接本身。该文件将出现在目录结构中,代替符号链接。

尽管使用而不是,但CD Writing Howto文章对此问题有很好的解释。mkisofsgenisoimage

[编辑]

如果您的目标是Vista / 7/8而不是XP,则可以不使用符号链接进行备份并在NTFS上还原。然后在Linux上创建Windows批处理脚本,该脚本将创建等效的NTFS符号链接
但是,XP仅支持指向文件夹的链接,不支持文件。

有关更多信息,请参见NTFS重新解析点,有用的Windows实用程序是Junction

无论如何,Windows中的DVD不能有符号链接,因此您需要在NTFS上进行还原。


由于我从未使用过这两个命令,因此我确实希望-fgenisoimage的工作方式与mkisofs中的相同,因为手册页不是很清楚。
harrymc

实际上,图像大小为4 Gb:如果我遵循符号链接,它将为14 Gb。我希望XP可以使用自定义文件管理器来处理它们……
ntd

genisoimage最初是mkisofs由Debian 改名的,原因可能是许可问题,因此应该可以直接替换
ntd

符号链接是否已包含在iso中(即,它是自包含的)?我将尝试考虑一种解决方案,但首先要提出一个问题:是否可以将14 GB的iso作为文件块传输到几张DVD上,并合并这些块并将其安装在Windows上(如iso)?
harrymc

是的,符号链接是DVD树中解析的所有相对路径。将其刻录到不同的DVD中不是一种选择:它将涉及过多的手动修补...
ntd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.