2. 步骤

2.1. 参考

  1. 备份您的软件和数据

  2. 编制硬件组件型号和软件版本目录。

  3. 连接新磁盘。

  4. 压缩现有软件和数据。

  5. 重新分区磁盘。

  6. 格式化新分区。

  7. 加载新的操作系统。

  8. 安装启动管理器 (uc)。

  9. 交叉挂载设备。

2.1.1. 备份

在 Nancy 的系统上安装 Linux 将涉及重新分区。任何时候您重新分区硬盘,您都面临丢失硬盘数据的重大风险。更准确地说,重新分区实际上不会导致数据丢失,但往往会发现之前丢失的数据。

Tom 警告 Nancy,她应该在开始之前备份所有内容。Tom 熟悉管道维修,他知道当您关闭水 10 分钟以更换滴水的水龙头时,您经常会发现地板下的管道已经生锈和泄漏。Nancy 不懂管道,但她有很好的藏书,并且搬过几次家。她知道书架在搬运时经常会坏掉。

由于 Lisa 正在购买一台新电脑,她目前还没有任何东西需要备份。当 Oscar 询问崩溃电脑的备份时,他得到的通常是茫然的表情。他的工作本质上是制作原本丢失数据的备份。

本版本指南未详细说明如何备份。如果您希望查看有关备份的更多信息,或者您希望提供信息,请联系维护者。

2.1.2. 目录

在安装过程中,磁盘大小和其他准确的规格将是必要的。输入略微错误的值会导致细微的问题,这些问题可能不会立即显现,但通常会是慢性的、难以诊断的,甚至可能无法修复。

Windows 和您的 Linux 发行版可能不支持相同的硬件。您应该查看硬件兼容性指南,以获取已知兼容或不兼容的列表。

一般来说,Windows 的限制更多,WinModems/WinPrinters/.... 除外。Windows 支持的任何硬件通常也会受到 Linux 的支持,尽管不一定包含在您的发行版中。许多硬件,尤其是旧的和尖端的硬件,可能受 Linux 支持,但不受 Windows 支持。如果未包含在您的发行版中,您通常可以从互联网下载 Linux 驱动程序和/或模块。

Winmodems、Winprinters、Winscanners 等在 Linux 下不受支持。这些设备实际上是依赖于专有 Windows 软件的固件。在美国,销售支持这些设备的 Linux 发行版是非法的。

Lisa 与软件打交道的时间足够长,知道规格的价值。甚至在购买电脑之前,Lisa 已经创建了一个日志。对于每个正在考虑的来自每个潜在供应商的电脑,Lisa 都有一个列表,列出每个组件、其型号和功能。

Tom 知道,在任何复杂系统(计算机、飞机、汽车等)中支持可靠性的最廉价方法之一是保持准确的维护记录。如果保留并查阅准确的记录,Tom 的学生报告的许多(如果不是大多数)兼容性问题将被避免。

Tom 通常建议避免使用 WinModems 等,因为它们的性能限制对于大多数人来说太严重了。

Oscar 的公司保留每台计算机硬件组件的记录。在尝试解决任何问题之前,Oscar 会检查日志,并且经常发现,当您了解型号详细信息时,棘手的问题会变得容易解决。

2.1.3. 连接

Linux 的有用功能之一是它支持范围广泛的诊断和修复工具。轻松编写脚本的能力也使得编写蠕虫病毒和执行其他恢复操作变得容易。

Oscar 可以轻松获得备用硬盘驱动器。他查看了硬件兼容性指南以选择硬盘驱动器型号。

  • Oscar 用腕带将自己接地,以避免意外的静电损坏。

  • 他根据维修手册打开机箱。

  • 他将磁盘滑入辅助驱动器插槽并连接 IDE 电缆。

  • Oscar 关闭机箱并解除接地。

本版本指南未详细说明如何连接新驱动器。如果您希望查看有关连接的更多信息,或者您希望提供信息,请联系维护者。

2.1.4. 压缩

大多数预装 Windows 的新电脑都交付了一个占用整个磁盘的单个 FAT32 分区。在共享磁盘上加载第二个操作系统之前,必须将其拆分为至少两个分区,因为 Windows 和某些 Linux 发行版将无法容忍同一分区上的另一个操作系统。

