[syslinux] extlinux troubles....

Somchai Smythe buraphalinuxserver at gmail.com
Fri Nov 9 03:39:10 PST 2018


Hello List Members,

I have a machine that has used extlinux to boot for many years, but
the hard disk needs to be replaced.  I got a new hard disk and
installed it in my system.  The old disk is /dev/sda, and the new one
is /dev/sdb.  I'm using GPT partitioning, and I did (after a day)
finally get the legacy bootable flag set on /dev/sdb for the boot
partition /dev/sda1.  I then formatted out the /dev/sdb partitions and
copied all the data from /dev/sda to /dev/sdb.  So far, so good.

It appears, however, to be impossible (for me) to install extlinux
from /dev/sda to /dev/sdb and then remove the old disk and boot the
new one as /dev/sda.

Surely it must be possible, but it comes up with a message telling me
it cannot find the config file and that DEFAULT and UI are not set.
If I try typing in stuff at the 'boot:' prompt, nothing really works.
It shows a version banner once before the error about the config file,
but says SYSLINUX instead of EXTLINUX, it's in text mode, and
basically it cannot access the /boot partition where everything is.  I
tried every combination of path to the kernel I could think of (it's
really in /boot/vmlinuz-4.19) without success.  I tried both
extlinux.conf and syslinux.conf names but it just doesn't find them.

If I put the old disk back in, reboot the machine from the old disk,
mount the new disk, everything is there.  I tried mounting directly
and installing extinux, and also mounting through a loopback device
and installing extlinux, but it always says /dev/sdb in the message
when I run the extlinux utility, and I wonder if the poor software
somehow just doesn't "adapt" to being /dev/sda once the old /dev/sda
is removed.  It seems like it's hard-coded itself to only work if it
is /dev/sdb, and it won't be that when it's the only hard disk.

Clearly I'm doing it wrong.  I tried for days hunting with search
engines but couldn't find anything.  Everybody was booting on USB or
DVD and installing extlinux on a drive that was /dev/sda (or /dev/hda
for some old posts).  Do I really have to build and burn a bootable
DVD just to install extlinux (by ensuring the new drive really is
/dev/sda at the time I run extlinux)?

My old boot system does not use an initrd, and since I copied
everything from that disk, I believe the kernel, modules, firmware,
etc. should all be fine.

I hope somebody on this list has done this before and can tell me what
I need to do to get this working.  It is syslinux version 4.07 if that
matters.


More information about the Syslinux mailing list