Solaris + WinXP Pro双启动的点滴心得

发表于:2007-05-26来源:作者:点击数: 标签:
机器:IBMThinkPadT30,40GHD512MRam 分区:1)primary8G,xp2)20G,data3)Solaris 用PQ给Solaris分区,或等到安装过程中用Solaris的fdiskf分区。 [b:50e9145c13]重要的一点:[/b:50e9145c13]在Solaris分区前、后(如果后面还有 windows 的分区)留上一点间隔(由

机器:IBM ThinkPad T30, 40GHD 512MRam
分区:1)primary 8G,xp 2)20G,data 3)Solaris
用PQ给Solaris分区,或等到安装过程中用Solaris的fdiskf分区。
[b:50e9145c13]重要的一点:[/b:50e9145c13]在Solaris分区前、后(如果后面还有windows的分区)留上一点间隔(由于solaris的fdisk分区后容易出问题)。
顺序:先xp,后solaris
安装完后,由solaris的bootloader启动。当然你也可以让xp的分区active,由NT loader启动。

下面是一个参考文章:
************************************************************************************************* Quick summary of steps:

1. Install Windows.

2. Install Linux in an extended partition.

3. Install Solaris.

4. Fix LILO.

I'll go through the formula below and explain at the end why some of the steps are done this way. The crux of the problem is that Solaris really slices up a hard drive during installation, leaving it in a state that Linux can't handle. Using this formula, I've set up triple-boot machines in less than six hours.

Disk Partitioning 101

There are some basic things to know about how a hard drive can be partitioned, which means dividing it into different areas. Always back up your data before doing any partitioning. Each OS has a tool to partition a hard drive. Windows, Linux, and Solaris all have a tool called fdisk, although they have different capabilities and interfaces. Use the fdisk tool from the particular OS you're installing. Windows can have a primary partition and an extended partition. The extended partition can be sliced up further into smaller logical partitions. The primary partition on the first hard drive will become c:, and the other partitions will pick up drive letters aclearcase/" target="_blank" >ccording to Windows rules.

Many versions of Linux, except for the newest ones, and Solaris must have a boot partition that is below the 1023th cylinder on the hard drive. The fdisk from Linux can set up four primary partitions or three primary and one extended. Like Windows, the extended partition can be further divided. The master IDE drive on the first channel is hda. Solaris requires a primary partition during installation that it will divide into two primaries. The first partition can be divided up into slices 0 through 7, with 2 being the overlap slice that shouldn't be modified by the user. Both Linux and Solaris have very powerful fdisk tools and can specify what type each partition will be. They can even say that a partition will be for Windows.

Formula

Step 1: Installing Windows

Do a regular Windows 98 installation according to the manual. Consider the 1023 cylinder limitations for the boot manager when you are partitioning the hard drive so don't make it too big. Since the hard drive has no partitions on it, the first time you boot it up, you will run fdisk, specify a partition, and exit fdisk. You will have to reboot, then format your partition by typing format c:, and then run the Windows setup program. Windows will be on partition 1.

Step 2: Installing Linux

Further partition the hard drive. Set up the extended partition on partition 4, dividing it as you desire for the Linux installation. You need at least two logical partitions, one for / and a swap partition. Many people set up several more, /home being the most common. Do the install. Make a floppy boot disk (this is critical). You will use the boot floppy in a later step to reestablish LILO. My habit is to install Linux at the high end of the hard drive so that after the installations are complete, the partitions are in numerical order according to the cylinders. A better reason for doing this is so you can modify Linux to live above cylinder 1023. Solaris can't do that, so I put it lower on the hard drive. For this article, I assume you're using two partititions: / in 5, swap in 6.

Step 2a: Modifying Linux

Some files on Linux need to be modified before we can move onto the Solaris install. First, modify /etc/lilo.conf as root. Change the line with /dev/hda5 in it for booting Linux to /dev/hda9. See Listing 1 for a sample /etc/lilo.conf file. Next, modify /etc/fstab. The line for hda5 needs to become hda9 and the swap line from hda6 to hda10. Listing 2 shows a modified /etc/fstab file. These changes are because of the way Solaris will install. Finally, trust me on this next part. Run fdisk /dev/hda and delete the extended partition, which will also delete your / and swap partitions. This is because of the way Solaris will install. We will re-establish these partitions later, so you won't lose any data. Make sure that you record the exact start and stop cylinders of the / and swap partitions. If done correctly, the only partition visible on the hard drive right now is Windows in partition 1.