软件通常存储在磁盘分区中。在拆分分区之前,所有数据必须移动到分区的开头,以便在拆分分区时,旧的软件和数据不会丢失。Tom 警告 Lisa、Nancy,尤其是 Oscar,压缩是不可逆的。如果分区没有错误,则不会丢失任何活动文件,但可能会丢失断开连接(已删除)的文件。如果分区有错误,则存在一些工具可以在压缩之前经常(但并非总是)恢复断开连接的文件。压缩后,断开连接的文件可能无法恢复。

tomsrtbt-1.6.335 中包含的 fips 是 0.9e,Tom 已将其直接用于 Windows 95。Windows 98 需要 fips-2.0 或更高版本,该版本(在付印时)未包含在存档的 tomsrtbt 发行版中。

Nancy 不熟悉开源代码和互联网,因此 Tom 主动为她创建 fips 磁盘。

  1. 下载 fips-2.0 并在目录 $FIPSROOT 中展开

    (这可能需要特权,具体取决于 Tom 的 Linux 配置)

    (该地址可能会在您阅读本文时更改。)

    bash> FIPSROOT=/opt/packages/fips-2.0
    bash> mkdir -p $FIPSROOT/original
    bash> cd $FIPSROOT/original
    bash> wget ftp://sunsite.icm.edu.pl/pub/Linux/sunsite.unc.edu/system/installl/fips-2.0.zip
    bash> cd $PIPSROOT
    bash> unzip -d oritinal/fips-2.0.zip
    			
  2. 插入并挂载 Nancy 的启动盘。

    (这可能需要特权,具体取决于 Tom 的 Linux 配置)

    bash> mkdir -p /floppy
    bash> mount -t vfat /dev/fd0 /floppy
    			
  3. 按照 fips 的说明进行操作。在付印时,这意味着将 3 个文件复制到启动盘。

    bash> cp restorrb.exe fips.exe errors.txt /floppy
    			
  4. 卸载软盘并将其返回给 Nancy。

    bash> umount /floppy
    			

Nancy 的新机器预装了 Windows 98,在一个占用整个磁盘的单个分区上。安装已经很紧凑,但 Nancy 仍然使用了 scandisk 和 defrag 以确保安全。当使用 fips 拆分分区时,它警告物理分区长度不等于逻辑分区长度。Tom 解释说这是预期的,因为她的磁盘有超过 1024 个柱面。Tom 建议 Nancy 记录当前分区信息,以防万一需要从中恢复灾难。按照 Tom 的建议,Nancy 将第一个分区减少到大约总磁盘大小的 30%。

  1. 创建一个启动盘并将其交给 Tom。

    [开始][设置...\控制面板] [[添加/删除程序] [启动盘] [创建磁盘 ...]]

  2. 验证磁盘没有可检测到的错误。

    (可能仍然存在隐藏的错误。)

    [我的电脑] {(C:\)} [属性 ...] [工具] [错误检查状态\立即检查 ...] [测试类型\全面] [开始]

  3. 修复报告的任何错误。

  4. 对磁盘进行碎片整理,以删除空白区域和已删除的文件。

    [我的电脑] {(C:\)} [属性 ...] [工具] [磁盘碎片整理状态\立即进行碎片整理 ...]

  5. 插入 Tom 的 fips 启动盘并重启计算机。

    [开始] [关机...] [重启] [确定]

  6. 当计算机重新启动时,拆分分区。

    A:\> fips
    Save current partition info: yes
    New partition start: 501
    		

2.1.5. 重新分区

正常的 Linux 安装至少需要两个分区。更多分区通常可以提高性能。大多数 BIOS 最多支持 4 个主分区。

Tom 建议将磁盘分为 4 个分区。

  1. ~33% Windows 可启动

    Windows 需要驻留在第一个主分区上

  2. ~33% Linux 可启动

    在大多数计算机上,可启动分区必须完全位于 1024 个柱面以下。

  3. ~64M 交换空间

    为内存缓存优化的文件系统可以提高性能。

  4. ~33% 数据

    如果兼容,最后一个分区可以由一个或两个操作系统使用。

Windows 可启动分区必须是 Windows 支持的文件系统之一。同样,Linux 可启动分区必须是 Linux 支持的文件系统之一。交换分区必须具有使用它的操作系统支持的文件系统。最后一个分区将用于数据,并且可以具有任何文件系统。

