On 2013-01-07 09:19, c c wrote:> i`ve found a bug in chain.c32 in v4.06. When i use isolinux it does not run
> windows7 installation, chainloading bootmgr.
> the error is: Can't find myself on the drive I booted from.
> chain.c32 from syslinux 3.xx works like a charm!
>
Did you use 'fs' as partition specification ? What were the options used
?
If you can compile, try this small patch (against 4.06), this will cover
whole disk as a candidate as well when fs_lba is considered:
diff --git a/com32/chain/chain.c b/com32/chain/chain.c
index 30153c4..b1a9ed8 100644
--- a/com32/chain/chain.c
+++ b/com32/chain/chain.c
@@ -353,10 +353,10 @@ int find_dp(struct part_iter **_iter)
/* 'fs' => we should lookup the syslinux partition number and use
it */
if (!strcmp(opt.drivename, "fs")) {
- while (!pi_next(&iter)) {
+ do {
if (iter->start_lba == fs_lba)
break;
- }
+ } while (!pi_next(&iter));
/* broken part structure or other problems */
if (iter->status) {
error("Can't find myself on the drive I booted from.\n");