Ubuntu 没有 Wubi Root 文件如何运行

Ubuntu 没有 Wubi Root 文件如何运行

我知道这很疯狂,我最近的实验给了我一次难忘的经历,我通常使用 ubuntu 作为 Wubi 安装,因为它很容易备份我的 10.10 系统并尝试新版本而不会出现任何问题。

因此,在我启动到 ubuntu 10.10 后,我可以重命名、移动甚至删除 /Host/ubuntu/disks 目录中的根文件,然后我通过重命名当前 10.10 根文件并将 11.10 根文件复制到同一目录来直接启动我的 11.10 系统,

这怎么可能呢?ubuntu 完全在 Ram 上运行吗?还是其他地方有缓存的根文件?我很困惑,

我想我甚至可以在 ubuntu 运行时移除我的硬盘(如果交换磁盘不包​​含在同一磁盘中)但在 Windows 中,这是一个梦想!!!,这怎么可能呢?

答案1

Wubi 安装使用回环安装。本质上,它会挂载您的 Windows 文件系统,然后将该文件系统中的文件(您的根文件)视为块设备。这基本上意味着它不是直接从分区读取文件系统的块,而是查看另一个文件系统中的文件布局来定位每个单独的块。它不会耗尽系统的 RAM。

然后,它执行一些操作以使回送挂载文件系统显示为根,并且 Windows 文件系统出现在根下的某个位置。

作为一般规则,您不应修改回送挂载的备份文件,因为这会使引用该文件的文件系统驱动程序感到困惑。不过,您采取的措施似​​乎不足以导致这些问题。

在 UNIX 系统上,一旦打开文件进行访问,仍然可以读取它而不会导致问题。请考虑以下简短的 Python 示例:

import os

with open('oldname', 'w') as fp:
    fp.write('content')
with open('oldname', 'r') as fp:
    os.rename('oldname', 'newname')
    print(fp.read())

和你回送挂载的文件系统一样,移动文件后我们仍然可以读取内容。删除文件时我们可以看到类似的效果:

with open('newname', 'r') as fp:
    os.remove('newname')
    print(fp.read())

虽然文件名被删除,但实际内容仍会保留,直到最后一个打开的文件描述符被关闭。出于这些目的,可以将回送挂载视为文件描述符。

复制文件也不太可能使回送挂载混淆(因为它只是读取原始文件),但不一定是一种执行备份的好方法。读取大型文件需要一段时间,因此当您到达文件末尾时,开头可能已被修改。因此,如果您尝试将复制的文件用作磁盘映像,它可能看起来已损坏(尽管该损坏可以通过文件系统检查修复)。

如果您想备份您的系统,我建议使用 Ubuntu 附带的备份工具,或者启动到 Windows 并在那里复制磁盘映像(因为 Ubuntu 没有运行,所以在复制时磁盘映像不会发生变化)。

相关内容