Notes:安装SLES(SuseLinuxEnterpriseServer)前先打开安装盘,搜索“kernel”,看其版本是否与想要的版本相符(通常为2.6.5-7.97)。另,SLESSP3补丁中kernel为2.6.5-7.244。
1、SLES9安装过程中格式化硬盘死机问题
(1)现象描述
按常远见方式安装,多数情况下会出现格式化LINUX分区后硬盘灯长亮,安装过程无法继续的问题,无论等多久。据说测试部的解决方法就是不断换电脑,一般要换四五台,碰巧了才能装上。我就没碰巧,换了六七台也不行。
(2)原因分析
具体原因是,联想开天M4000计算机用的是SATA接口的硬盘(“设备管理器”中IDE、SATA硬盘显示的都是ATA/ATAPI控制器,UltraATA控制器,这种方式好像看不出来是啥接口),而LINUX默认使用IDE接口的驱动程序,所以不用安全模式就是装不上。
(3)解决方法
偶然发现,在安装界面上选800*600分辨率,同时用SafeSettings模式安装就可以继续进行下去。
2、如何打补丁?
在光驱中放入SP3-CD1,打开YaST|Software|PatchCDUpdate,按提示操作即可。
3、SLES9打补丁不良影响之一,打补丁结束,系统丢失问题。
(1)现象描述
打补丁SP3后重启系统,出现如下提示:
QUOTE: |
……
RAMDISK:Compressedimagefoundatblock0
VFS:Mountedroot(ext2filesystem)
Startingudev
Creatingdevices
Loadingkernel/drivers/scsi/scsi_mod.ko
SCSIsubsysteminitialized
Loadingkernel/drivers/scsi/sd_mod.ko
Loadingkernel/drivers/scsi/libata.ko
Loadingkernel/drivers/scsi/ata_piix.ko
PCI:FoundIRQ11fordevice0000:00:1f.2
PCI:SharingIRQ11with0000:00:1f.3
PCI:SharingIRQ11with0000:01:02.0
Ata:0x170IDEportbusy
Ata:SATAmaxUDMA/133cmd0xF0ctl0x3F6bmdma0xF0000irq14
Ata1dev0atamaxUDMA/133,156301488sectors
Ata1dev0configuredforUDMA/133
SCSI0:ata_pixx
Vendor:ATAModelWDCWD800BD-88JMRev:05.0
Type:Direct-AccessANSISCSIrevision:05
SCSIdevicesda:156301488512-bytehdwrsectors(80026M)
SCSIdevicesda:devicecache:writeback
Sda:sda1sda2
Attachedscsidisksdaatscsi0,channel0,id0iwn0
Loadingkernel/fs/jbd/jbd.ko
Loadingkernel/fs/ext3/ext3.ko
Waitingfordevice/dev/hda8toappear:……notfound…devicenodes:
Consolediskfb0fullinputkmemkmsgloop0loop1loop2loop3loop4loop5loop6loop7md0memnullportpsauxptmxptya0ptya1ptya2ptya3ptya4ptya5ptya6ptya7ptya8ptya9ptyaaptyabptyacptyadptyaeptyafptyb0ptyb1……
Norootdevicefound:exitingto/bin/sh
Sh:can’taccesstty:jobcontrolturnedoff
然后就什么也没有了,系统丢失,从屏幕提示看,此时已经过了grub,处于linux加载过程中,想修复比较麻烦。
(2)问题分析
经网上搜索,得到各种答案,有的说硬盘已满,有的建议手工修复等等,经尝试各种方法均失败,只有如下一条最终奏效,
Talkaboutashotinthedark...butheregoesnothing.I''mgoingtomaketwoassumptions,ifeitheriswrong,forgivethewastedbandwidthandignoretherest.
Areyouusingsatadrive(s)andinyourinstallbeforeupdatesweretheymountedas/dev/hdx?
Ihaveheardthatinsomedistros(don''tknowaboutsles)somekernelupdatescausedsataharddrivestobemountedasscsideviceswhereoriginallytheyweremountedasidedevices.SinceIneverreallyhadtheproblem,Ididn''tread/persuethesolutionsveryclosely.
Iseemtorememberasuggestiontocheckthebiosandsetthesatadrivesaslegacyorsomethinglikethatinordertoforcetheostomountasregularidetypedevices.
Ialsorecallasuggestiontochange/dev/hdxreferencesingrubandfstabto/dev/sdx(mightmakeabackupfirst).
Asisaid...ashotinthedarkthatIhaven''ttried/testedandmaynotevenapplytoyou.
Goodluck!
(3)解决方法
上述资料中说的与上面贴的LINUX启动失败的屏幕提示非常吻合,经尝试,第二种方法(更改grub及/etc/fstab为sdx)不奏效,于是到BIOS里更改SATA总线访问方式:
Integratedperipherals|OnChipIDEDevice[PressEnter]|On-ChipSerialATA[Auto],改为SATAOnly(SATAisoperatinginlegacymode)。
(4)修改BIOS的不良影响:
按上述方法修改BIOS,将导致光驱不可用,包括自动引导功能(即使BIOS中firstbootdevice选CDROM)。
4、打补丁不良影响之二,grub无法解析配置文件,引导失败。
(1)现象描述:
打补丁SP3后重启系统,在grub界面出现如下提示:
…Parseerror…
(2)原因分析:
这是由于打补丁过程中,更改了系统原来的grub配置文件/boot/grub/memu.lst导致。
CD启动进入系统后发现,menu.lst已被改为如下内容:
QUOTE: |
#ModifiedbyYaST2.LastmodificationonFriMar716:52:572008
Colorwhite/blueblack/light-gray
Default0
Timeout8
Gfxmenu(null)/
###Don’tchangethiscomment–YaST2identifier:Originalname:linux###
TitleLinux
Kernel(null)/root=vga=0x314selinux=0splash=silentide=nodmaapm=offacpi=offbarrier=offresume=/dev/hda7elevator=cfqshowopts
Initrd(null)/
###Don’tchangethiscomment–YaST2identifier:Originalname:windows###
……
注:插句题外话,进系统后分辨率很难调,也不好确定到底是什么显卡及显示器,但发现安装时选的高分辨率立刻就奏效,最终发现是通过kernel中的vga参数传给内核的,这样就覆盖了系统中的/etc/X11/XFree86config中的显示配置。
常见分析率对应的参数是,
vga=0x314800*600
vga=0x3171024*768
vga=0x31a1280*1024
从上述内可知,引导位置都被更改为null了,导致grub无法找到系统所在的位置。
(3)解决方法:
把/boot/grub/menu.lst改为如下内容,重启动系统即可:
QUOTE: |
#ModifiedbyYaST2.LastmodificationonFriMar716:52:572008
Colorwhite/blueblack/light-gray
Default0
Timeout8
Gfxmenu(hd0,7)/boot/message
###Don’tchangethiscomment–YaST2identifier:Originalname:linux###
TitleLinux
Kernel(hd0,7)/boot/vmlinuzroot=vga=0x314selinux=0splash=silentide=nodmaapm=offacpi=offbarrier=offresume=/dev/hda7elevator=cfqshowopts
Initrd(hd0,7)/boot/initrd
###Don’tchangethiscomment–YaST2identifier:Originalname:windows###
……
上述内容中“(hd0,7)”为本PC中SLES的安装位置,读者在其他PC上安装时,请根据具体情况修改。
下载本文示例代码