- 莫妮卡住了
-
solaris 这个没用过,但是理解你的意思,不过要是现学习太麻烦了,所以粘答案了哈~,肯定是对的,仔细看看吧,讲的很详细。
标题:Solaris10 X86&Windows双系统Grub引导修复解决方案 作者:redking 时间:2008-04-03 14:43[b]问题说明:[/b]
1、在一个实验室中集体安装Solaris,实验室只有一台教师机有光驱,在教师机上首先安装Solaris b79。然后又安装了Windows,并且使用 Solaris的Grub作为引导程序。
2. 由于重装Windows,会重新覆盖 MBR,导致Grub不能使用,不能直接启动Solaris。
3. 把教师机上的操作系统全部ghost到所有学生机中,学生机还是一样的问题,不能直接启动Solaris,而且学生机没有光驱。
[b]问题解决方法:[/b]
[b]1. 教师机解决方案(有光驱)[/b]
=需要Solaris X86的第一张CD光盘或者DVD光盘,就可以重新安装Grub=步骤:
1)设置机器并从Solaris X86光盘启动
2)在出现Grub界面的时候,按“c”进入grub命令模式
3)在grub命令模式下,找到硬盘上已安装的Solaris系统(两种方法选择其一即可)
grub>find /platform/i86pc/multiboot
(hd0,1,a) ----------系统输出内容(第1块硬盘第二个fdisk分区中的第一个slice)
或者
grub>find /boot/grub/menu.lst
(hd0,1,a)
4) 得到Solaris系统安装所在的硬盘编号后,将它设为root device
grub>root (hd0,1,a)
Filesystem type is ufs, partition type 0xbf
5) 指定boot和archive文件,最后直接由grub界面启动Solaris X86系统
grub>kernel /platform/i86pc/kernel/unix
grub>module /platform/i86pc/boot_archive
grub>boot
此时系统直接从grub命令模式启动Solaris X86系统
6) 进入Solaris后,使用root身份安装grub,最后重新启动系统
#cd /usr/sbin
#installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d0s0 (重新安装grub)
输出:Updating master boot sector destorys existing boot managers (if any) Continue (y/n)? y
stage1 written to partition 1 sector 0 (abs 31455270)
stage2 written to partition 1, 233 sectors starting at 50 (abs 31455320)
stage1 written to master boot sector
#reboot (重启)
其中c0d0s0是所安装的Solaris X86系统的根卷所在位置,该命令会将Grub文件安装到该硬盘的MBR,至此重新启动
7) 重新启动后系统即可将grub修复完成。
[b]2. 学生机解决方案(无光驱)[/b]
1)在Windows中设置安装Solaris的分区为活动分区(两种方法选一)
a. 在Windows 我的电脑->管理->磁盘管理, 找到安装Solaris的分区并设为活动分区
b.用PQ找到安装Solaris的分区并设为活动分区
2)重启电脑。由于MBR被改变了,活动分区也变了,所以Windows也进不去了。这个时候就会重新进入grub引导模式。
3)进入Grub引导模式后,就按照上面教师机的解决方案中从第3)步开始设置并最后修复grub。修复完成之后Solalris会自动认到Windows并在grub中显示,如果没有显示就进入Solaris中修改/boot/grub/menu.lst。
问题原因:
1、在同一台X86机器上即安装了Solaris 1/06, 又安装了Windows,并且使用 Solaris的Grub作为引导程序。2、由于重装Windows,会重新覆盖 MBR,导致Grub不能使用,不能直接启动Solaris。
问题解决方法:
需要Solaris X86 1/06的第一张CD光盘或者DVD光盘,就可以重新安装Grub
步骤:
1)设置机器并从Solaris X86 1/06光盘启动
2)在出现Grub界面的时候,按“c”进入grub命令模式,如下界面:
GNU GRUB version 0.95 (640K lower /1046043K upper memory)
Solaris
Solaris Serial Console ttya
Solaris Serial Console ttyb (for lx50,v60 and v65x)
Use the arrow up and arrow down keys to select which entry is highlighted.
Press enter to boot the selected OS,"e"to edit the commands before booting, or "c" for a command-line.
The highlighted entry will be booted automatically in 60 seconds.
3)在grub命令模式下,找到硬盘上已安装的Solaris系统(两种方法选择其一即可,在find的时候软驱会很响,不用担心大概10秒左右结果就输出了)
grub>find /platform/i86pc/multiboot
(hd0,1,a) ----------系统输出内容
grub>find /boot/grub/menu.lst
(hd0,1,a) ----------也可以用查找boot menu文件的方法得到同样的结果
4) 得到Solaris系统安装所在的硬盘编号后,将它设为root device
例子里的(hd0,1,a),指的是第1块硬盘第二个fdisk分区中的第一个slice。
grub>root (hd0,1,a)
Filesystem type is ufs, partition type 0xbf
5) 指定boot和archive文件,最后直接由grub界面启动Solaris X86系统
grub>kernel /platform/i86pc/multiboot
输出:[Multiboot-elf,<0x1000000:0x13ab3:0x12906>,shtab=0x1027258,entry=0x1000000]
grub>module /platform/i86pc/boot_archive
输出:[Multiboot-module @ 0x1034000,0x45bd000 bytes]
grub>boot
此时系统直接从grub命令模式启动Solaris X86系统(有ufs挂接的系统启动)
如果记不住这些命令,我们可以借助menu.lst文件,其实这个文件是原grub用于启动的菜单,并含有这些启动命令,可供我们参考。一般这个文件的位置在/boot/grub/menu.lst,我们可以使用cat显示内容。
grub>cat /boot/grub/menu.lst
6) 进入Solaris后,使用root身份安装grub,最后重新启动系统
#/usr/sbin/installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d0s0
输出:Updating master boot sector destorys existing boot managers (if any)
Continue (y/n)? y
stage1 written to partition 1 sector 0 (abs 31455270)
stage2 written to partition 1, 233 sectors starting at 50 (abs 31455320)
stage1 written to master boot sector
# init 6
其中c0d0s0是所安装的Solaris X86系统的根卷所在位置,该命令会将Grub文件安装到该硬盘的MBR,至此重新启动
7) 重新启动后系统即可将grub修复完成。
附件(/boot/grub/menu.lst有效语句):
# default menu entry to boot ======定义默认启动的系统序列号
default 2 ======以本例所示:Solaris 10 11/06 s10x_u3wos_10 X86为default 0
Solaris failsafe为default 1
Windows2003Server为default 2
Diagnostic Partition为default 3
# menu timeout in second before default OS is booted ======定义系统等待选择时间
# set to -1 to wait for user input
timeout 10
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- ======定义SolarisX86系统正常启动参数
title Solaris 10 11/06 s10x_u3wos_10 X86
root (hd0,1,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- ======定义SolarisX86系统故障启动参数
title Solaris failsafe
root (hd0,1,a)
kernel /boot/multiboot kernel/unix -s
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------
title Windows 2003 Server ============定义Other OS启动参数
rootnoverify (hd0,0)
chainloader +1
title Diagnostic Partition ============定义Other OS启动参数
rootnoverify (hd0,2)
chainloader +1
如果记不住这些命令,我们可以借助menu.lst文件,其实这个文件是原grub用于启动的菜单,并含有这些启动命令,可供我们参考。
一般这个文件的位置在/boot/grub/menu.lst,我们可以使用cat显示内容。
grub> cat /boot/grub/menu.lst
grub引导硬盘分区使用命令进行引导
2010-03-04 16:24 来源:watchstor.com 我要评论(0)
摘要:用grub引导硬盘分区,在命令提示符下键入以下命令:find /solaris/multiboot会显示hd(0,5),这里的hd(0,5)即我的E盘。注意,你的grub引导硬盘分区可能和我的不同,因此显示也会不同,请参考grub引导硬盘分区的相关资料。然后再键入以下命令进行引导.
标签:grub引导硬盘分区
在向大家详细介绍grub引导硬盘分区之前,首先让大家了解下grub引导硬盘分区,然后全面介绍grub引导硬盘分区,希望对大家有用。硬盘安装Solaris 10
1. 分区简介:(以我的硬盘为例,只做参考)
第一主分区 10G C盘NTFS格式安装Windows XP
第二主分区 15G 空闲未分配准备留给Solaris 10
扩展分区分为三个逻辑盘:
D盘 24G NTFS格式
E盘 26G FAT32格式
F盘 3GFAT32格式
2. 准备过程:在E盘建一个solaris的文件夹,然后用WinRAR或者虚拟光驱打开sol-10-u2-ga-x86-dvd.iso,将里面boot目录下的multiboot和x86.miniroot这两个文件提取出来,放在solaris文件夹中,然后把sol-10-u2-ga-x86-dvd.iso镜像文件也放在solaris文件夹中。(其实这三个文件放在任何地方都可以,但必须是在FAT32分区中)
3. 用grub引导:
用grub或grub for dos引导,在命令提示符下键入以下命令:find /solaris/multiboot会显示hd(0,5),这里的hd(0,5)即我的E盘。注意,你的grub引导硬盘分区可能和我的不同,因此显示也会不同,请参考grub的相关资料。然后再键入以下命令进行引导:
kernel hd(0,5)/solaris/multiboot kernel/unix -B install_media=dsk
module hd(0,5)/solaris/x86.miniroot
boot
如果一切顺利的话,应该就可以进入引导画面。
4. 利用安装过程中出现的shell进行虚拟光驱正确引导以后,
首先会出现6个安装模式选项,选择1或者等待超时(默认是1)。这时屏幕上会出现类似的如下提示:
NOTICE: rtls0 -- link down
ERROR: Unbale to configure network inteface
Exiting to shell
# NOTICE: rtls0 -- link up 100Mbps Full_puplex
grub引导硬盘分区这时候安装程序会停止,光标会停止不动。这时敲一下回车,会出现shell提示符 #这个shell是可以用的,敲几个简单的命令试试。有了这个shell就好办了,我们可以用它进行虚拟光驱。首先要知道E盘在Solaris中是怎么表示的:
cd /dev/dsk然后ls看一下,里面有类似c0d0p0,c0d0p1,c0d0p2,c0d0p3,c0d0p4的设备。这里c0d0p0对应我的硬盘,c0d0p1至c0d0p4分别对应4个主分区,可是,Solaris没有设备符号用来对应扩展分区中的逻辑分区。
我们该如何mount扩展分区中的E盘、F盘呢?Solaris用了一种很奇怪的设备符号来表示硬盘中的FAT32分区:c0d0p0:x,这儿x的取值为:1,2,3...,分别表示硬盘中的第1个、第2个、第3个FAT32分区,依此类推。
即我的grub引导硬盘分区中的第1个FAT32分区(E盘)可以表示为c0d0p0:1、第2个FAT32分区(F盘)可以表示为c0d0p0:2。注意,不要用诸如c0d0p3:x(这儿c0d0p3对应我的扩展分区,x表示扩展分区中的第x个FAT32分区)这种方式来表示扩展分区中的FAT32分区。
当扩展分区的最后一个分区是FAT32、以c0d0p3:x这种设备符号mount它时会出错,使用c0d0p0:x这种方式表示FAT32分区则没有任何问题。赶紧把E盘mount上去吧:mount -F pcfs /dev/dsk/c0d0p0:1 /mnt然后进入mnt目录下去看看吧,应该可以看到E盘的文件了。这时候就可以用Solaris的DVD镜像做虚拟光驱了。
lofiadm -a /mnt/solaris/sol-10-u2-ga-x86-dvd.iso mount -F hsfs /dev/lofi/1 /cdrom #(必须mount在/cdrom目录中)再进入cdrom里面去看看吧,应该成功了。这时系统会认为光驱里面有光盘了。等这一切做完之后,然后键入 exit ,就会退出shell,安装程序会自动继续进行下去。
5. 进入图形化grub引导硬盘分区界面后,我就不再多说了吧........ ^_^
- 可可科科
-
你去找一下原来机器上的grub的menu.lst。看看人家是怎么启动的。
- 大鱼炖火锅
-
你确认你恢复到c0d0s0的是Solaris X86的系统吗? 如果是Sparc的肯定启动不了,硬件不支持。