标题: syslinux4.03升级至6.02无法启动本地硬盘 [打印本页] 作者: wangtimeboy 时间: 2014-9-16 09:04 标题: syslinux4.03升级至6.02无法启动本地硬盘 先前基于syslinux4.03做的服务器启动本地硬盘只需“KERNEL chain.c32”即可,更新服务器后,升级到syslinux6.02,发现只能使用“localboot 0”等基于localboot.c32的方式启动本地硬盘,但升级后的服务器只对单位的台式机有效,全部联想一体机都无法进入,且停留在显示“Booting from local disk PXE-MOF:Exiting PXE ROM”状态!请高手给予帮助!谢谢作者: wangtimeboy 时间: 2014-9-16 16:30
LOCALBOOT
Certain models of computers, sometimes specific to BIOS and BIOS extension versions, do not work well with at least certain (but sometimes all) LOCALBOOT options (as of v3.70, available in all variants however PXELINUX interprets the option differently). As a workaround, use chain.c32 like this:
LABEL localboot
MENU LABEL Boot from first hard drive
COM32 chain.c32
APPEND hd0
This is also equivalent to the command line "chain.c32 hd0". Omitting the partition number (as in these examples), implies partition number 0 (MBR).
LOCALBOOT on HP ProLiant servers
The LOCALBOOT option doesn't work reliably on G5 and older HP ProLiant servers because of BIOS defect QXCR1001064253.
LOCALBOOT on Dell Latitude E6400
The E6400 with BIOS A14, A25, A27, and A28 (probably all) has an issue with using "LOCALBOOT 0" from PXELINUX. "LOCALBOOT -1" in PXELINUX is known to work. This issue probably also affects the E6500 and possibly the E5500, E5400, Precision M4400 and M6400 as in the past model selections like these from the same generation share a lot of their BIOS code.
LOCALBOOT on Dell Latitude E6410
This is currently under discussion with Dell. Currently, when using LOCALBOOT on a Dell Latitude E6410 with BIOS revisions A04 and A07, different results will occur. -1 results in a reboot. 0 results in a hang. This issue probably also affects the E6510 and possibly the E5510, E5410, Precision M4500 and M6500 as in the past model selections like these from the same generation share a lot of their BIOS code.
LOCALBOOT on Dell PowerEdge c6220
'LOCALBOOT 0' will hang or reboot the machine. This was tested with 4.04, 4.06-pre14, 4.10-pre17 and 4.10-pre22 (all with BIOS version 1.0.28 A02) The chain.c32 workaround will work properly, or you can install the patch from this post: http://www.syslinux.org/archives/2012-July/017880.html
based on commit 0a0e0e41cad93cd16c323cf16f40264a21eedd6c of the git.kernel.org/pub/scm/boot/syslinux/syslinux.git repository.
+ ; Copy chunk of memory used by Dell BIOS on OptiPlex 790s
+ ; Allows control to return to PXE Boot Agent for localboot
+ mov esi,47cch
+ mov edi,DellBIOSChunk
+ mov ecx,13
+ rep movsd
+
%if 0 ; debugging code only... not intended for production use
; Clobber the stack segment, to test for specific pathologies
mov di,STACK_BASE
@@ -289,6 +296,14 @@ local_boot:
; Restore the environment we were called with
pm_call reset_pxe
call cleanup_hardware
+
+ ; Copy Dell BIOS chunk back into place
+ cld
+ mov esi,DellBIOSChunk
+ mov edi,47cch
+ mov ecx,13
+ rep movsd
+
lss sp,[InitStack]
pop gs
pop fs
@@ -564,3 +579,6 @@ IPInfo:
.ServerIP resd 1
.GatewayIP resd 1
.Netmask resd 1
+
+ section .earlybss
+DellBIOSChunk resd 13 ; 52 bytes to store Dell BIOS chunk
LOCALBOOT on IBM x3850 X5
The LOCALBOOT cannot work properly on IBM x3850 X5 server. The solution is users have to update the uEFI firmware with the latest version 1.32 then using chain.c32 module and following syntax to boot up the first hard drive:
LABEL localboot
MENU LABEL Boot from first hard drive
COM32 chain.c32
APPEND hd0 0 作者: xzdn9527 时间: 2014-9-19 11:07
试试这样看行不行