在付印时,上述划分对于大多数计算机是安全的。

Nancy 不熟悉开源和互联网,因此 Tom 借给她他的一个带有 tomsrtbt 的诊断磁盘。

tomsrtbt 是一个小型 Linux 发行版,位于单个软盘上,并加载到 RAM 中。由于它不占用硬盘也不在硬盘上运行,因此非常适合将要修改硬盘的情况(例如,重新分区)。

Tom 强调,重新分区很简单,但必须非常小心地完成,因为其他一切都依赖于它。就像忽略房屋地基中的裂缝一样,分区表错误可能在很长时间内不会显现出来,到那时将很难或不可能纠正。

Nancy 主要将她的系统与 Windows 一起使用,因此 Tom 建议她的数据分区使用 FAT32。从 Tom 为她的计算机准备的组件目录中,Nancy 知道她的硬盘有 1661 个柱面。

  1. 0001-0501 Windows FAT32 可启动

  2. 0502-1002 Linux ext2 可启动

  3. 1003-1011 Linux 交换空间

  4. 1012-1661 数据 FAT32

Lisa 主要将她的系统与 Linux 一起使用,因此她的数据分区将使用 ext2。然后,数据分区将无法用于 Windows,但可以更轻松地从 Linux 使用。Lisa 的硬盘有 787 个柱面。

  1. 0001-0262 Windows FAT32 可启动

  2. 0263-0525 Linux ext2 可启动

  3. 0526-0779 Linux 交换空间

  4. 0780-0787 数据 ext2

Nancy 使用 Tom 提供的 tomsrtbt 磁盘和其中的 fdisk 来编辑她的分区表。

  1. 插入 tomsrtbt 磁盘并重启计算机。

  2. 阅读 fdisk 说明和已知分区类型列表

    bash> /bin/fdisk
    fdisk> m
    fdisk> l
    		
  3. 读取并记录分区表

    (在 fips 之后,她的磁盘有两个分区。)

    fdisk> p
    		
  4. 由于她的磁盘有超过 1024 个柱面,请使用高级命令更新 fdisk 已知的柱面计数

    fdisk> x
    fdisk expert> c 1661
    fdisk expert> r
    		
  5. 删除由 fips 创建的第二个分区。

    fdisk> d
    ... partition[1-2]? 2
    		
  6. 为 Linux 添加新的第二个分区

    fdisk> n
    ... partition ...? 2
    ... extended ... primary ... type? p
    ... start ...? 502
    ... end ...? 1002
    		
  7. 为交换空间添加新的第三个分区

    fdisk> n
    ... partition ...? 3
    ... extended ... primary ... type? p
    ... start ...? 1003
    ... end ...? 1011
    		
  8. 为数据添加新的第四个分区

    fdisk> n
    ... partition ...? 4
    ... extended ... primary ... type? p
    ... start ...? 1012
    ... end ...? 1661
    		
  9. 重新打印分区表并仔细检查错误。

    (如果存在任何错误,则删除并添加分区)

    fdisk> p
    		
  10. 设置每个分区的类型(要使用的文件系统)。

    fdisk> t
    ... partition ...? 2
    ... type ...? 83
    fdisk> t
    ... partition ...? 3
    ... type ...? 82
    fdisk> t
    ... partition ...? 4
    ... type ...? 0c
    		
  11. 记录并重新打印分区表,并仔细检查错误。

    如果不满意,则退出。

    fdisk> q
    		
  12. 如果满意,则写入分区表。

    fdisk> w
    		

Nancy 将新的分区表记录在她的计算机日志中。

Disk /dev/hda: 255 heads, 63 sectors, 1661 cylinders
Units = cylinders of 16085 * 512 bytes

   Drive  Boot  Start  End   Blocks  Id  System
/dev/hda1 *        1   501   402451+ 0c  Win95 FAT32 (LBA)
/dev/hda2        502  1002   402482  83  Linux Native
/dev/hda3       1003  1011    72292  82  Linux Swap
/dev/hda4       1012  1661  5221125  83  Linux Native

2.1.6. 格式化

为了有效使用任何硬盘,必须对其进行格式化。格式化后,无论成功与否,该分区中的所有旧数据都会丢失(恢复成本增加 10-100 倍)。

