Ext2tools—从DOS读取Linux文件

作者:Robert Dalrymple

我不知道你们怎么样,但我承认我的PC上同时使用Windows和Linux。 只是因为某些Windows应用程序仍然比X窗口系统可用的应用程序更好。(请不要挑起争端。我没有指名道姓!)

不幸的是,在同一台机器上同时使用Windows和Linux意味着我有时在MS-DOS分区上有重要的文件,而在使用Linux时我需要这些文件。 我可以使用Linux访问MS-DOS分区上的文件,但通常情况正好相反—我需要从DOS或Windows 95访问Linux文件。 过去,这需要退出Windows,启动Linux,将文件移动到DOS分区,然后重新启动Windows。 这种方法特别不方便!

注意: 如果您使用LILO启动Linux,请务必在尝试加载Windows 95之前,确保Loadlin 可以正常工作或者拥有一个可用的Linux启动盘,因为安装Windows会覆盖主引导记录。

但是现在,这不再那么复杂了,这要感谢Claus Tondering ( ct@loglin.dknet.ck )编写的DOS程序集合ext2tools。 ext2tools 允许我直接从 DOS 或 Windows 读取 Linux (ext2) 文件。 ext2tools 的五个 DOS 程序模仿 Unix 命令,第六个用于设置。 这些程序是 E2CAT、E2CD、E2CP、E2LS、E2PART 和 E2PWD。

使用这些命令很简单。 从 DOS 或 DOS 窗口中,您可以使用命令e2ls获取 Linux 根目录中的文件列表。 如果您想要另一个目录的列表,只需添加目录名称即可。

要更改为另一个 Linux 目录,例如 home,请输入e2cd home。 另一个e2ls随后会列出 home 中的文件。 如果您在 home 目录中找到了您需要的文件,比如名为 stuff.ext,输入e2cp stuff.ext stuff.dos 将把该文件复制到您当前 DOS 目录中的 stuff.dos 中。 如果只是想查看该文件,e2cat stuff.ext 会在您的 DOS 屏幕上列出它。

ext2tools 中包含的其他 DOS 程序是 E2PWD(给出您当前所在的 Linux 目录)和 E2PRT(用于确定硬盘上的分区,将由下面讨论的磁盘编号来表示)。

ext2tools 的设置非常简单。 它只需要您在 DOS autoexec.bat 文件中添加一行来定义环境变量 e2cwd。 此变量的值设置为一个两部分(或三部分)数字。 我用

set e2cwd=128:2

128 表示第一个硬盘(129 表示第二个硬盘)。 2 表示该磁盘上 ext2 文件系统的分区号。 我省略的第三个数字是当前工作目录的 inode 号。 将其留空会导致默认值为 2,该值标识根目录。 在 DOS 窗口中重新运行 autoexec.bat,在命令行中键入该命令,或者直接重新启动 DOS/Windows 之后,您应该可以开始使用该工具程序了。

该程序的作者 Claus Tondering,是丹麦 Olicom 的一名 Unix 程序员/电气工程师,他说他知道 ext2tools 有两个限制。 如果扩展分区表中有三个或更多分区,则该表会被错误读取。 其次,如果您有超过两个硬盘,由于使用 BIOS 获取磁盘信息的限制,您无法访问第三个硬盘。 他希望下一个版本能够解决这两个问题,甚至可能支持通配符,但不能保证。

ext2tools 对 Linux 文件系统的访问是只读的。 要写入 Linux 文件,您必须在 Linux 中。 事实上,Tondering 不打算为这些 DOS 程序添加写入功能,因为他担心这可能会因各种原因而存在危险。

最后,一个重大警告。 ext2tools 赋予 DOS 用户超级用户身份,因为它不尊重 Linux 文件系统的访问权限。 这是经过设计的,因为在 Linux 系统上安装 DOS 本身就存在安全风险。 如果您将其安装在多用户系统上,请务必小心。

有关更多信息,请参见获取 ext2tools侧边栏。

Robert A. Dalrymple (rad@udel.edu) 在特拉华大学工作,并维护着两台一半一半(Win95/Linux)的机器。 他感谢 Claus Tondering 的有益评论。

加载Disqus评论