Step 3: Installing Solaris 8

Put in the Solaris installation media and boot. The Solaris installation sequence should come right up. Run fdisk to establish partition 2 for Solaris. A catch in this step is the boundary cylinders on the hard drive. Give yourself a couple of cylinders buffer between the end of the your Windows partition and where you start the Solaris partition. Also allow some buffer between the end of your Solaris partition and the start of your Linux partition. I use a rule of thumb of two cylinders on each side. If you don't add this buffer, your installation will fail. Install what you want on partition 2. Note that Solaris will divide partition 2 into partitions 2 and 3 during the install. Late in the install process, you will have a chance to look at the filesystem layout. Partition 2 will be sliced up into / in s0, swap in s1, overlap will be in s2, and /export/home in s7. These four slices are the reason that in Step 2a we added four to several lines. After the Solaris install, Linux will see hda5 as hda9. If you use more than four slices in Solaris, you will have to modify Step 2a as appropriate. Reboot. Study Listing 3 to see what the partition table looks like after the Solaris installation, especially the cylinder buffers around the Solaris partitions.

Step 4: Boot Manager

Now you have three operating systems on your computer, but you can only access Windows and Solaris. We'll fix this by configuring LILO to give you all three. First, start a Linux install again and bring it to the point of partitioning the hard drive. Use fdisk and re-establish the partitions you previously deleted. Make sure you put the exact cylinder numbers in. You will probably have an option to use disk druid but use fdisk. Disk druid is a friendly disk partitioner, but it doesn't give you the cylinder control you need right now. You will see several messages about partitions having different logical and physical beginnings. This doesn't matter to us. Save the updated disk partitions and reboot using the boot floppy you made. Type linux root=/dev/hda9 at the LILO: prompt and log in. Edit /etc/lilo.conf, adding the lines other=/dev/hda3 and label=solaris to the end of it. Then run LILO using a special option: lilo -P ignore. The -P ignore option tells LILO to ignore any partition tables that it considers corrupt, which we have because of Solaris.

Using Your Triple-Boot Machine

Now you have a machine that can run Windows, Linux, and Solaris. When you turn it on, you will see the normal BIOS prompts and finally get a prompt LILO:. If you hit the tab key quickly, you will see the different operating systems available. Type in which one you want, and hit enter. The machine will then boot as if that OS is the only one on the machine. You will have to reboot to get to a different one. Still, this approach gives you three machines in the space of one, and it is free. You have only used tools that were part of the various operating systems.

Many of the steps may look like the ravings of a madman, but once you understand the impact of the various operating systems, especially Solaris, they make more sense. It's easy to set up a system to dual boot. Windows and Linux or Windows and Solaris set up easily, provided the hardware is supported. The hard part is when you want to combine Linux and Solaris 8. As a historical note, I've been setting up machines to triple boot for years. With Solaris 7, it was easier in some regards. Linux didn't give the error messages that you see working with Solaris 8, and it stayed in one primary partition. The biggest catch was that a native Solaris partition looks like a swap partition to Linux. This normally isn't a problem, but with Red Hat 6.2 and some other distributions, you have no control over which swap space is used.

The Linux install will reformat any swap partition it finds. This means that your Solaris distribution is gone and is being used as a Linux swap space, so I hope you have a backup. With Solaris 2.7, I would install Windows, then Solaris, and then Linux. During the Linux install, I would change the partition type of Solaris to something like FAT32 and complete the install. That way, the Linux installation would leave that fake Windows partition containing Solaris alone. After I finished and rebooted, I would change it back and set up LILO to boot the three systems. Solaris 8 invalidates this trick. If you change anything about the Solaris partitions using fdisk, you mess up Solaris' boot signature and it won't come up. As a sidenote, this last statement might not be totally true. I've used Linux's fdisk to manage the partitions. Some versions of Linux also have cfdisk and sfdisk. These are more powerful and also harder to use partitioning tools. These tools might be able to reslice the partition so that Solaris still works. Since they aren't universal, I didn't explore using them. Also, Linux can't install on a disk with the type of cylinder boundary problems that Solaris 8 creates. In other words, Solaris can't be installed before Linux.

