如何在一臺電腦上安裝和引導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) 如果由於任何原因引導程序不完善或不正確的被安裝到了根分區,參考這個鏈接 t.gif 去恢復。一個安裝程序可能比一個操作系統本身有更多的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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章