不光是 Gentoo,其实应该说,只要是用 Grub 引导的 Linux distro 都可以做到不用光盘/软盘引导安装。
警告!此方法不适合安装 Fedora Core 3!!其它 RPM 系统未经测试,但是不推荐!
Caution! This installation method is not capable for installing Red Hat Fedora Core 3 system! Other RPM-based systems are not tested but NOT recommented!!!
主菜:Linux ISO 文件一套(有光盘?那你还费这个事?!)
配料:Windows 2000 Professional,VM ware 4.5.1
制作过程:
1、进入 Windows 2000 Pro,打开 VM ware
2、建立一个新的虚拟机(不许乱丢东西!西红柿是宝贝……)
3、注意,选虚拟磁盘的时候选择 Using a phisical disk,然后是 Using entire disk!千万不要错!
4、OK -> Set -> Ready? Go!
开始之前需要确定一下安装 Linux 所用的分区……我喜欢 Windows 2000 提供的“计算机管理”MMC 里面的“计算机管理”。定位你需要的磁盘分区,删除!
回忆一下 Linux 的磁盘命名方式……所有分区都是文件,在 /dev 目录下面
IDE 0:1 就是 hda,hda 上面的分区分别是 hda1, hda2, hda3, hda4...
一个硬盘可以存在四个 primary partition,其中第四个可以作为扩展分区,然后在其上划分逻辑分区……这个扩展分区是 /dev/hda4,逻辑分区从 hda5 开始。我这里是 E 盘之后的那个分区……所以是 /dev/hda7
光驱在 IDE 2:1,所以是 /dev/hdc
打开虚拟机的 settings,把 CD-ROM 改成你的 LINUX ISO(如果是光盘,就用 Auto detect),OK,启动。出现 VM 启动画面,点 F2 进入“BIOS Settings”,选择 CD-rom boot,然后保存退出……
下面就是漫长而艰辛的安装过程了(对我来说是的……因为我装的是传说中的 Gentoo:艰难到想吐^_^)。Red Hat 安装过程中可以选择 Boot loader,选择 Grub;然后安装在哪里,选项是 MBR 或者 First sector of partition,切记选择 first sector of partition!一旦覆盖了 MBR,你就失去了珍贵的 NT Loader 了,想要删除 Linux 会比较痛苦……
『注:这里其实有更简单的方法(针对 Gentoo:我不熟悉 Red Hat),就是把 grub 装在 fd0 上。可以用 VMware 制作一张虚拟软盘,然后执行 grub-install /dev/fd0。这样就可以用这个虚拟软盘引导 Gentoo;而且,在退出虚拟机之后,用 rawwrite 之类的工具(直接在 Linux 下面用 dd 命令也可以)把这个软盘镜像写入一张软盘上。这张软盘可以用来把你的电脑引导到 Gentoo Linux 中去,而不仅仅是引导虚拟机。如果你制作了这样一张引导软盘,则下面的过程都可以省略了。』
OK,全部安装完成~重启虚拟机,进入 Linux。
打开一个 Konsole 或者 Gnome Terminal 或者 aterm, xterm, ... 什么?你就在 Console?太好了太好了……
如果是 RH 之类的 distro,那么硬盘分区应该已经装入(mount)完毕……否则可以用一个软盘(为了万无一失的保险)。输入
mount fd0 /mnt/floppy
应该可以成功。这样我们就可以通过 /mnt/floppy 目录访问软盘的内容了。
dd if=/dev/hda7 of=/mnt/floppy/bootsect.lin bs=512 count=1
dd 命令是用来复制文件的。if 是输入文件,of 是输出文件,bs 是 block size,count 是 block count。所以 dd if=/dev/hda7 of=/mnt/floppy/bootsect.lin bs=512 count=1 就是从 /dev/hda7 这个文件(文件!)读取 512 个 byte 一次,总共读取一次,然后写入 /mnt/floppy 下的 bootsect.lin 文件。为什么是 /dev/hda7 作为输入文件?因为我们需要读取的是硬盘分区开始的最前面 512 个字符,也就是直接访问硬件,所以只能通过读取设备文件来达到目的。这 512 个字节的文件包含了 grub 的启动信息~默认是安装在 MBR 被 BIOS 直接引导的。不过为了 NT Loader,只能委屈它了~
软盘上有了 bootsect.lin ?ls /mnt/floppy 可以看到?好,umount /dev/fd0 卸载软盘,然后 shutdown -h now 关机。下面的工作是在 Win 2k 下面的了。
打开我的电脑,文件夹选项,取消“隐藏受保护的系统文件”。进入 C,把软盘上的 bootsect.lin 拷贝到 C:/ 下面。双击 boot.ini 打开,在最下面加入一行:
C:/bootsect.lin="Gentoo Linux"
因为我的是 Gentoo,其实名字无所谓,不是么?保存退出~
为了以防万一,为了谨慎,为了我们美好的明天……打开“文件夹选项”,选中“隐藏受保护的系统文件”,确定~“开始”-“运行”,输入 cmd.exe,回车。进入 C: 目录,然后输入
attrib +r +s +h C:/bootsect.lin
给 bootsect.lin 加上“系统、只读、隐藏”属性,Hoho
然后输入 shutdown -r now ——郁闷,怀念 XP 。。。
重启动,享受新鲜的 Linux 吧!
参考文档:
http://www.nsfocus.net/index.php?act=sec_doc&do=view&doc_id=765