Tom 警告说,格式化是唯一既非幂等又不可逆的操作。应使用目标操作系统提供的工具来格式化 intended for that partition. 使用 Windows 下的 format 来格式化 FAT32 分区。使用

Nancy 在 Windows 下格式化数据分区。

  1. 在 Windows 中重启计算机

  2. 格式化分区

    [[我的电脑]] {(D:)} [格式化 ...] [格式化类型\完全] [开始] Nancy 使用 Tom 提供的 tomsrtbt 磁盘在 Linux 下格式化 Linux 和交换分区。

  3. 插入 tomsrtbt 磁盘并重启

  4. 检查坏块并格式化 Linux 分区。

    bash> mke2fs -c /dev/hda2
    		
  5. 检查文件系统

    bash> e2fsck /dev/hda2
    		
  6. 检查坏块并制作交换文件系统

    bash> mkswap -c /dev/hda3
    		

(未测试)Lisa 仅使用 tomsrtbt 以与 Nancy 相同的方式格式化 Linux 分区。

  1. 插入 tomsrtbt 磁盘并重启

  2. 检查坏块并格式化 Linux 分区。

    bash> mke2fs -c /dev/hda2
    		
  3. 检查文件系统

    bash> e2fsck /dev/hda2
    		
  4. 检查坏块并制作交换文件系统

    bash> mkswap -c /dev/hda3
    		
  5. 检查坏块并制作数据分区

    bash> mke2fs -c /dev/hda4
    		
  6. 检查文件系统

    bash> e2fsck /dev/hda2
    		

2.1.7. 初始程序加载

现在是操作系统成为计算机一部分的时候了。之前的所有步骤都奠定了基础。这是目录的详细程度和准确性将特别有用的第一次。按照您的发行版提供的安装说明进行操作。本指南未详细说明如何加载发行版,因为发行版说明将提供最佳说明。

尽管 Linux 可以免费获得,但 Tom 建议购买带有书面说明和支持工具的发行版。一个好的发行版的价格是值得的。在 Tom 看来,向朋友询问是选择 Linux 发行版的最佳方式。满足您具有相似兴趣的朋友的发行版很可能也会让您满意。

Tom 知道 Nancy 获得了一张新发布的显卡,他对此没有任何经验。他警告 Nancy,X 配置可能无法工作。当她打电话给他时,他使用了 yast 的专家选项,这告诉他,尽管她的卡未按制造商和型号列出,但它使用了 mach64 X 服务器。现在熟悉 yast 的 Nancy 安装了 mach64 x 服务器并删除了 svga X 服务器。Tom 留下来与 Nancy 讨论 X 安装。Nancy 的显示器未在配置列表中命名,但通过从目录中获知的型号,快速访问制造商的网站即可获得扫描速率限制。

Tom 知道 Linux 的可配置性吓坏了许多新用户,因此他经常向首次用户推荐 RedHat,因为其商业技术支持和默认配置设置。他让 Nancy 知道,尽管她应该尝试在回答之前考虑每个问题,但她无需担心犯错,因为她稍后可以撤消几乎任何配置决策。大多数软件包管理工具都提供加载和保存配置文件(例如 /etc/linuxrc)。

  • 保留配置问题列表以及每个问题的答案。

  • 当有疑问时,向 Linux 添加一个软件包,并注意它有疑问。

  • 安装一个月后,返回并删除您未使用的任何软件包,并记录删除操作。

  • 预计会因丢失而发现一些 Linux 配置错误。

  • 当您发现 Linux 配置与您的期望不同时,请更改 Linux 配置。

  • 当有疑问时,不要向 Windows 添加软件包。

