Linux+Win9x+Grub 指南 | ||
---|---|---|
上一页 |
如果您已经有一个用于 Windows 安装的干净分区或磁盘,您可以跳过本节。 否则,您需要运行分区编辑器来整理磁盘碎片并为 Windows 创建一个新分区。 我的安装使用了 GNU Parted;sfdisk 也应该可以工作。 切勿 使用 fdisk,它不会保留您的数据。 请注意,此过程并非万无一失,在开始之前请务必备份任何重要文件。
这是我预安装时的分区表的样子
Device Start End System /dev/hda1 1 3 Linux /dev/hda2 4 1222 Extended /dev/hda5 4 36 Linux swap /dev/hda6 37 1222 Linux |
/dev/hda1 是我的 /boot 分区(您可能有一个或没有单独的 Linux 引导分区),/dev/hda2 是一个扩展分区,其中包含两个逻辑驱动器 /dev/hda5 和 /dev/hda6,它们包含我的 Linux 交换分区和 Linux 安装分区。
以 root 身份运行您的分区编辑器。 将您的 Linux 分区调整为您决定的大小。(确保此大小不小于磁盘上的数据量。)该程序将整理碎片一段时间,然后更改分区表。 相应地调整包含 Linux 分区的扩展分区的大小。 现在您应该在磁盘上有足够的未使用空间来创建一个新的主 Windows 分区。 继续创建一个使用 Win95 FAT32 (LBA) 文件系统的新分区。 现在您的分区表应该看起来像这样
Device Start End System /dev/hda1 1 3 Linux /dev/hda2 4 905 Extended /dev/hda3 906 1222 Win95 FAT32 (LBA) /dev/hda5 4 36 Linux swap /dev/hda6 37 905 Linux |
我强烈建议您此时运行 fdisk 并将所有分区信息写在一张纸上。 如果您在安装过程中犯了错误,Windows 会非常乐意根据自己的喜好重写您的分区表,并且您需要知道您的分区是什么样子,以备不时之需。
您的磁盘上应该有 GRUB 的 RPM 或源代码包。 请按照您系统的相应安装步骤进行操作。 GRUB 现在应该已经安装但尚未加载。 以 root 身份运行
# /sbin/grub-install /dev/hda |
这将把 GRUB 加载到您磁盘的主引导记录中。 现在您需要编辑 /boot/grub/grub.conf 以配置 GRUB 启动菜单
default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.4.7-10) root (hd0,0) kernel /vmlinuz-2.4.7-10 ro root=/dev/hda6 initrd /initrd-2.4.7-10.img title Windows 98 map (hd0,0) (hd0,2) map (hd0,2) (hd0,0) rootnoverify (hd0,2) chainloader +1 title DOS Boot Disk map (hd0,0) (hd0,2) map (hd0,2) (hd0,0) chainloader (fd0)+1 |
让我们来看看这意味着什么。
“default=0”和“timeout=10”将使 Linux 在 10 秒后启动,如果您什么都不操作。“splashimage”是不言自明的,不是很重要。
“title”表示每个启动设置,后面的文本将显示在启动菜单中。“root”指定哪个分区包含您的 Linux 内核镜像(这可能不是您的实际根 (/) 分区)。因此,“root (hd0,0)”告诉 GRUB 内核位于 /dev/hda 的第一个分区上。您可以看到 GRUB 有一个有趣的编号系统,主分区为 0-3,逻辑分区为 4+。下一行告诉 GRUB 在哪里找到您的内核以及您的 Linux 系统的实际根分区在哪里。“initrd”告诉 init ramdisk 镜像的位置。请注意,如果您没有单独的 /boot 分区,这几行可能会有所不同。如果您需要更多帮助,请查看 GRUB 信息页面。
Windows 98 部分下的 “map” 行对于使您的安装工作至关重要。 这些是神奇的行,可以欺骗 Windows 相信它安装在第一个磁盘的第一个分区上。 如果您不将 Windows 分区映射到 (hd0,0),Windows 将破坏您的分区表,您将无法启动任何内容。
“rootnoverify”告诉 GRUB 从 Windows 分区启动,但不尝试挂载它,“chainloader +1”告诉 GRUB 链接到 Windows 的引导加载程序,这将启动 Windows。
如果您要从软盘启动以开始 Windows 安装,则需要 “DOS boot disk” 部分,但如果您出于任何原因想要使用 DOS 启动盘,它在安装后也会派上用场。 如果您的 Windows 安装 CD 是可引导的,您将需要一个 “Windows boot disk” 部分,该部分链接到您的 CDROM 设备名称。
现在保存 grub.conf 并退出文本编辑器。 与 LILO 不同,在修改启动配置后,GRUB 不需要您运行任何可执行文件。 现在,在手边备有紧急 Linux 启动盘的情况下,尝试重新启动计算机。 当系统启动时,您应该看到 GRUB 菜单,其中包含三个启动选项。 选择 Linux。 希望 Linux 将像往常一样启动,并且您已正确安装 GRUB。 如果没有,您很庆幸有一个 Linux 启动盘,以便您可以启动到 Linux 并修复您的 grub.conf。 一旦您成功使用 GRUB 启动 Linux,就可以安装 Windows 了。
从您的计算机中取出所有软盘和 CD 并重新启动。 切勿在驱动器中已插入安装介质的情况下启动计算机。 如果您这样做,您的 BIOS 将直接启动 Windows 安装程序,GRUB 将没有机会发挥其魔力。 当 GRUB 菜单出现时,插入您的软盘或 CD,然后根据您的安装方法选择 DOS 启动盘或 Windows 安装 CD 启动。 Windows 安装程序应该会在 C: 驱动器上看到您为其创建的分区。 继续安装 Windows。
就这样。 您的计算机现在已设置为双启动机器。