`

如何在一台电脑上安装和引导145个操作系统(转载)

阅读更多

这145个系统是:-

3 Dos
5 Windows
137 Linux

我也在一台 Darwin x86 电脑上安装了大多数的基于PC的BSD和Solaris系统,但是这些系统不喜欢和其他一大堆的系统共存,所以我只有把它们装到另一台电脑上直到我找到一个解决这个技术问题的方法为止。

这个指南只有三个步骤。

第一步 -一个简单的软件方案

一 个操作系统需要住在一个家里面。对我来说那就是一个分区。我使用一块 2×300Gb Pata 硬盘和一块 2×200 Sata 硬盘,并分了152个分区。通常我把一个操作系统放在一个分区里。作为扩展分区的每个硬盘没有自己的存储空间,一个纯数据分区放置我的个人数据,另一个纯数据分区放置公共引导装载器,还有所有Linux需要的一个Swap分区,最后我除去7个分区留下145个分区放置那145个操作系统。< /p>

第二步 -一个简单的引导方案

我把 Grub 装入纯数据分区,在任何一个操作系统被安装之前我就建立了一个引导所有分区的引导菜单。当一个分区塞进系统以后立即就变得可引导了。这个方案绝对的简单,听进来很有技术性,在所有的情况下都完美的可用,但对一些电脑用记来说这看起来很非常规。对那些对Grub知之甚少的人来说,它只不是通常Linux里使用的双系统引导装载器而已。另一个相似功能的东西叫Lilo,在2007年初可能有少于40%Linux发行版使用它。

简而言之,我使用Grub去启动145个之中任何一个我选择使用的系统的引导文件。接下来的工作就交给第二个引导文件了,它会启动它的老大。

第三步 -一个简单的安装方案

它真的很简单。我只是把每一个系统安装到一个单独分区。对于微软系统工作稍为多一点,因为我必须安装一个单独的系统,为了让它总能从 “C”盘启动。然后我把带有系统的硬盘移到最后一个分区,编辑Grub菜单文件让它能重新以“C“盘的状态启动。

我的方案依赖于每一个系统的根分区内有一个引导文件。这在每一个微软系统和其它依赖从主分区启动的操作系统都固有这个引导文件。对于 Linux来说这是一个可任意选择的选项。

硬件使用

我的电脑是用市场上便宜的元件自己装配的。没有什么值得写的。就是一个普通电脑用户认为在5年之后就会落伍的平均装备,我只能负担得起这样。

主板: Asrock 939NF4G-SATA2

CPU: AMD 939 64 +3200

内存: 1025Mb

显卡: 主板集成 NV44 graphics DX9.0 VGA

硬盘:2×300Gb Maxtor 133/Mb/s Pata Diamond Max 10

2×200Gb 150Mb/s Sata-I Maxtor Diamond Maxline III

声卡: SoundBlaster 5.1

网卡: 一般 Realtek 8139 10/100 Entrnet

键盘: Generic PS/2 keyboard

鼠标: Generic PS/2 mouse

必要工具

(1) 一张可引导的Grub软盘或CD。
(2) 一张Linux Live CD. 理想的是有Grub集成在里面那种。
(3) 一张Dos 6 或者更高版本的引导软盘,带fdisk.ext的那种。
(4) 一张Win2k 或 XP 安装CD

项目(1)的引导盘制作(1)和如果使用其它的工具请看我签名上的链接。

分区列表

这是Linux命令“fdisk -l”输出的分区方案细节。

代码:

Warning: omitting partitions after #60.
They will be deleted if you save this partition table.

Disk /dev/hda: 300.0 GB, 300090728448 bytes
255 heads, 63 sectors/track, 36483 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 122 979933+ 16 Hidden FAT16
/dev/hda2 123 244 979965 16 Hidden FAT16
/dev/hda3 245 366 979965 16 Hidden FAT16
/dev/hda4 367 36483 290109802+ 5 Extended
/dev/hda5 367 609 1951866 82 Linux swap
/dev/hda6 610 1217 4883728+ 83 Linux
/dev/hda7 1218 1825 4883728+ 83 Linux
/dev/hda8 1826 2433 4883728+ 83 Linux
/dev/hda9 2434 3041 4883728+ 83 Linux
/dev/hda10 3042 3649 4883728+ 83 Linux
/dev/hda11 3650 4257 4883728+ 83 Linux
/dev/hda12 4258 4865 4883728+ 83 Linux
/dev/hda13 4866 5473 4883728+ 83 Linux
/dev/hda14 5474 6081 4883728+ 83 Linux
/dev/hda15 6082 6689 4883728+ 83 Linux
/dev/hda16 6690 7297 4883728+ 83 Linux
/dev/hda17 7298 7905 4883728+ 83 Linux
/dev/hda18 7906 8513 4883728+ 83 Linux
/dev/hda19 8514 9121 4883728+ 83 Linux
/dev/hda20 9122 9729 4883728+ 83 Linux
/dev/hda21 9730 10337 4883728+ 83 Linux
/dev/hda22 10338 10945 4883728+ 83 Linux
/dev/hda23 10946 11553 4883728+ 83 Linux
/dev/hda24 11554 12161 4883728+ 83 Linux
/dev/hda25 12162 12769 4883728+ 83 Linux
/dev/hda26 12770 13377 4883728+ 83 Linux
/dev/hda27 13378 13985 4883728+ 83 Linux
/dev/hda28 13986 14593 4883728+ 83 Linux
/dev/hda29 14594 15201 4883728+ 83 Linux
/dev/hda30 15202 15809 4883728+ 83 Linux
/dev/hda31 15810 16417 4883728+ 83 Linux
/dev/hda32 16418 17025 4883728+ 83 Linux
/dev/hda33 17026 17633 4883728+ 83 Linux
/dev/hda34 17634 18241 4883728+ 83 Linux
/dev/hda35 18242 18849 4883728+ 83 Linux
/dev/hda36 18850 19457 4883728+ 83 Linux
/dev/hda37 19458 20065 4883728+ 83 Linux
/dev/hda38 20066 20673 4883728+ 83 Linux
/dev/hda39 20674 21281 4883728+ 83 Linux
/dev/hda40 21282 21889 4883728+ 83 Linux
/dev/hda41 21890 22497 4883728+ 83 Linux
/dev/hda42 22498 23105 4883728+ 83 Linux
/dev/hda43 23106 23713 4883728+ 83 Linux
/dev/hda44 23714 24321 4883728+ 83 Linux
/dev/hda45 24322 24929 4883728+ 83 Linux
/dev/hda46 24930 25537 4883728+ 83 Linux
/dev/hda47 25538 26145 4883728+ 83 Linux
/dev/hda48 26146 26753 4883728+ 83 Linux
/dev/hda49 26754 27361 4883728+ 83 Linux
/dev/hda50 27362 27969 4883728+ 83 Linux
/dev/hda51 27970 28577 4883728+ 83 Linux
/dev/hda52 28578 29185 4883728+ 83 Linux
/dev/hda53 29186 29793 4883728+ 83 Linux
/dev/hda54 29794 30401 4883728+ 83 Linux
/dev/hda55 30402 31009 4883728+ 83 Linux
/dev/hda56 31010 31617 4883728+ 83 Linux
/dev/hda57 31618 32833 9767488+ 83 Linux
/dev/hda58 32834 34049 9767488+ 83 Linux
/dev/hda59 34050 34657 4883728+ 83 Linux
/dev/hda60 34658 35265 4883728+ 83 Linux

Disk /dev/hdc: 300.0 GB, 300090728448 bytes
255 heads, 63 sectors/track, 36483 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 1 122 979933+ 16 Hidden FAT16
/dev/hdc2 123 730 4883760 1c Hidden W95 FAT32 (LBA)
/dev/hdc3 731 3162 19535040 17 Hidden HPFS/NTFS
/dev/hdc4 3163 36483 267650932+ 5 Extended

/dev/hdc5 3163 3770 4883728+ 83 Linux
/dev/hdc6 3771 4378 4883728+ 83 Linux
/dev/hdc7 4379 4986 4883728+ 83 Linux
/dev/hdc8 4987 5594 4883728+ 83 Linux
/dev/hdc9 5595 6202 4883728+ 83 Linux
/dev/hdc10 6203 6810 4883728+ 83 Linux
/dev/hdc11 6811 7418 4883728+ 83 Linux
/dev/hdc12 7419 8026 4883728+ 83 Linux
/dev/hdc13 8027 8634 4883728+ 83 Linux
/dev/hdc14 8635 9242 4883728+ 83 Linux
/dev/hdc15 9243 9850 4883728+ 83 Linux
/dev/hdc16 9851 10458 4883728+ 83 Linux
/dev/hdc17 10459 11066 4883728+ 83 Linux
/dev/hdc18 11067 11674 4883728+ 83 Linux
/dev/hdc19 11675 12282 4883728+ 83 Linux
/dev/hdc20 12283 12890 4883728+ 83 Linux
/dev/hdc21 12891 13498 4883728+ 83 Linux
/dev/hdc22 13499 14106 4883728+ 83 Linux
/dev/hdc23 14107 14714 4883728+ 83 Linux
/dev/hdc24 14715 15322 4883728+ 83 Linux
/dev/hdc25 15323 15930 4883728+ 83 Linux
/dev/hdc26 15931 16538 4883728+ 83 Linux
/dev/hdc27 16539 17146 4883728+ 83 Linux
/dev/hdc28 17147 17754 4883728+ 83 Linux
/dev/hdc29 17755 18362 4883728+ 83 Linux
/dev/hdc30 18363 18970 4883728+ 83 Linux
/dev/hdc31 18971 19578 4883728+ 83 Linux
/dev/hdc32 19579 20186 4883728+ 83 Linux
/dev/hdc33 20187 20794 4883728+ 83 Linux
/dev/hdc34 20795 21402 4883728+ 83 Linux
/dev/hdc35 21403 22010 4883728+ 83 Linux
/dev/hdc36 22011 22618 4883728+ 83 Linux
/dev/hdc37 22619 23226 4883728+ 83 Linux
/dev/hdc38 23227 23834 4883728+ 83 Linux
/dev/hdc39 23835 24442 4883728+ 83 Linux
/dev/hdc40 24443 25050 4883728+ 83 Linux
/dev/hdc41 25051 25658 4883728+ 83 Linux
/dev/hdc42 25659 26266 4883728+ 83 Linux
/dev/hdc43 26267 26874 4883728+ 83 Linux
/dev/hdc44 26875 27482 4883728+ 83 Linux
/dev/hdc45 27483 28090 4883728+ 83 Linux
/dev/hdc46 28091 28698 4883728+ 83 Linux
/dev/hdc47 28699 29306 4883728+ 83 Linux
/dev/hdc48 29307 29914 4883728+ 83 Linux
/dev/hdc49 29915 30522 4883728+ 83 Linux
/dev/hdc50 30523 31130 4883728+ 83 Linux
/dev/hdc51 31131 31738 4883728+ 83 Linux
/dev/hdc52 31739 32346 4883728+ 83 Linux
/dev/hdc53 32347 32954 4883728+ 83 Linux
/dev/hdc54 32955 33562 4883728+ 83 Linux
/dev/hdc55 33563 34170 4883728+ 83 Linux
/dev/hdc56 34171 34778 4883728+ 83 Linux
/dev/hdc57 34779 35386 4883728+ 83 Linux
/dev/hdc58 * 35387 35994 4883728+ 83 Linux
/dev/hdc59 35995 36483 3927861 83 Linux

Disk /dev/sda: 203.9 GB, 203928109056 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 5099 40957686 7 HPFS/NTFS
/dev/sda2 5100 6315 9767520 83 Linux
/dev/sda3 6316 6923 4883760 83 Linux
/dev/sda4 6924 24792 143532742+ 5 Extended
/dev/sda5 6924 7531 4883728+ 83 Linux
/dev/sda6 7532 8139 4883728+ 83 Linux
/dev/sda7 8140 8747 4883728+ 83 Linux
/dev/sda8 8748 9355 4883728+ 83 Linux
/dev/sda9 9356 9963 4883728+ 83 Linux
/dev/sda10 9964 10571 4883728+ 83 Linux
/dev/sda11 10572 11179 4883728+ a9 NetBSD
/dev/sda12 11180 11787 4883728+ 83 Linux
/dev/sda13 * 11788 12395 4883728+ 83 Linux
/dev/sda14 12396 23916 92542401 c W95 FAT32 (LBA)
/dev/sda15 23917 24792 7036438+ 83 Linux

Disk /dev/sdb: 203.9 GB, 203928109056 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1216 9767488+ 7 HPFS/NTFS
/dev/sdb2 1217 1338 979965 1b Hidden W95 FAT32
/dev/sdb3 1339 1460 979965 83 Linux
/dev/sdb4 1461 24792 187414290 f W95 Ext'd (LBA)
/dev/sdb5 1461 2676 9767488+ 83 Linux
/dev/sdb6 2677 3892 9767488+ 83 Linux
/dev/sdb7 3893 6324 19535008+ 83 Linux
/dev/sdb8 6325 8756 19535008+ 83 Linux
/dev/sdb9 8757 11188 19535008+ 83 Linux
/dev/sdb10 11189 13620 19535008+ 83 Linux
/dev/sdb11 13621 16052 19535008+ 83 Linux
/dev/sdb12 16053 18484 19535008+ 83 Linux
/dev/sdb13 18485 20916 19535008+ 83 Linux
/dev/sdb14 20917 23348 19535008+ 83 Linux
/dev/sdb15 23349 24792 11598898+ 83 Linux

我的hda盘有hda61,hda62和hda63分区,但是fdisk程序没有显示出来。

下篇继续
2#



这是引导145个系统的Grub 引导菜单menu.lst

代码:

#Grub menu booting 3 Dos, 5 Windows & 100+ Linux----------------------------
color white/green black/light-gray
title You are now booting from hda3 data-only partition
boot

title DOS 6.22 (FAT16) @ hda1
root (hd0,0)
unhide (hd0,0)
makeactive
chainloader +1

title Win 3.11 @ hda2
root (hd0,1)
hide (hd0,0)
unhide (hd0,1)
makeactive
chainloader +1

#hda3 is the data-only partition hosting Grub to boot all other systems

#hda4 is the extended partition

#hda5 is the common swap partition for all Linux

title Puppy 1.0.6 @ hda6
root (hd0,5)
chainloader +1

title Videolinux 2.0 @ hda7
root (hd0,6)
chainloader +1

title Mandrake 9.2 @ hda8
root (hd0,7)
chainloader +1

title Turbo Linux V7 @ hda9
root (hd0,8)
chainloader +1

title elive 0.3 @ hda10
root (hd0,9)
chainloader +1

title Red Hat 9 @ hda11
root (hd0,10)
chainloader +1

title Lycoris 4 @ hda12
root (hd0,11)
chainloader +1

title Libranet 2.8.1 @ hda13
root (hd0,12)
chainloader +1

title Mandrake 10 @ hda14
root (hd0,13)
chainloader +1

title Debian Woody 3.0 @ hda15
root (hd0,14)
chainloader +1

title Yoper 2.0.0 @ hda16
root (hd0,15)
chainloader +1

title Knoppix 3.6 @ hda17
root (hd0,16)
chainloader +1

title Buffalo 1.5 @ hda18
root (hd0,17)
chainloader +1

title Kanotix 9.2004 @ hda19
root (hd0,18)
chainloader +1

title Kalango 3.2 @ hda20
root (hd0,19)
chainloader +1

title Blag 30001 @ hda21
root (hd0,20)
chainloader +1

title Fedora Core 4 @ hda22
root (hd0,21)
chainloader +1

title Debian Sarge @ hda23
root (hd0,22)
chainloader +1

title Red Flag 4.1 @ hda24
root (hd0,23)
chainloader +1

title Linare Ed 2 @ hda25
root (hd0,24)
chainloader +1

title Tiny Sofa 2.0 @ hda26
root (hd0,25)
chainloader +1

title Slackware 10 @ hda27
root (hd0,26)
chainloader +1

title Xandros 201 @ hda28
root (hd0,27)
chainloader +1

title Vine 3.2 @ hda29
root (hd0,28)
chainloader +1

title Specifix 0.15 @ hda30
root (hd0,29)
chainloader +1

title Ubunto 5.04 @ hda31
root (hd0,30)
chainloader +1

title PCLinuxos 0.91 @ hda32
root (hd0,31)
chainloader +1

title Asian Linux 2.0 @ hda33
root (hd0,32)
chainloader +1

title Ubuntu 6.04 Dapper @ hda34
root (hd0,33)
chainloader +1

title Wolvix 1.0.4 @ hda35
root (hd0,34)
chainloader +1

title Mepis 3.4.2 RC2 @ hda36
root (hd0,35)
chainloader +1

title DreamLinux 1.0 @ hda37
root (hd0,36)
chainloader +1

title Slampp 1.1 @ hda38
root (hd0,37)
chainloader +1

title Slax 5.0.6 @ hda39
root (hd0,38)
chainloader +1

title PCLinuxos 0.92 @ hda40
root (hd0,39)
chainloader +1

title Netsecl 2.0 @ hda41
root (hd0,40)
chainloader +1

title Vector 5.1 @ hda42
root (hd0,41)
chainloader +1

title Suse 10 @ hda43
root (hd0,42)
chainloader +1

title Kororaa 2005 Beta 2 @ hda44
root (hd0,43)
chainloader +1

title smgl 0.95 @ hda45
root (hd0,44)
chainloader +1

title Lunar 1.6 rc3 @ hda46
root (hd0,45)
chainloader +1

title Foresight 0.93 @ hda47
root (hd0,46)
chainloader +1

title SkoleLinux Sarge @ hda48
root (hd0,47)
chainloader +1

title Nepalinux 1.0 @ hda49
root (hd0,48)
chainloader +1

title Klax 3.5 @ hda50
root (hd0,49)
chainloader +1

title SciLinux 2005 @ hda51
root (hd0,50)
chainloader +1

title Progeny 2.0 @ hda52
root (hd0,51)
chainloader +1

title grml 0.6 @ hda53
root (hd0,52)
chainloader +1

title Karamad 1.4.2 @ hda54
root (hd0,53)
chainloader +1

title Whax 3.0 @ hda55
root (hd0,54)
chainloader +1

title Troppix 1.2 @ hda56
root (hd0,55)
chainloader +1

title TopologLinux 6.0 @ hda57
root (hd0,56)
chainloader +1

title Haansoft 2006 WS @ hda58
root (hd0,57)
chainloader +1

title Fedora Core 3 @ hda59
root (hd0,58)
chainloader +1

title ScientificLinux 4.0 @ hda60
root (hd0,59)
chainloader +1

title Slynux 2.0 @ hda61
root (hd0,60)
chainloader +1

title Slax 5.1.8 @ hda62
root (hd0,61)
chainloader +1

title Elive 2 @ hda63
root (hd0,62)
chainloader +1

#Starting point of another hard disk----------------------------

title DOS 7.1 @ hdc1
root (hd1,0)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
unhide (hd1,0)
makeactive
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1

title Win98 @ hdc2
root (hd1,1)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
hide (hd1,0)
unhide (hd1,1)
makeactive
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1

title Vista @ hdc3
root (hd1,2)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
hide (hd1,0)
hide (hd1,1)
unhide (hd1,2)
makeactive
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1

#hdc4 is the extended partition

title B2D Pure KDE 2005 @ hdc5
root (hd1,4)
chainloader +1

title CollegeLInux @ hdc6
root (hd1,5)
chainloader +1

title Berry 0.76 @ hdc7
root (hd1,6)
chainloader +1

title Morphix 0.4 @ hdc8
root (hd1,7)
chainloader +1

title Feather 0.74 @ hdc9
root (hd1,8)
chainloader +1

title Buffalo 1.7.3.9 @ hdc10
root (hd1,9)
chainloader +1

title Cento 4.1 @ hdc11
root (hd1,10)
chainloader +1

title Vector 4.3 @ hdc12
root (hd1,11)
chainloader +1

title Tao Linux 4 @ hdc13
root (hd1,12)
chainloader +1

title Fedora Core 2 @ hdc14
root (hd1,13)
chainloader +1

title Agnula Demudi 1.2 @ hdc15
root (hd1,14)
chainloader +1

title Damn Small Linux 2.1 @ hdc16
root (hd1,15)
chainloader +1

title Monoppix 1.1.8 @ hdc17
root (hd1,16)
chainloader +1

title Sympony A4 beta @ hdc18
root (hd1,17)
chainloader +1

title Pocket Linux 1.2 @ hdc19
root (hd1,18)
chainloader +1

title UltimaLInux 4.0 @ hdc20
root (hd1,19)
chainloader +1

title Vlos 1.2 @ hdc21
root (hd1,20)
chainloader +1

title Tinny Sofa Ceara @ hdc22
root (hd1,21)
chainloader +1

title 64 Studio 0.6 @ hdc23
root (hd1,22)
chainloader +1

title KateOS 2.2 @ hdc24
root (hd1,23)
chainloader +1

title Rubix 1.0 @ hdc25
root (hd1,24)
chainloader +1

title Sam 2006-1 @ hdc26
root (hd1,25)
chainloader +1

title Parsix 0.85 @ hdc27
root (hd1,26)
chainloader +1

title Foxdesktop 1.0 @ hdc28
root (hd1,27)
chainloader +1

title Kanotix 64 2005-4 @ hdc29
root (hd1,28)
chainloader +1

title Pardus 1.0 @ hdc30
root (hd1,29)
chainloader +1

title rPath 0.99.2 @ hdc31
root (hd1,30)
chainloader +1

title Stx 1.0 rc2 @ hdc32
root (hd1,31)
chainloader +1

title Stux 0.9.2 @ hdc33
root (hd1,32)
chainloader +1

title StartCom 4.0.4 Raam @ hdc34
root (hd1,33)
chainloader +1

title Slackware 10.2 @ hdc35
root (hd1,34)
chainloader +1

title Foresight 0.9 @ hdc36
root (hd1,35)
chainloader +1

title Xandros 3.0 @ hdc37
root (hd1,36)
chainloader +1

title Ubuntu 5.10 @ hdc38
root (hd1,37)
chainloader +1

title Kubuntu Dapper @ hdc39
root (hd1,38)
chainloader +1

title Gentoo 2006.1 @ hdc40
root (hd1,39)
chainloader +1

title LinuxTLE 8.0 @ hdc41
root (hd1,40)
chainloader +1

title Underground 2.2 @ hdc42
root (hd1,41)
chainloader +1

title DreamLinux 2.1 @ hdc43
root (hd1,42)
chainloader +1

title Linux Mint 2.1 @ hdc44
root (hd1,43)
chainloader +1

title Pioneer 1125 @ hdc45
root (hd1,44)
chainloader +1

title Ubuntu 7.04 @ hdc46
root (hd1,45)
chainloader +1

title Bayanihan 4 @ hdc47
root (hd1,46)
chainloader +1

title Mandriva 2007 @ hdc48
root (hd1,47)
chainloader +1

title Freespire 1.1.73 @ hdc49
root (hd1,48)
chainloader +1

title Caixa Majica 11 @ hdc50
root (hd1,49)
chainloader +1

title Ehad 2006 classic @ hdc51
root (hd1,50)
chainloader +1

title Vlos 1.3 @ hdc52
root (hd1,51)
chainloader +1

title Backtrack 2006-2 @ hdc53
root (hd1,52)
chainloader +1

title Ubuntu 6.06 @ hdc54
root (hd1,53)
chainloader +1

title Blag 30002 @ hdc55
root (hd1,54)
chainloader +1

title Fedora Core 5 @ hdc56
root (hd1,55)
chainloader +1

title Suse 9.1 Professional @ hdc57
root (hd1,56)
chainloader +1

title Vine 4.0 @ hdc58
root (hd1,57)
chainloader +1

title Wolvix 1.0.5 @ hdc59
root (hd1,58)
chainloader +1

#Starting point of another hard disk----------------------------

title XP Pro @ sda1
root (hd2,0)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
hide (hd1,0)
hide (hd1,1)
hide (hd1,2)
unhide (hd2,0)
makeactive
map (hd2) (hd0)
map (hd0) (hd2)
chainloader +1

title Xenoppix 3.03 @ sda2
root (hd2,1)
chainloader +1

title Musix 0.39 @ sda3
root (hd2,2)
chainloader +1

#sda4 is the extended partition

title GeoLivre 5 @ sda5
root (hd2,4)
chainloader +1

title Ututu x2 2005.1 @ sda6
root (hd2,5)
chainloader +1

title Helix 1.7 @ sda7
root (hd2,6)
chainloader +1

title MagicLinux 2 rc2 @ sda8
root (hd2,7)
chainloader +1

title Zenwalk 1.2 @ sda9
root (hd2,8)
chainloader +1

title MedianLinux 4.0 @ sda10
root (hd2,9)
chainloader +1

title NetBSD i386 3.0 @ sda11
root (hd2,10)
chainloader +1

title Arabian 0.6 rc1 @ sda12
root (hd2,11)
chainloader +1

title Mepis 3.3.2 @ sda13
root (hd2,12)
chainloader +1

#sda14 is Fat32 partition holding personal data

title Slamd64 11 @ sda15
root (hd2,14)
chainloader +1

#Starting point of another hard disk----------------------------

title Win 2k @ sdb1
root (hd3,0)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
hide (hd1,0)
hide (hd1,1)
hide (hd1,2)
hide (hd2,0)
unhide (hd3,0)
hide (hd3,1)
makeactive
map (hd3) (hd0)
map (hd0) (hd3)
chainloader +1

title FreeDos @ sdb2
root (hd3,1)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
hide (hd1,0)
hide (hd1,1)
hide (hd1,2)
hide (hd2,0)
hide (hd3,0)
unhide (hd3,1)
makeactive
map (hd3) (hd0)
map (hd0) (hd3)
chainloader +1

title System Rescue CD 2.1.6 @ sdb3
root (hd3,2)
chainloader +1

#sdb4 is the extended partition

title Xfld 2.0 @ sdb5
root (hd3,4)
chainloader +1

title Kanotix 2006-1 @ sdb6
root (hd3,5)
chainloader +1

title Paipix 5.00 2006-3 @ sdb7
root (hd3,6)
chainloader +1

title Frugalware 0.4 @ sdb8
root (hd3,7)
chainloader +1

title Sabayon x86_64 3.0 @ sdb9
root (hd3,8)
chainloader +1

title Quantian 0.7.9.1 @ sdb10
root (hd3,9)
chainloader +1

title Suse 10.1 x86 64 @ sdb11
root (hd3,10)
chainloader +1

title Slackware 11 @ sdb12
root (hd3,11)
chainloader +1

title Knoppix 4.0.2 @ sdb13
root (hd3,12)
chainloader +1

title Mandriva 2006 0.4 @ sdb14
root (hd3,13)
chainloader +1

title Fedora Core 6 @ sdb15
root (hd3,14)
chainloader +1

我知道这一页很枯燥,除非你对细节很感兴趣。那么看看下面的统计数据

发行版国家

2 阿根廷
1 亚洲
4 澳大利亚
1 奥地利
1 比利时
4 巴西
1 保加利亚
5 加拿大
3 中国
2 捷克
2 欧洲
7 法国
14 德国
3 全球
1 匈牙利
1 印度
2 伊朗
1 爱尔兰
5 马恩岛
3 以色利
5 意大利
5 日本
1 尼泊尔
2 荷兰
1 新西兰
4 挪威
1 菲律宾
2 波兰
2 葡萄牙
2 波多黎各
1 韩国
1 瑞典
2 瑞士
1 叙利亚
1 台湾
1 泰国
1 土耳其
5 英国
44 美国

145 总计

39个国家在支持这些操作系统。

3个Dos     & nbsp;   -Dos 6.22, Dos 7.1 和 Freedos。

5个Windows     -Win 3.11, Win98, Win2k, XP home 和 Vista。

114个不同的Linux,其中17个有多于两个版本,3个有3个不同版本,2个有5个版本。比如,我安装了2,3,4,5和6版本的 Fedora core。

除了下载的测试版本Vista,我的其它微软系统都是掏钱了的。所有的Linux都是网上不花钱下载下来的。

Linux可以从很多网站免费下载ISO烧成可安装的CD。一旦CD启动,用户可以很快的在10到12分钟之内根据指导安装系统。

很多Linux发行版本提供 Live CD,你可以通过它拥有一个操作系统而不必把它安装到硬盘上。

下篇继续
3#


技术细节

硬盘注意事项

大多数微软系统是设计为安装在主分区,而一个硬盘最多可以有4个主分区。为了得到更多的分区用户“必须”要放弃一个主分区,而把它作为一个扩展分区。在Linux中,一个 Pata (或者 IDE)硬盘最多可以有63个分区,对于Sata 或 SCSI的限制是15个。

分区数加上硬盘自身总共组成64和16个设备。

扩展分区也消耗一个设备名称,但是不能用于存储,因为它只是定义逻辑分区开始和结束点的边界。

Linux在主分区和逻辑分区都可以安装和引导,基于这一点把主分区分给微软系统是有利的。

在任何一个硬盘上,Linux通常把逻辑分区的每一个分区命名为第五分区。因此,理论上在一个 Pata硬盘上,就是hda,主分区最大的可以使用hda1, hda2 和 hda3 三个名称,hda4作为扩展分区支持最多59个逻辑分区(从hda5到hda63)。

在实际中,一些Linux阻止显示第60个以后的分区,还有一些发行版,像红帽家族,不显示超过15以后的分区,甚至它们自己被安装在这些限制之后也是一样。

你最多可以从2 Pata 和 2 Sata得到2*(63+15)= 156个分区。因此如果想要我可以再搞4个多余的分区。

分区方案

我让微软系统占据所有的主分区,Linux基本上全放在逻辑分区。一个swap分区,当然也在逻辑分区,为所有的Linux服务。对 BSD 和 Solaris 系统我使用分离的硬盘。

作为一个原则,我通常把一个操作系统装到一个单独的分区。这使得维护,引导和理解都更容易。这可能不是最优的选择,但是它对我安装的每一个Linux都有用。

这是我分配给每个系统的分区大小

(a) Dos 1或2Gb (主分区, 格式 fat16 或 fat32)
(b) XP 和Vista  25Gb和 20Gb (主分区, 格式 NTFS)
(c) 我使用的Win2k 15Gb (主分区, 格式 NTFS)
(d) 我使用的Win98 5Gb (主分区,格式 fat32)
(e) Linux 5Gb (大多数) 和 10Gb ( 少数大的发行版本) (逻辑分区, 不是 Ext3 就是 Reiserfs )
(f ) 一个swap 1 Gb 所有 Linux 共用
(g) 巨大的个人数据 95Gb  fat32

实际大小见fdisk -l表一中的输出。

我使用Linux专有的分区工具“cfdisk”,“fdisk”作为替补队员。它们都是一个Linux Live CD所带的标准工具。我分别指定83,82,6,C,7(为一个原产的Linux),swap,fat16,fat32和NTFS分区类型号码。使用 cfdisk分割硬盘分区的默认类型是83,安装的每个Linux都认出了它。

我从不自己格式化分区,因为每一个安装程序都不会相信我,它们喜欢自己格式化自己的家。

一些日子过后我开始使用一个叫“gparted”的自由分区工具,它已经被分支进了“Parted Magic”。它提供免费下载的ISO文件,可以烧到CD上使用。

我相信以正确的格式准备好分区是一个好的策略,以便于让安装程序认出来。如果你让安装程序的生活好过一点。作为回报它会很少给你找麻烦。

所有引导方案成功的老妈 -纯数据分区的Grub

这实在只是我的一个建议,并且它对一个普通的Linux用户完全是不必要的,普通用户把他/她的手放在他/她第一次偶遇的Grub上,并能让Grub做到我下面说的所有事情。然而如果按我的建议做它会带来好处

(1) Grub 没有放在任何一个操作系统,所以你可以把它当做一个微型操作系统来使用 。
(2) 每个操作系统都能通过使用只有分区差异的基本相同设置的命令间接启动(熟知的链式引导chain loading)。它对所有的操作系统都起作用,不管它是 Dos, Windows, Linux, BSD 或 Solaris.
(2) 每个微软系统和Linux系统都能控制Grub,只要它被安装到了分区上,比方说FAT16或FAT32格式,在它之上每个系统都能读,写和改变它自己的引导菜单。
(3) Grub 唯一的被安排去启动、格式化和安装操作系统的引导程序,甚至在分区创建之前也能引导。这是引导中最爽的事了。
(4) Grub 所在的纯数据区没有进驻操作系统,但是能被任何一个Linux引导。安装在主分区并且引导标志设置为活跃状态的 Dos 或 Windows MBR 也能引导它。

这就很容易理解我的“外”Grub安装的建议不会被任何一个操作系统喜欢了。Grub不能读取NTFS文件系统,所以它应该被装在一个FAT16或 FAT32分区。我把它放在我第一个 Pata硬盘的第三个分区。在Linux中被认为是hda3,我的第一,第二,第三和第四个硬盘分别是 hda,hdc,sda 和 sdb。

把Grub安装到纯数据区涉及以下步骤

(A) 格式化数据分区为FAT16格式。最好的方法是启动一个Linux Live CD,打开一个终端,下达一个格式化分区为FAT16的命令。
命令:

mkdosfs –F16 /dev/hda3

作为选择,分区也可以用一个Dos软盘格式化,从Bootdisk.com下载,用Dos命令提示符命令
命令:

format c:/

,假定hda3之前的分区都是非Dos或隐藏的。

FAT16的使用是经过考虑的,因为在FAT16上Dos不能寻址超过2Gb,不能认出Sata,但是我们仍然能用在那里的Grub去引导电脑上的145个系统。

(B) 接下来的任务是拿到Grub安装需要的三个文件。它们叫stage1, stage1.5 和stage2,在同一个目录,在任何一张支持 Grub的Linux Live CD里都找得到。所以只要启动一张 Live CD,用命令叫Linux报告它们的位置
命令:

find / -name stage1

你会发现这些文件基本上在这些位置

Red Hat, Fedora C2 to C6
/usr/share/grub/x86_64-redhat/stage1
/usr/share/grub/i386-redhat/stage1

Mandriva
/lib/grub/i386-mandriva/stage1

Mandrake
/usr/local/lib/grub/i386-pc/stage1
/usr/lib/grub/i386-pc/stage1

Suse
/usr/lib/grub/i386-suse/stage1

Gentoo, Knoppix, Mepis, Xubuntu, Ubuntu, Kubuntu, Debian
/lib/grub/i386-pc/stage1

Frugalware, Kanotix
/usr/lib/grub/i386-pc/stage1

下一步是在启动的 Live CD Linux 里面新建一个临时目录,挂载纯数据hda3分区,在里面新建一个/boot/grub 目录,把所有 Grub 的stage1, stage1.5 和 stage2文件拷进去,调用一个Grub 命令行,设置Grub进入MBR,退出。用 Ubuntu CD 举例命令会是
命令:

mkdir /mnt/hda3
mount /dev/hda3 /mnt/hda3
mkdir /mnt/hda3/boot
mkdir /mnt/hda3/boot/grub
cp /lib/grub/i386-pc/* /mnt/hda3/boot/grub
grub
root (hd0,2)
setup (hd0)
quit

重启过后会引导到hda3上,除了一个 Grub 提示命令之外什么也没有。这表示 Grub 现在控制了MBR,连接到hda3分区了,并且如果在/boot/grub 或/boot目录下有一个叫“menu.lst”的配置文件,那么它会控制 Grub。如果 Grub 找不到它,默认会显示一个Grub 提示命令行。

注意有些版本的 Grub ,特别是红帽家族,会被改进读取”Grub.conf”而不是“menu.lst”。

虽然 Grub 用户手册没有说明但是依我的经验,没有任何一个操作系统不能被 Grub 命令引导。乍一看没有什么,但是很少有什么东西能那么简单又那么强大。

(C)现在该是写一个引导145个系统的菜单的时候了。它只是一个必须命名为 menu.lst 的文本文件,放在/boot/grub 子目录下。Grub 用下面的三行引导每一个系统:-

一个“title”声明,在屏幕上显示系统的名称。任何在单词“title”后面的文字会被显示,并且会导致系统的引导除了提醒你这是一个什么系统之外。

一个“root”声明,指定操作系统的根文件夹。也就是说目标系统所在的分区。Grub 从0开始计算每件事,所以要引导一个在第2块硬盘上第9分区的系统命令是“root (hd1,8)”。同样 (hd0,0) 指第1块硬盘的第1个分区。

一个“chainloader”声明,它总以 “+1” 结束。

所以你看到了这也没有什么。甚至像我一样的笨蛋也很应付得来。

为了偷懒我写了一个小程序产生引导菜单,因为它只是在做4个循环,在我这里是每个硬盘来一个循环。

因此我 menu.lst 的开头会像这样
代码:

title Empty @ hda1
chainloader (hd0,0)+1

title Empty @ hda2
chainloader (hd0,1)+1

title Empty @ hda3
chainloader (hd0,2)+1

title Empty @ hda4
chainloader (hd0,3)+1

and so on

无论何时只要我想更新,就编辑菜单,用操作系统的名字代替“Empty”。生活如此简单美丽,如果没有微软系统那额外的工作。这就是我随后的工作。

简单化的安装方案

Linux很容易安装,所以我先写它。

linux 很少需要整理文件系统,因为它使用了一个叫swap的交换分区。因此要为第一个Linux系统准备一个swap分区。从那以后,所有其他的Linux会不说一声谢谢的冲进去使用它。除了使用Linux cfdisk程序创建它之外,你不需要做些其他的什么了,大小约是物理内存的两倍,选择分区类型82。每个Linux 安装程序会知道怎么使用它。它们一些坚持要校验它,其它的问你允许它们格式化它,余下的大多数甚至都不告诉你它们对它做了什么。我在hda5分区创建了一个swap分区,只要安装程序自讨苦吃我就回答“hda5”。

在每一个Linux安装过程中,我们可以“指导”安装程序把Linux放到任何我们想要放的分区。这是通过提名一个分区作为Linux的根分区或 “/” 挂载点。如果没有多于一个分区分给安装程序,它会把Linux目录/boot, /home, /usr…..作为 “/” 的子目录紧接的放进去,所以你只要担心积累的内容是否会耗尽你所有的分区容量。

引导装载器的选择,通常不是 Lilo 就是 Grub,对提议方案来说是无关紧要的。

当涉及到引导装载器的位置时这又是另一回事了。每个Linux 安装程序会让引导装载器安装在不是(a)MBR,就是(b)正在安装的Linux 的根分区。我的提议方案“只有”在后者被选择的情况下才会有用。有些不听话的 Linux 会省略给你一个选择,并偷走MBR的位置。也在可能你正在喝茶,然后按下了一个错误的键而失去MBR。在这种情况下你可以通过启动那张 Live CD 重新要回原始的MBR,开一个终端,打出这些命令去恢复 Grub
代码:

root (hd0,2)
Setup (hd0)

它会逐字的要求 Grub 从指定的根目录 “获得”需要的文件,安装到整个 (hd0) 盘上,没错那就是MBR。

对Linux 安装/引导在硬盘大数字分区或超过137 Gb 之外能力的警告之词

我安装的系统都能被一个 menu.lst 引导。有些老的发行版对认出16以上的分区有困难,更不要期望更大数字分区的设备名称,有的不能访问超过137Gb的硬盘空间。这些发行版必须安装在小数字分区和硬盘的前137Gb之内。如果你发现某个发行版拒绝引导或安装请看一下我的 menu.lst,检查所知的能工作的分区位置。

Dos和Windows系统

安装微软系统有很多方法。为了简单,容易控制和维护,我推荐作为一个单机独立系统在“C”盘安装每个系统。这就是说在微软系统中不通过NTLDR双重引导。我有一个移动机架系统,所以我可以拔出所有其他的系统而只留下要安装微软系统的那一个硬盘。因此在我的情况下,每个微软系统都是作为第一个可引导的硬盘安装的。一旦安装完成我不改变它的分区位置而是把硬盘放到其他的位置。 Grub 在工作中可以很灵活的重绘硬盘次序,把第一个可引导硬盘的状态重新给回微软系统。

把微软系统安装在“C”盘就是说除了要安装的分区之外没有分区会被安装程序认出来,因而它可以正当的要求得每一个分区状态。如果有一个分区微软系统能认出来,就是说一个 Dos 分区,那么我们可以通过隐藏它来对付,使用 Live CD。如果要隐藏第一个硬盘的第一个分区,不隐藏第二个分区并使它对微软系统可引导,Grub命令是

命令:

hide (hd0,0)
Unhide (hd0,1)
Makeactive

在电脑上隐藏一个分区就不是物理的把分区隐藏起来。只是改变了它的分区类型号。通常是添加一个数字“1”。这样,如果一个FAT32和NTFS分区的类型号分别为 c 和 7,当改变为 1c 和17时,在微软系统中就会被得不可见。不隐藏它就是把数字“1”去掉。这是一个电脑中最古老的诀窍,还是在 Dos 是事实上的操作系统时被发明的,它允许用户引导多个操作系统。

安装微软系统可能需要它自己的MBR。引起我注意的是微软系统共享一个公共的MBR。这个MBR的功能是搜索4个主分区中的每一个,并启动引导标志打开的系统。

作为例子,这里有我在 hdc3 安装 Windows Vista 的简要步骤。

把硬盘 hda,sda 和 sdb 移走,把 hdc 插入先前被 hda 占据的机架位置。现在原来的 hdc3 对 Grub 来说就是  (hd0,2) 了。

启动 Dos 软盘,通过命令在硬盘恢复微软 MBR

命令:

fdisk /mbr

启动  Grub 软盘,隐藏开头两个分区,然后用 geometry 检查硬盘

命令:

hide (hd0,0)
Hide (hd0,1)
Geometry (hd0)

 geometry 命令是在安装之前检查所有的东西是否状况良好。Hda3  应该已经为NTFS文件系统创建好足够的类型为7的空间。

安装 Windows Vista 并选择第三分区作为它的家。

安装后重启确认 Vista 是否正常工作。

关机,插上打算供给 Vista 永久的家的硬盘,也就是说有一个叫 hdc 的奴隶硬盘已经在第三主分区位置有一个和 hda3 一样大的分区,插放 Live CD,启动系统,在根用户终端通过命令把 Vista 系统克隆出去

命令:

dd if=/dev/hda3 of=/dev/hdc3 bs=32768

然后我又关机,恢复所有的硬盘,又一次启动  Live CD,用它修正 hda3 中的 /boot/grub/menu.lst,通过下面的入口引导 hdc3 分区
命令:

title Vista @ hdc3
root (hd1,2)
hide (hd0,0)
hide (hd0,1)
hide (hd0,2)
hide (hd1,0)
hide (hd1,1)
unhide (hd1,2)
makeactive
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1

两个map声明指示 Grub交换 (hd0) 和 (hd1)的位置,以便当 Vista 启动时它会发现自己仍然按照原来的安装一样处于第一可引导硬盘的位置。5个 hide 声明是必需的,隐藏5个 Dos 和 Windows分区,防止 Vista 看到扰乱它的“C”盘状态。

我对其他微软系统使用相同的原理,设法在同一台电脑里搞上了3个版本的 Dos 和5 个版本的 Windows。更多微软系统能被容纳但是我所有能搞到的就这些了。

结尾注意事项

我的初衷是学习 Linux,理解它如何工作并会引导它。当看到在 Linux 的世界是这是多么容易和有逻辑,我感觉巨大的惊奇。在使用了这么多年微软系统以后,看起来所有我不能理解的电脑如何工作的问题在 Linux 里面突然变得可以理解,因为 Linux 的系统内部工作是一个公开发表的知识。

人们可以对 Linux 说任何他喜欢的话,但是我2.5年的使用 Linux 教会我使用一个最古老的分区(FAT16)去安置一个陈旧的引导装载器(这里描述的 Grub就是当我开始学习 Linux时,GNU/Grub维护者已经公告停止转移他们的努力到新的 Grub 2去的支持的那个 Grub)去引导我能访问的145操作系统。而方案可笑的简单。

我很感激那些无私的维护和开发开源软件的 GNU/Linux 志愿者。我知道他们中有一些人冒着被抓钱公司起诉的风险工作,因为他们的努力减少了我们对商业软件的依赖。

2.5年以来我见证了 Linux 功能和易用性的巨大飞跃。我也从那么多国家贡献于把这些操作系统带给大众的努力中得到灵感。它们中的很多发行版在技术上很突出。
4#


引导方案的说明注解

(1) 在一般情况下一个Linux用户能用任何一个发行版中的得到的第一个Grub和使用它的 menu.lst  引导剩下的144个系统。

(2) 标准的 Grub 执行程序使用 menu.lst 作为菜单文件,它不在/boot 就在/boot/grub 目录下。很少部分,特别是那些属于红帽家族的,使用一个指向 Grub.conf的符号链接。我只遇到一个或两个只使用 Grub.conf 而没有 menu.lst 的发行版。

(3) 那个简单的 Grub 引导方案使任何一个操作系统立即变得可引导当它的安装完成时,只要根分区被灌进了引导文件。一些早期发行版本比如 Suse 和 Debian运行一个两段式安装程序,需要重启来完成安装。这种安装方式不会影响我提出的引导方案。只要在第一阶段结束后引导要求的分区,安装程序会完成剩余的工作。

(4) 建议的引导方案是了解一般引导和特别是Grub 是如何工作的很好的范例。

(5) 不可能用 NTLDR,类NT Windows 比如 Win2k 和 XP 使用的引导程序,去引导我表单里那么多的 Dos 和 Windows,更不用说 Windows 启动时会影响的那么多 Linux,ini配置文件最多允许10个入口的静态界面。我从没试过所以也不能评论我认为它和NTLDR有区别的 Vista 新引导程序,。

(6) 从技术上说也没有可能用 Lilo 作这么一个引导方案,因为(a)Lilo会检查每一个入口,并且拒绝执行如果发现那不是一个有效的可引导分区,所以不要希望Lilo 接受一个为引导做准备的空分区。(b)Lilo也使用一个最大数目为27个引导镜像的静态引导界面。因此如果谁想要引导大量的系统,Grub 是唯一的选择。

(7) Grub 根据版本发布有很多不同的特性。明智的选择是在引导方案中使用最新版本0.97。Grub 可能会失败当你叫一个低版本的小弟去“链启动”它的大哥。

(8) 在我提议的简单引导方案使用时,Grub是最精力充沛的引导程序。这是因为引导过程完全不依赖于任何系统包括Linux 内核。一旦Grub 被Linux 创建进程,就是当在Bash 命令行调用 Grub shell时,它会承受任何内核可能带来的不足。比如在 Linux 启动之前Grub 会看到从BIOS那时得来的所有分区设备。可是当一个老的Linux 启动后它的内核可能不会预见大数字的分区,可能不会装载所有设备导致Grub无权使用那些大数字的BISO设备。因此用户相要在一个大数字的分区比如 hda60 恢复 Grub,这个Linux 命令可能会失败
命令:

grub-install /dev/hda60

然而从软盘启动 Grub,同样的任务总是会成功
命令:

root (hd0,59)
setup (hd0,59)

(9) 提议的引导方案可能从一个软盘执行。

(10) 像Dos一样,Grub现在还在承受不能识别USB设备的痛苦,并且我还没发现任何能从USB设备启动的Grub。记住当Grub 启动时它还无权使用一个内核,因此它不能察觉可移动设备除非充分的改进它的代码。Grub的计算机代码显然只有随着引导程序标准的完善而成长。< /p>

(10) 如果由于任何原因引导程序不完善或不正确的被安装到了根分区,参考这个链接 去恢复。一个安装程序可能比一个操作系统本身有更多的bug。

安装方案的说明注解

(a) 在同一个硬盘安装大数量的发行版的一个问题就是它会吓到一些Linux,然后把安装程序吓得粉身碎骨。这对一些看起来对设备名称的限制的老一点的发行版来说是真的。例如很多发行版分区名称在 hda20 或 hda24 或 hda32 就停止了。
(b) 在极端情况下,在不多于15个分区的单独硬盘(因为 Linux 最多支持15个分区的SCSI/Sata硬盘)上安装Linux ,然后通过使用 Linux 的“dd” 或 “tar” 命令,把它移动到另一个硬盘的最后位置,这是可能的。然而被提到的分区应该在引导程序配置文件中更新,menu.lst 或 lilo.conf 中的一个,和系统文件 /etc/fstab。顺着这条思路让Linux 扩展它的 /dev 列表,还有就是遵循 Exodus2001 和 bwkaz的建议。
 5#

del.icio.us 标记: linux
分享到:
评论

相关推荐

    Orange'S:一个操作系统的实现.pdf part2

    《orange s:一个操作系统的实现》从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是...

    LINUX操作系统(电子教案,参考答案)

    Linux是一个多任务、多用户的操作系统,它以其良好的特性和资源的免费性而得到了蓬勃的发展。  本书通过大量的图示和实例,深入浅出的介绍了Linux的基本原理和应用。主要包括Linux的基本概念和操作,Linux的树型...

    操作系统设计与实现 第三版 上下册 含光盘

    本书是关于操作系统的权威教材。详细讨论了一个特殊的操作系统MINIX3(一个与UNIX兼容的操作系统),并提供了该系统的源代码。在本资源中包含了第三版的上、下册和下册的光盘。

    linux操作系统命令大全

    多用户是指多个用户可以在同一时间使用电脑系统;多工是指Linux可以同时执行多个任务,它可以在还未执行完一个任务时又执行另一项任务。  操作系统管理多个用户的请求和多个任务。大多数系统都只有一个CPU和一个...

    安装oracle10g、11g至win7 检查操作系统要求错误的一种解决方案

    本文档为本人在 安装oracle10g、11g至win7的出现“检查操作系统要求错误”一种解决方案,仅供大家参考

    操作系统学习与考试系统(XOSCATS)

    XOSCATS(X Operating System Computer Aided Teaching System, XOSCATS)是一款通用操作系统计算机辅助教学系统,简称CATS。CATS是基于Windows环境下操作系统(Operating System,OS)课程学习和考试的辅助工具。①学生...

    DS3617(6.17引导与系统安装包).zip

    DS3617(6.17引导与系统安装包).zipDS3617(6.17引导与系统安装包).zipDS3617(6.17引导与系统安装包).zipDS3617(6.17引导与系统安装包).zip

    计算机操作系统实验代码(6个实验)

    计算机操作系统实验代码,包括先来先服务FCFS和短作业优先SJF进程调度算法、时间片轮转RR进程调度算法、预防进程死锁的银行家算法、动态分区分配算法、虚拟内存页面置换算法、磁盘调度算法

    操作系统设计与实现(minixpdf)

    在正式进入Minix的安装介绍之前,先谈一谈Minix与UNIX和Linux的关系以及他的设计思想。Minix是一个类UNIX操作系统,其2.0版符合POSIX 1003.1和ISO9945-1工业标准。过去,UNIX操作系统的起源与发展与其源代码的...

    计算机操作系统(第三版)

    《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的...

    只需一个U盘 在电脑上也能体验安卓系统

    大家都知道安卓系统的强大功能,但是有些人手头并不宽裕,买一部安卓手机或者买一台平板电脑并不现实。现在,只需一个小小的U盘,就能让你体验安卓的强大功能!

    变色龙引导工具

    首先硬盘上的系统不一定都在c盘,而且有的是双硬盘,楼主这东西默认放在c盘,有问题,这个我就遇到了,另外用时空淘气包的套件做的这个东西,本身在用了模拟破解的vista上不能用,变色引导我也做了一个,可兼容vista...

    Orange'S 一个操作系统的实现的源代码

    Orange'S 一个操作系统的实现《自己动手写操作系统》第2版的源代码

    一台android设备通过wifi控制另一台设备视频播放

    分别安装在两台android设备上。通过wifi连接到同一个局域网,可以用控制点控制服务提供器的视频播放。加了把服务提供器MainActivity.java的init(Environment.getExternalStorageDirectory() + "/testvideo.mp4");...

    电脑随机摇号软件(普及版)

    2、在公司局域网中一台电脑安装,其它内网中任一台电脑都可使用,方便多终端使用。 3、为避免客户资料泄露,操作需密码登陆,保护客户资料不外泄。 4、可以多项目,多活动管理,比如房产公司,用来摇号...

    复制克隆你的linux系统

    本文讲述如何复制已经安装好的linux系统从一台机器到另外一台机器,即使是不一样的硬件,只要centos可以安装的机器,同样可以完成复制。

    JAVA上百实例源码以及开源项目

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    一个简单的php后台管理系统

    向大家介绍一个非常简单的php后台管理系统

    ERP沙盘模拟人机对抗系统再创业版V2.0

    软件可以安装在手工ERP沙盘实验室学生桌上的电脑和老师桌电脑里,一个小组通过分角色,指定一个人员操作一台电脑,完成沙盘对抗;另外软件也可以安装在一个有数十台电脑的机房里,人手一台电脑,每个学生像玩单机版...

    64位系统安装32位CAD2008

    1.如果安装文件是iso格式,用虚拟光驱打开,将其中所有安装文件复制到其他分区中自己建立的一个文件夹中(如e:\cad2008\) 2.下载安装补丁:ACADpatch 3.将下载的补丁解压,覆盖到cad2008文件夹中 4.若AutoCAD为...

Global site tag (gtag.js) - Google Analytics