Tom 知道 Windows 和 Linux 之间的一些差异迫使做出一些妥协。

  • 将硬件时钟设置为本地时间。

    Windows 从同一时钟显示时间、时间戳文件操作并与网络同步。

    Linux 为每个操作使用单独的时钟。在仅 Linux 系统上,硬件时钟通常设置为 UTC(世界协调时),即网络标准。网络和文件操作时钟通常只是 Linux 对硬件时钟的视图。对于显示,Linux 通常根据时区和日期移动硬件时钟。

    由于 Windows 仅支持一个时钟,因此您必须决定(除非您住在英国格林威治)是将硬件时钟设置为本地时间还是 UTC。

    如果您使用 UTC,您将必须在心理上将 Windows 显示的时间转换为本地时间。

    如果您使用本地时间,则某些网络活动可能会变得混乱。国际电子邮件问题是最常报告的问题。从柏林当地时间 13:00 发送的邮件可能会在一秒钟后存储在纽约的 UTC 时间 12:00,在那里它等待通往旧金山目的地的通道。为了节省空间,纽约主机可能会删除在 30 分钟的合理时间内无法发送的邮件。如果柏林邮件不清楚它是在柏林时间 13:00 发送的,或者如果纽约主机不愿意进行转换,则电子邮件可能会在一个小时后(13:00 - 12:00)因无法投递而丢失。

由于 Nancy 是一名会计师,Tom 建议她使用 SuSE 发行版。SuSE 附带 ApplixWare 办公软件套件。Nancy 已经阅读了 SuSE 发行版随附的书籍的安装章节。SuSE 的 yast 允许她将配置选择存储在一个文件中,该文件包含在她的计算机日志中。

  1. Nancy 确保她手头有目录(和 Tom 的电话号码)。

  2. 她插入 SuSE CD-ROM 并重启计算机。

  3. 她选择安装选项(英语、彩色等)

  4. 她检查为她的系统检测到的硬件,并确认它与她自己的目录匹配。

    硬盘和 CD-RW 都被检测到。

    声卡和显卡都被检测到。

    PCI 和 USB 总线都被检测到。

  5. 按照 SuSE 的说明,她启动 YaST,系统配置工具。

  6. Nancy 已经分区,拒绝 YaST 重新分区磁盘的提议。

  7. Nancy 已经由 Windows 格式化,拒绝 YaST 格式化她的 Windows 分区的提议。

  8. 尽管已经格式化,Nancy 还是接受了重新格式化她的交换分区和 Linux 分区的提议。

  9. 设置分区的挂载点。

    [CREATING FILESYSTEMS]
    /dev/hda1     no    vfat /WinC Win95 FAT32
    /dev/hda2 ... check ext2 /     Linux
    /dev/hda4     no    vfat /WinD Win95 FAT32
    		
  10. Nancy 现在选择她想要的软件包。

    Nancy 包括她知道自己想要的非标准软件包(例如 CD 刻录)。

    Nancy 排除她知道自己不需要的标准软件包(例如磁带驱动器支持)。

    Nancy 使用她的目录为她的特定硬件选择软件包(例如 X 服务器)。

    她指示硬件时钟设置为本地时间。

    Nancy 保存了她的配置副本并将其放在她的日志中。

(本指南的本小节尚未编写。)

2.1.8. 启动管理器加载

如果您的计算机上有两个或多个操作系统,则必须有一种选择加载哪个操作系统的方法。

在安装启动管理器之前,Tom 建议 Nancy 和 Lisa 制作启动盘(和主引导记录备份)。他还建议每个人在安装启动管理器之前测试他们的启动盘。这样做是为了如果启动管理器安装失败,可以启动计算机并将主引导记录恢复到硬盘。

由于其可配置性和鲁棒性,Tom 向大多数用户推荐 lilo。大多数 Linux 发行版都支持同一分区上的多个 Linux 版本。这意味着您可以安装和测试操作系统的升级,而无需进行冗长的重新安装。当升级令人满意(或不满意)时,您可以删除不再有用的版本。

在安装过程中,SuSE 提供了在安装 lilo 之前制作启动盘和主引导记录备份的功能。

  1. 创建救援软盘。

    [CREATE A BOOT DISK?/YES]
    		
  2. Nancy 写保护磁盘并将其放在她的日志中。

  3. Nancy 安装 lilo

    [LILO INSTALLATION ...]
    Windows /dev/hda1
    SuSE    /dev/hda2 /boot/vmlinuz
    		

Windows 安装会覆盖主引导记录,并使用加载 Windows 的记录。安装 Windows 后,Lisa 必须重新安装 lilo。为了简化操作,她使用 Windows 下的 loalin 加载她现有的 Linux,然后使用 linux 配置和安装 lilo。

2.1.9. 挂载

(本指南的本小节尚未编写。)