Another new catch with Solaris 8 is that it requires two partitions on the hard drive. Remember that in this setup, partition 1 is Windows, and I specified that 4 be set up as an extended partition for Linux. There can only be four partitions, so this scheme leaves 2 and 3 for Solaris. Set it up for 2, and during the install it will add 3. Summarizing, partition 1 is Windows, 2 and 3 are Solaris, and partition 4 is extended and subdivided into logical partitions for Linux. All of these are below cylinder 1023 unless your Linux distribution can overcome this problem. Finally, remember the way that Solaris subdivides partition 2 internally. This means that some boot files need to be modified by the number of slices you set up during the Solaris installation. But, when you're using fdisk, you see those Solaris slices as one partition. It's a little confusing, but you can keep track of it by remembering the way the boot process works.

Alternatives

I've also done this basic procedure on a system with two hard drives, and it's considerably simpler. I put Linux on the second hard drive by itself and tweaked the procedure. First, put Windows in partition 1 on the first drive and Solaris in partition 2, which will become 2 and 3. Then, put Linux on hdb. Since you're not going to install Linux on hda, you don't have to worry about the problematic partition table.

Conclusion

The procedure I've described will result in a machine that can boot into three different operating systems. This can save you considerable desk space in the office or a lot of weight if you're on the road. The procedure is fairly complicated but doesn't cost anything. Be careful, because messing up a step can mean that you have to back up several steps or start from the beginning to recover. Always back up your data before trying anything like this. 
***********************************************************************************
[url]http://www.sun.drydog.com/faq/9.html#9.0[/url]

 C.Arthur 回复于:2004-02-28 21:00:40
支持一下

 THEBEST 回复于:2004-02-28 22:09:27
1. Install Windows. 

2. Install Linux in an extended partition. 

3. Install Solaris. 

4. Fix LILO. 


linux可以在extended partition安装吗?
它也要分/  swap至少,它就会变成主分区了.
还能装solaris?

 billshu 回复于:2004-02-29 00:54:59
As my experience, as long as you put /boot in a primary partition, and the rest can go to the extended partition., so you still got one primary partition left(if for one disk) for Solaris.

 soldiera 回复于:2004-03-01 12:05:30
如果有promise的一块raid卡 该怎么办?谢谢

 THEBEST 回复于:2004-03-01 12:41:28
[quote:e567150398="billshu"]As my experience, as long as you put /boot in a primary partition, and the rest can go to the extended partition., so you still got one primary partition left(if for one disk) for Solaris.[/quote:e567150398]但是你必需要有linux的swap呀,它也是一个primary partition.

so can't.!

 只用DOS 回复于:2004-12-12 19:31:33
[quote:7fa99650a0="THEBEST"]?悄惚匦枰?衛inux的swap呀,它也是一个primary partition.

so can't.![/quote:7fa99650a0]

/swap 可以不是主分区
证明部分版本的linux的/boot目录必须在第3主分区只前的分区,而一些linux,根本就可以全部安装在扩展分区中。如red-flag。
/swap必须有独立的分区,但可以不是主分区“primary partition.”。

一块硬盘可以有四主分区,一般安装多系统,可以这样分配空间。
第一主分区放windows/dos,因为第一主分区必须给微软所用不然是安装不了windwos的。当然第一主分区你可以不用来装windows,但是它的格式必须是fat或者ntfs。如果你要装98那就必须是fat或fat32了。

第二主分区,可以安装freebsd。

第三主分区,可以安装solaris。

第四主分区为扩展分区
在扩展分区下可分出n个磁盘分区

hda5 用于安装/boot
hda6 用于安装/
hda7 用于安装/swap
hda8 用于安装win98
hda9 用于安装winme’98和me的共存也需要注意
hda10用于安装winxp
hda11用于安装win2000
hda12用于安装其他
hda13用于安装其他

这些分区可以用来安装linux,但是由于/boot目录不在主分区,所以部分linux将无法安装成功,我记得red-hat是可以安装的。


还要注意一个问题,就是部分版本的linux不能认出hda16以后的分区,所以在扩展分区中尽量把linux分区放在前边

安装顺序,
win98/winme/win2000/winxp/freebsd/solaris/linux/beos

 climbmount 回复于:2004-12-12 19:57:18
先装solaris也可以啊,但是在装windows之前要先用工具备出solaris的引导扇区内容,备成文件,以便在Windows中启动Solaris。

原文转自:http://www.ltesting.net