Linux ``Linux-DOS-Win95-OS2'' mini-HOWTO <author>Mike Harlan, <tt>r3mdh@raex.com</tt><newline> 译者:赵平望 tchao@worldnet.att.net <date>v1.3.1, 11 November 1997 翻译日期:2000年3月24日</date> <abstract> 这份 mini-HOWTO 说明如何在一个硬盘上同时安装 4 个操作系统。 </abstract> <!-- Table of contents --> <toc> <!-- Begin the document --> <p> <descrip> <tag>免责声明:</tag> 按照这份 HOWTO 的内容,在电脑上造成的损失,仍旧是你的责任。 在删除分割区或重新格式化时,务必谨慎。要知道,删除分割区或重新格式化 都会丢失盘上已有的数据。因此,务必常常制作备份。 <tag>Stuff to make the lawyers happy:(译注:版权声明)</tag> Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. If you have any questions, please contact Tim Bynum, the Linux HOWTO coordinator, at <htmlurl url="mailto:linux-howto@sunsite.unc.edu" name="linux-howto@sunsite.unc.edu"> via email. <tag>v1.3 版之後的增订内容:</tag> <itemize> <item>更改 e-mail 地址。 将地址从 <htmlurl url="mailto:r3mdh@imperium.net" name="r3mdh@imperium.net"> 改为 <htmlurl url="mailto:r3mdh@raex.com" name="r3mdh@raex.com">. </itemize> <tag>v1.0 版之後的增订内容:</tag> <itemize> <item>更改 e-mail 地址。 将地址从 <htmlurl url="mailto:r3mdh@dax.cc.uakron.edu" name="r3mdh@dax.cc.uakron.edu"> 改为 <htmlurl url="mailto:r3mdh@imperium.net" name="r3mdh@imperium.net">. </itemize> </descrip> </p> <p> 现在...........好戏开锣了! </p> <sect>导言 <p> 在多日挣扎和沮丧之後,我终於找到办法达到我想要达到的目的。 我的电脑硬盘容量是 1.2 GB,有内存记忆体 16 MB。我想在这个电脑上安装 4 个操作系统: MSDOS v6.22,Windows 95,OS/2 和 Linux。 至今我没有找到任何 Linux HOWTO 说明如何在一部机器里安装这四种操作系统, 而同时还能各别启动(固然可以把每个操作系统安装到不同的分割区, 但要使它们都能启动,而不会卡死在“ Starting MSDOS ”等情况,那却是另外一会事)。 经过多次尝试和失败,我终於找到到了下面的办法: </p> <p> 在开始说明步骤之前,不妨先指出我最後想达到何种设置: <tscreen> <verb> <操作系统> <硬盘空间> <编号> <分割区号码> --------------------------------------------------------------------- MSDOS v6.22 11MB P1 第1主分割区 --------------------------------------------------------------------- Windows '95 350MB P2 第2主分割区 --------------------------------------------------------------------- OS/2 Boot Manager 2MB P3 第3主分割区 --------------------------------------------------------------------- DOS/Win Data 511MB E1 第4主分割区 OS/2 Warp 3.0 127MB E2 扩展为 4 个逻辑盘 Linux Slakware 3.2 Swap XMB E3 (次分割区) Linux Slakware 3.2 Native 219-XMB E4 编号为 E1-E4 --------------------------------------------------------------------- </verb> </tscreen> 为什麽要这样分割呢?请容我慢慢道来。 首先,我们需要使用硬盘上的所有四个分割区。第1至第3分割区都是主分割区。 这三个分割区上存放 MSDOS,Win95 和 OS/2 Boot Manager(它竟然要占一个分割区)。最後只剩下一个分割区可用。 我们需要这个分割区存放DOS/Win95数据 (需要一个空间存放大量下载的 ZIP 文档,同时也可用来存放 Win95 分割区存放不下的文档)、OS/2和Linux(包括Linux内核和交换区) </p> <p> 最近有许多人写信给我,问我为什麽Win95、DOS和Win95/DOS数据各有一个分割区。 其实并不是人人都需要Win95和DOS两个分割区,有人可能根本已经不用DOS了。 不少人完全使用Windows 95的应用软件。不过,目前还有使用DOS的用户, 他们还觉得离不开DOS呢。不管是什麽原因,DOS系统可以运行16位元的应用软件, 或有些软件根本不能在Windows 的情况下运行(例如Gravis Ultrasound声卡的安装程序),反正不时还需要用到DOS。 编制这份HOWTO时,这些人的需要也考虑在内。 如果还是吞不下这口气,认为何必在这份HOWTO里还出现“MSDOS”的字眼, 那就请阁下坐下来,写一份只有 Linux-Win95-OS/2 的 HOWTO 就可以了。 </p> <p> 现在回到上面的图表。 我们都看到在一个分割区内要挤进四样东西: DOS/Win 数据、OS/2、和 Linux 内核区和分割区。 要达到这个目的并不难,只要在主分割区内分设逻辑盘(或逻辑分割区, 取决于你读的是哪一本书)。 当主分割区内设立逻辑盘时,我们将此分割区称为扩展分割区(因为它从 一个分割区扩展为三个分割区)。糊涂了吗?不妨读一读 OS/2 的使用手册, 对分割区取得进一步了解。书上的解释比这里更明确。 </p> <p> 也许你现在正在怀疑,“这家伙要把四样东西放进扩展分割区里, 但这家伙又说只能有三个小分割区!” 这没有错,至少从 MS-DOS 和 OS/2 的观点而言的确如此。 这里正显示出 Linux 威力强大之处。Linux 可以在扩展分割区内切割三个以上 的分割区。我不知道倒底能分割几个,但至少能分割我们需要的四个分割区。 因此,我们必需记得,在下文安装时,用 MSDOS 或 OS/2 程式只能生成三个分割区, 然後,我们再用Linux将其中一个分割成两个。这可以想成“骗”MSDOS 和 OS/2 只有三个分割区,但其实(以 Linux 而言)它有四个分割区。 </p> <sect>安装程序 <p> <descrip> <tag>注:</tag> 括号内的数字为我用于 1.2 GB硬盘内的 MB 数。 </descrip> 现在我们开始安装: <enum> <item>运行 Linux Slakware CD 上的 <tt>view.exe</tt> 生成 Linux Boot 和 Linux Root 软盘。Linux 的启动盘称为 “Root disk” 和 “Ramdisk”。此後此盘称为 Ramdisk (Root)。 <item>将原盘上需要保存的资料制作备份。 <item>用 MSDOS 安装盘 disk 1 启动。 <item>当出现 “<tt>Starting MSDOS</tt>” 时,按 F5,不运行 <tt>config.sys</tt> and <tt>autoexec.bat</tt>。 <item>运行 <tt>a:\fdisk.exe</tt>。 <item>删除所有分割区(屏幕提示: DELETING / MODIFYING OF ANY PARTITION WILL RESULT IN THE LOSS OF ALL DATA ON THE DISK!)。 <item>添加 MSDOS 主分割区 (11MB)。 <item><tt>Format</tt> 这个分割区。 <item>运行 <tt>a:\setup.exe</tt>,安装 MSDOS 在这个分割区内。 <item>启动 OS/2。 <item>选 Advanced installation. <item>运行 <tt>FDISK</tt>。(在 OS/2 安装中,它会自动出现) <item>在 MSDOS 分割区後增加一个分割区。这个分割区将成为 Windows 95 分割区(349MB)。 <item>在下一个分割区安装 Boot Manager (2MB)。 <item>增加扩展分割区。 <item>在扩展分割区增加逻辑盘。此处将成为 MSDOS 的数据区(511MB)。 <item>在扩展分割区再增加逻辑盘。此处将成为 OS/2 HPFS (``High Performance File System'') 分割区 (127MB)。 <item>在扩展分割区增加最後一个逻辑盘,包含所有剩馀空间。 以後这个逻辑盘会分割成两个分割区,分别为 Linux 和 swap 分割区。 因为 OS/2 (和 DOS)至多只认一个硬盘上的 6 个分割区(3 个主分割区和 1 个扩展分割区内的 3 个逻辑盘),所以现在只设一个 Linux 逻辑盘。注意:此处必需先设这个逻辑盘, 把空间占满,别以为以後 Linux 还能加设空间。因为 OS/2 的 FDISK 在设定最後一个逻辑盘後会加附 END 标志。在此之後就不能再加任何逻辑盘,不论是否还有空间。 所以先把所有空间占下来,等以後用 Linux 的 FDISK 再来划分最後一个分割区。 <item>将分割区 1, 2, 和 5 加附到 Boot Manager。 <item>将分割区 5 设置成 installable 。 此时 <tt>FDISK</tt> 屏幕应显示如下(或接近这样的设置): <tscreen> <code> FDISK Disk 1 ___________________________________________________________________________ Partition Information Name Status Access FS Type MBytes ___________________________________________________________________________ MSDOS Bootable C: Primary FAT 11 WIN 95 Bootable : Primary FAT 350 Startable : Primary BOOT MANAGER 2 None D: Logical Unformatted 511 OS/2 Installable E: Logical FAT 127 None F: Logical Unformatted 219 </code> </tscreen> <item>继续用 OS/2 进行安装。 <item>重新启动并从 Boot Manager 选取分割区 2 (Windows 95)。 <item>屏幕出现 missing operating system 信息时,安装 MSDOS。 我们选这个分割区来“躲藏”MSDOS 分割区。OS/2 Boot Manager 有一个特别性质,每次只能看见一个启动分割区(此处为 MSDOS 和OS/2),换言之, 当用 MSDOS 启动时,就看不到另一个分割区(WIN95)。这就是为什麽分享一个盘号。 所以在上面“Access”下,MSDOS 有盘号 C,而 WIN95 就没有盘号的缘故。在这种情况下,MSDOS 在 C 盘,WIN95 却看不见。如果用 WIN95 启动,情况正好相反,WIN95 在 C 盘,而 MSDOS 就完全看不到。 <bf>看不到的盘,就完全无法使用</bf>。如果想在两个盘间抄送文件, 就得借助一个共用盘。此处就是 DOS/WIN95 的数据盘(D 盘 511 MB)。 <item>将 MSDOS 安装在分割区 2。(以便安装 Win95) <item>用分割区 2 启动。 <item>在这个分割区上安装 Windows 95。 <item>用分割区 1 启动。 <item>格式化分割区 4 。 <item>将 DOS 数据抄回分割区 1 和 4。 <item>用 Linux Boot 软盘启动。 <item>然後用 Linux Ramdisk (Root) 软盘。 <item>用 root 登录,出现 <tt>#</tt> 号时键入“<tt>fdisk</tt>”, 然後按 enter。 <item>删除最後一个分割区(步骤 18 设立的分割区)。 <item>增加一个 16MB 的分割区,并设置成 Linux Swap。 (17MB) <item>将硬盘的所有剩馀部分设置成一个分割区,并将其设成 Linux native。 (198MB) <item>将改变写入并重新启动。 <item>当出现 <tt>#</tt> 时运行 <tt>setup</tt>。 <item>将 Linux 安装在最後一个分割区。 <item>安装 LILO时务必将其安装在最後一个分割区的 root 下(不是 MBR,否则前功尽弃)。只把最後一个分割区放在 LILO 内,并将时间(timer)设为 0。这样在 OS/2 的 Boot Manager 内选取 Linux 时,LILO 会启动, 并从扩展分割区的逻辑盘启动 Linux。因为这个有 Linux 的分割区是唯一需要从 LILO 启动的分割区,所以可以把时间设为 0。(如有其他版本的 Linux,则可设定时间)。 <item>设定 Linux swap 分割区。(参考 Matt Welsh 编写的 Linux Installation and Getting Started 手册) <item>启动 OS/2。 <item>运行 FDISK。 <item>将 Linux 加载到 Boot Manager (Linux NATIVE 分割区格式 <tt>83</tt>, <bf>不是</bf>格式 <tt>82</tt>!)。 </enum> 现在 <tt>FDISK</tt> 屏幕应显示如下(或接近这样的设置): <tscreen> <code> FDISK Disk 1 ___________________________________________________________________________ Partition Information Name Status Access FS Type MBytes ___________________________________________________________________________ MSDOS Bootable C: Primary FAT 11 WIN 95 Bootable : Primary FAT 350 Startable : Primary BOOT MANAGER 2 None D: Logical FAT 511 OS/2 Bootable E: Logical HPFS 127 None : Logical Type 82 17 Linux Bootable : Logical Type 83 198 </code> </tscreen> ...至此,大功告成! </p> <p> 如有建议/评论/问题(最好没有),请寄 <htmlurl url="mailto:r3mdh@raex.com" name="r3mdh@raex.com">。 </p> <p> Mike Harlan,1997年11月11日 <!-- pxq --> </p> </article>