A.1. 常见问题解答

A.1.1. 运行 fips 后,为什么 Windows 仍然报告我只有一个分区?
A.1.2. 为什么我的工具报告错误,指出物理长度与分区的逻辑长度不匹配?
A.1.3. 我如何知道我安装的是哪个版本的 Windows?
A.1.4. 我如何知道我安装的是哪个版本的 Linux 内核?
A.1.5. 我如何知道我安装的是哪个版本的 Linux 发行版?
A.1.6. 如果我犯了一个错误,我可以重新开始吗?
A.1.7. 我的交换分区应该有多大?
A.1.8. 我应该添加软件包 xxx 吗?

A.1.1. 运行 fips 后,为什么 Windows 仍然报告我只有一个分区?

Windows 98 无法识别 fips-0.9e 的效果。fips-2.0 已成功用于拆分 Windows 98 分区。据不可靠来源称,Windows 98 从分区本身的第一个 512 字节读取分区数据,并认为这是比分区表更可靠的数据。

A.1.2. 为什么我的工具报告错误,指出物理长度与分区的逻辑长度不匹配?

这意味着分区表不一致,可能不准确。修改具有不准确分区表的磁盘通常需要专家来降低几乎肯定会发生的数据丢失风险。

此消息的严重程度取决于磁盘的大小。由于历史限制,大多数(但不是全部)计算机 BIOS 仅支持小于 1024 个柱面的磁盘。操作系统的启动取决于 BIOS,因此(在这样的系统上),整个操作系统必须安装在这 1024 个柱面内。出于同样的历史原因,分区表格式仅支持报告 1024 个或更少柱面的磁盘大小。今天的许多磁盘都具有超过 1024 个物理柱面,但按照惯例,分区表记录的物理大小正好是 1024 个柱面。操作系统仍然需要知道实际分区在超过前 1024 个柱面之后从哪里开始和结束,这些信息记录在分区表中。

超过 1024 个柱面的大磁盘将具有超过 1024 的逻辑大小(分区大小的总和),并与实际大小匹配,尽管分区表报告的物理大小正好是 1024 个柱面。对于大磁盘,此消息本质上是无用的。

A.1.3. 我如何知道我安装的是哪个版本的 Windows?

以下一个或多个方法应该可以告诉您您安装的是哪个版本的 Windows。

  • C:\>ver

  • {我的电脑} [属性] [常规]

  • [开始] [运行...] 打开:command [确定]

  • [开始\运行...] 打开:ver [确定]

  • [开始\运行...] 打开:cmd ver [确定]

A.1.4. 我如何知道我安装的是哪个版本的 Linux 内核?

bash> uname -a

A.1.5. 我如何知道我安装的是哪个版本的 Linux 发行版?

这个问题可能没有有意义的答案。由于 unix 方言(例如 linux)使用许多可互换的部件,因此您拥有哪个发行版对本 HOWTO 几乎没有影响。大多数 linux 主机上加载的应用程序会随着时间和所有者的品味而变化,因此它们很少在很长一段时间内与任何发行版匹配。

大多数发行版都按其使用的软件包管理器大致分类。

  • pkgtool - slackware

  • rpm - RedHat

bash> uname -a

A.1.6. 如果我犯了一个错误,我可以重新开始吗?

一般来说,不能。因此,需要格外小心,尤其是在某些阶段。某些操作是幂等的。幂等操作要么失败且没有效果,要么成功且在第一次成功后没有效果。某些操作是可逆的。可逆操作具有逆操作,因此您可以将事物恢复到原来的状态并重新开始。

格式化尤其危险,因为它既不是幂等的,也不是可逆的。如果格式化成功,则原始数据将丢失。如果格式化失败,则原始数据可能也会丢失(因为索引通常在早期被破坏)。

表 A-1. 发行版

操作幂等可逆逆操作注意事项
备份销毁备份尝试读取备份,以免备份损坏
编目销毁目录记录太多细节,因为只有 1-10% 会被使用,尽管很难预测是哪 1-10%。
连接断开设备使用静电保护和人身安全程序,以免损坏精密的组件或您自己。
压缩 在压缩之前修复文件系统错误,因为压缩后可能无法恢复。
重新分区记录起始表。重新输入记录的起始表在使用计算机之前仔细检查分区,因为应用程序将相信分区表并可能破坏文件。分区边界或长度的微小错误可能会导致不常见的磁盘错误,这些错误可能几个月都看不到,但会非常耗时。
格式化 分区中的所有数据都将被销毁,因此请确保分区中没有有用的信息,和/或数据已做好备份。
初始程序加载格式化分区仔细记录、测试并期望随着您的理解、需求和愿望的变化而更改 linux 的配置。在使用计算机时,您可以期望很快发现您希望自己做出不同的配置决策。大多数 linux 发行版都允许轻松重新配置正在运行的系统。
启动管理器 Windows 安装会覆盖启动管理器,并使用一个自动加载 Windows 的管理器。如果您安装 Windows+linux,则必须首先安装 Windows。
挂载卸载需要注意权限,以防止计算机被不希望地使用(例如,将您的电话对电缆调制解调器网络上的任何人开放可能会增加您的电话费)。

A.1.7. 我的交换分区应该有多大?

交换分区大小(甚至其存在性)是一个备受争议的问题,超出了本 HOWTO 的范围。许多关于性能调优的书籍提供了关于交换分区大小以及如何识别扩展或缩小它的需求的指南。在付印时,作者建议 64M 是一个安全的尺寸。

A.1.8. 我应该添加软件包 xxx 吗?

本 HOWTO 的读者大概希望从 Windows 和 linux 的优势中获益,并避免两者的缺点。

大多数 linux 发行版都允许您干净地删除任何软件包。unix 方言支持权限,因此每个软件包都获得计算机的明确定义的份额,并且可以识别并完全收回该份额。unix 方言支持符号链接,因此软件包可以显示在方便的位置,而实际上并不占用方便位置的空间。不支持轻松删除的发行版通常是像 tomsrtbt 这样的小型专用发行版。不想要的软件包会无限期地困扰您的 linux 的风险很小,因为您可以随时删除它。

大多数 Windows 软件包永远无法在 Windows 下干净地卸载,因为它们通常会留下 dll 更新和注册表条目。因此,只有当您确定需要它们时才添加软件包非常重要,因为您卸载它们的唯一方法可能是重新安装 Windows 和您想要的每个软件包。

在 Windows 和 linux 之间共享一台机器意味着 linux 可以帮助干净地删除 Windows 中的软件包。由于它仅识别但不预测,因此 linux 无法确保干净删除。由于 linux find 解析到秒而不是 Windows find 解析到天,因此它可以更准确地识别更改的内容。

  1. 在安装 Windows 软件包之前记录日期和时间。

  2. 安装软件包。

  3. 在安装软件包之后记录日期和时间。

  4. 在 linux 下,使用 touch 创建一个时间戳为安装开始的文件。

  5. 在 linux 下,使用 touch 创建一个时间戳为安装结束的文件。

  6. 在 linux 下,使用 find 识别安装期间更改的每个 Windows 文件和文件夹。

  7. 存储已更改的文件和文件夹列表,以识别必须删除或还原的内容。